Rokasgrāmatas

Kā pievienot paziņojumus lietotnei: lietotnē, e-pastā un push

Lai tīmekļa lietotnei pievienotu paziņojumus, sāciet ar paziņojumiem lietotnē: paziņojumu tabulu datubāzē un zvana ikonu, kas rāda nelasītos vienumus. Pievienojiet e-pastu lietām, par kurām cilvēkam jāzina, kad viņš nav klāt, izmantojot e-pasta sniedzēju, un pievienojiet web push tikai tad, kad laikus nosūtīti brīdinājumi ir svarīgi, jo tam vajadzīgs servisa darbinieks, lietotāja atļauja un iPhone gadījumā lietotne, kas saglabāta sākuma ekrānā. Neatkarīgi no izmantotajiem kanāliem katru paziņojumu izveidojiet vienuviet serverī un ļaujiet lietotājiem izvēlēties, ko saņemt.

Šajā rokasgrāmatā salīdzināti kanāli, parādīta vienkārša arhitektūra un doti uzdevumi, ko var izmantot ar MI lietotņu veidotāju.

Galvenie kanāli salīdzinājumā

KanālsKad lietotājs to sasniedzUzstādīšanas pūlesDarbības izmaksasLabākais izmantojums
Lietotnē (zvans, īsi ziņojumi)Kad viņš izmanto jūsu lietotniZemasNav, izņemot datubāziAktivitāte, pieminēšanas, statusa izmaiņas
E-pastsJebkurā laikā, kad pārbauda e-pastuVidējas: sniedzējs, domēna iestatīšanaMaksa par e-pastu pēc sniedzēja cenāmKvītis, kopsavilkumi, viss svarīgais
Web pushPārlūkā vai instalētā tīmekļa lietotnē, pat ja tā ir aizvērtaVidējas līdz augstasParasti bez maksas sūtīšanaiLaikā jutīgi brīdinājumi
SMSGandrīz vienmērVidējas; spēkā ir piekrišanas noteikumiMaksa par ziņojumuAtgādinājumi par vizītēm, steidzami brīdinājumi
Čata rīki (Slack, Teams)Kad viņi ir darbāZemas līdz vidējasParasti bez maksasIekšējie rīki un komandas brīdinājumi

Vairumam lietotņu vajadzīgi paziņojumi lietotnē un e-pasts. Push un SMS ir vērti, kad laiks patiešām ir svarīgs, piemēram, atgādinājums par rezervāciju vai pasūtījums, kas ir gatavs.

Kā sistēma darbojas kopā

Turiet to vienkāršu un centralizētu:

  1. Kaut kas notiek. Tiek ievietots komentārs, neizdodas maksājums, rezervācija ir rīt.
  2. Jūsu serveris izsauc vienu funkciju, piemēram, notify(user, type, data).
  3. Šī funkcija pārbauda lietotāja iestatījumus un ieraksta rindu tabulā notifications (zvanam).
  4. Pēc tam tā sūta uz citiem kanāliem, kurus lietotājs šim tipam ir ieslēdzis: e-pastu caur jūsu sniedzēju, push caur Push API.
  5. Priekšgalā tiek rādīti nelasītie paziņojumi, un tie atzīmējami kā lasīti, kad tos atver.

Viena ieejas vieta nozīmē, ka kanālu var pievienot, tekstu mainīt vai iestatījumus ievērot, neizmeklējot visu kodu.

Ko glabāt

Paziņojumu tabulai parasti vajag: lietotāja ID, tipu (piemēram, comment_reply), īsu virsrakstu un tekstu, saiti uz attiecīgo lapu, izveides laiku un lasīšanas laiku. Atsevišķā iestatījumu tabulā glabā, kurus kanālus katrs lietotājs vēlas katram tipam.

Jaunu paziņojumu rādīšana

  • Ielādēt, skatot lapu, un aptaujāt ik pēc 30–60 sekundēm. Vienkārši un uzticami.
  • Reāllaika atjauninājumi ar WebSockets vai server-sent events šķiet tūlītēji, bet pievieno kustīgas daļas. Sāciet ar aptauju, ja tūlītēji atjauninājumi nav svarīgi.

E-pasta paziņojumi

E-pastam vajadzīgs sūtīšanas sniedzējs un pārbaudīts domēns; detaļas ir kā sūtīt e-pastus no lietotnes. Konkrēti paziņojumiem:

  • Sūtiet no servera, nekad ar sniedzēja atslēgu pārlūkā.
  • Apvienojiet biežus notikumus. "3 jauni komentāri" vienā e-pastā ir labāk nekā trīs e-pasti.
  • Piedāvājiet ikdienas vai iknedēļas kopsavilkumu zema prioritātes aktivitātēm.
  • Iekļaujiet atteikšanās vai iestatījumu saiti e-pastos, kas nav obligāti. Noteikumi par mārketinga e-pastiem atšķiras pa valstīm; pārbaudiet, kas attiecas uz jums.

Web push paziņojumi

Web push ļauj jūsu vietnei sūtīt brīdinājumus, kas parādās kā lietotnes paziņojumi. Saskaņā ar MDN Push API dokumentāciju tas darbojas šādi:

  1. Jūsu vietne reģistrē servisa darbinieku — skriptu, ko pārlūks var palaist fonā.
  2. Pēc tam, kad lietotājs piekrīt, servisa darbinieks abonē caur PushManager.subscribe(). Pārlūks atgriež abonementu ar galapunktu un šifrēšanas atslēgām.
  3. Jūsu serveris saglabā šo abonementu un, kad kaut kas notiek, nosūta ziņojumu uz galapunktu, parasti parakstītu ar VAPID atslēgām (atslēgu pāris, kas identificē jūsu serveri).
  4. Pārlūks palaiž jūsu servisa darbinieku, kas parāda paziņojumu pat tad, ja jūsu lapa nav atvērta.

MDN arī norāda, ka galapunkts jātur slepens, jo tā zināšana ir pietiekama, lai uz šo lietotāju nosūtītu ziņojumus.

iPhone un iPad

WebKit no iOS un iPadOS 16.4 pievienoja Web Push tīmekļa lietotnēm ar diviem nosacījumiem no tā paziņojuma: vietne ir jāpievieno sākuma ekrānam, un atļauja jāpieprasa lietotāja darbības rezultātā, piemēram, pieskaroties pogai Abonēt. Tātad iPhone push sasniedz tikai tos lietotājus, kuri ir instalējuši jūsu tīmekļa lietotni. Skatiet natīvās un progresīvās tīmekļa lietotnes, lai uzzinātu, ko nozīmē tīmekļa lietotnes instalēšana.

Kā pareizi prasīt atļauju

Nejautājiet pirmajā apmeklējumā. Vispirms izskaidrojiet ieguvumu ("Saņemiet atgādinājumu stundu pirms nodarbības"), tad parādiet pārlūka uzvedni, kad lietotājs pieskaras pogai. Ja kāds atsakās, pārlūks var neļaut jautāt vēlreiz, tāpēc pāragra uzvedne var zaudēt viņu pavisam.

Ieplānotajiem paziņojumiem vajag sākumpunktu

"Atgādinājums 24 stundas iepriekš" vai "iknedēļas kopsavilkums katru pirmdienu" prasa kaut ko, kas darbojas pēc grafika. Tā ir fona uzdevumu problēma, ko aplūko kā palaist fona uzdevumus. Bieži izmantots modelis: ārējs plānotājs ik pēc dažām minūtēm izsauc aizsargātu galapunktu, un šis galapunkts nosūta visu, kas ir gaidāms.

Uzvednes, ko dot savam MI lietotņu veidotājam

Sāciet ar paziņojumiem lietotnē:

Pievieno paziņojumus lietotnē. Izveido tabulu notifications (user, type, title, body, link, created_at, read_at). Pievieno servera funkciju notify(userId, type, data), ko izsauc katra funkcija. Galvenē rādi zvana ikonu ar nelasīto skaitu, nolaižamo sarakstu ar pēdējiem 20 un pogu "atzīmēt visus kā lasītus". Jaunus meklē ik pēc 60 sekundēm.

Pēc tam iestatījumi un e-pasts:

Pievieno paziņojumu iestatījumus: katram tipam (atbildes uz komentāriem, pieminēšanas, norēķini) lietotājs izvēlas lietotni, e-pastu, abus vai nevienu. notify() jāievēro šos iestatījumus. Sūti e-pastus caur [SNIEDZĒJS], izmantojot noslēpumu [ENV_NAME] tikai serverī. Grupē komentāru e-pastus, lai viens lietotājs saņem ne vairāk kā vienu e-pastu ik pēc 15 minūtēm.

Pēc tam push, ja tas jums vajadzīgs:

Pievieno neobligātus web push paziņojumus. Reģistrē servisa darbinieku, ģenerē VAPID atslēgas un privāto atslēgu glabā kā noslēpumu. Pievieno pogu "Iespējot paziņojumus" iestatījumos, kas prasa atļauju tikai pēc klikšķa. Glabā katru abonementu katram lietotājam un ierīcei, sūti push no notify(), kad lietotājs ir piekritis, un dzēs abonementus, ko push pakalpojums ziņo kā beigušos.

Biežākās kļūdas

  • Paziņojumu kods izkaisīts pa visu projektu. Katra funkcija sūta savus e-pastus citādi, un iestatījumi tiek ignorēti. Izmantojiet vienu funkciju notify().
  • Push atļaujas prasīšana lapas ielādē. Vairums cilvēku atsakās, un otrreizējas iespējas var nebūt.
  • Nav iestatījumu. Lietotāji, kas nevar izslēgt kaitinošus brīdinājumus, izslēdz visus vai aiziet.
  • Sūtīšana no pārlūka. E-pasta un push atslēgām jāatrodas serverī.
  • Nenotīrīti miruši push abonementi. Beigušies abonementi uzkrājas un izšķiež sūtījumus.
  • Sensitīva informācija paziņojuma tekstā. Bloķēšanas ekrāni to rāda. "Jums ir jauna ziņa" ir drošāk nekā pati ziņa.
  • Nav ieraksta par nosūtīto. Kad lietotājs saka "es nesaņēmu e-pastu", žurnāli ar sniedzēja ziņojumu ID palīdz noskaidrot iemeslu.

Kontrolsaraksts

  • Viena serverpuses funkcija notify(), ko izmanto visur
  • Paziņojumu tabula ar lasīšanas statusu un zvans ar nelasītu skaitu
  • Katra tipa kanālu iestatījumi, ko ievēro notify()
  • E-pasts sūtīts no servera ar pārbaudītu domēnu; kopsavilkums vai grupēšana biežiem notikumiem
  • Push atļauja prasīta tikai pēc lietotāja darbības, ar paskaidrojumu
  • Push pārbaudīts darbvirsmā un iPhone ar lietotni, kas pievienota sākuma ekrānam
  • Beigušies push abonementi noņemti
  • Nav sensitīva satura push vai e-pasta priekšskatījumos
  • Ieplānotajiem atgādinājumiem ir uzticams sākumpunkts

Paziņojumi Mythex

Mythex nav iebūvēta e-pasta vai push pakalpojuma lietotnēm, ko veidojat, tāpēc paši nodrošināt e-pasta sniedzēju un paši ģenerēt push atslēgas, kas glabājas kā projekta noslēpumi. Daļa lietotnē vajag tikai projekta datubāzi, ko Mythex pievieno, kad to pieprasāt. Veidojiet ar iepriekš minētajām uzvednēm, pārbaudiet zvanu un e-pastus priekšskatījumā un pārbaudiet push publicētajā URL, jo servisa darbinieki un push vajag reālu HTTPS adresi. Dokumentācijas recepte Sūtīt e-pastu no lietotnes satur sākuma uzvedni. Mythex neaprakstā ieplānotos uzdevumus, tāpēc plānojiet laika atgādinājumus ar ārēju sākumpunktu, kā aprakstīts kā palaist fona uzdevumus.

Jautājumi

Kāds paziņojums ir vieglākais pievienojamais tīmekļa lietotnei?

Paziņojumi lietotnē: tabula ar paziņojumiem jūsu datubāzē un zvana ikona, kas rāda nelasītos. Tiem nav vajadzīgs trešās puses pakalpojums. Nākamais solis ir e-pasts, kam vajadzīgs e-pasta sniedzējs.

Vai tīmekļa lietotne var sūtīt push paziņojumus uz iPhone?

Jā, ar ierobežojumiem. WebKit no iOS un iPadOS 16.4 pievienoja Web Push sākuma ekrāna tīmekļa lietotnēm, tāpēc lietotājam vispirms jāpievieno jūsu tīmekļa lietotne sākuma ekrānā, un atļauja jāpieprasa pēc pieskāriena, piemēram, pogai Abonēt.

Vai push paziņojumi darbojas, kad vietne ir aizvērta?

Jā. Push API piegādā ziņojumus jūsu vietnes servisa darbiniekam, kuru pārlūks palaiž, kad pienāk ziņojums, tāpēc lapai nav jābūt atvērtai. Lietotājam iepriekš jābūt piešķirtai atļaujai.

Kā panākt, lai paziņojumi nekaitina lietotājus?

Paziņojiet tikai par to, kas lietotājam ir svarīgs, apvienojiet vairākus notikumus vienā ziņojumā, ļaujiet cilvēkiem iestatījumos izvēlēties kanālus katram tipam un prasiet push atļauju tikai pēc tam, kad viņi ir redzējuši, kāpēc tas ir noderīgi.

Mythex · Pricing · Veidojiet jebko ar AI · Tīmekļa vietņu un lietotņu veidnes · Mythex salīdzinājumā · AI lietotņu veidošanas glosārijs · Bezmaksas rīki lietotņu veidošanai ar AI · English

English አማርኛ العربية Български বাংলা Bosanski Català Čeština Dansk Deutsch Ελληνικά Español Español (España) Eesti فارسی Suomi Français Français (Canada) ગુજરાતી हिन्दी Hrvatski Magyar Հայերեն Bahasa Indonesia Íslenska Italiano 日本語 ქართული Қазақ тілі ಕನ್ನಡ 한국어 Lietuvių Македонски മലയാളം Монгол मराठी Bahasa Melayu မြန်မာ Norsk bokmål Nederlands ਪੰਜਾਬੀ Polski Português (Brasil) Português (Portugal) Română Русский Slovenčina Slovenščina Soomaali Shqip Srpski Svenska Kiswahili தமிழ் తెలుగు ไทย Tagalog Türkçe Українська اردو Tiếng Việt 简体中文 繁體中文(香港) 繁體中文(台灣)