Kuidas lisada äppi teavitusi: äpisisesed, e-post ja push
Veebiäpi teavitusteks alusta äpisisestest teavitustest: teavituste tabel andmebaasis ja kellukese ikoon, mis näitab lugemata kirjeid. Lisa e-post asjadele, mida inimesed peavad teadma, kui nad on eemal, kasutades e-posti pakkujat, ja lisa veebi-push ainult siis, kui õigeaegsed hoiatused on tõesti olulised, sest see vajab service workerit, kasutaja luba ja iPhone'i puhul ka äpi salvestamist koduekraanile. Olenemata sellest, mis kanaleid kasutad, loo iga teavitus serveris ühes kohas ja lase kasutajatel valida, mida nad saavad.
Selles juhendis võrdleme kanaleid, näitame lihtsat arhitektuuri ja anname juhised, mida saad kasutada AI-äpiloojaga.
Peamised kanalid võrdluses
| Kanal | Jõuab kasutajani, kui | Seadistuse vaev | Püsikulu | Sobib kõige paremini |
|---|---|---|---|---|
| Äpisisene (kellukas, teated) | Nad kasutavad sinu äppi | Madal | Ainult andmebaas | Tegevus, mainimised, staatuse muutused |
| E-post | Millal iganes nad oma postkasti vaatavad | Keskmine: pakkuja, domeeni seadistus | Pakkuja hind saadetud kirja kohta | Kviitungid, kokkuvõtted, kõik olulised |
| Veebi-push | Brauseris või installitud veebiäpis, isegi kui see on suletud | Keskmine kuni kõrge | Saatmine on tavaliselt tasuta | Ajatundlikud hoiatused |
| SMS | Peaaegu alati | Keskmine; nõusoleku reeglid kehtivad | Sõnumi kohta tasu | Aja broneeringu meeldetuletused, kiired hoiatused |
| Vestlustööriistad (Slack, Teams) | Nad on tööl | Madal kuni keskmine | Tavaliselt tasuta | Sisemised tööriistad ja meeskonna hoiatused |
Enamik äppe vajab äpisiseseid teavitusi ja e-posti. Push ja SMS on seda väärt, kui ajastus tõesti loeb, näiteks broneeringu meeldetuletus või tellimus, mis on valmis.
Kuidas teavitussüsteem kokku käib
Hoia see lihtne ja tsentraalne:
- Midagi juhtub. Postitatakse kommentaar, makse ebaõnnestub, broneering on homme.
- Sinu server kutsub ühe funktsiooni, näiteks
notify(user, type, data). - See funktsioon kontrollib kasutaja eelistusi ja kirjutab rea tabelisse
notifications(kellukese jaoks). - Seejärel saadab ta teistele kanalitele, mille kasutaja on selle tüübi jaoks sisse lülitanud: e-post sinu pakkuja kaudu, push Push API kaudu.
- Esileht näitab lugemata teavitusi ja märgib need loetuks, kui need avatakse.
Üks sisenemispunkt tähendab, et saad lisada kanali, muuta sõnastust või arvestada eelistusi, ilma et peaksid koodibaasist otsima.
Mida salvestada
Teavituste tabelisse on tavaliselt vaja: kasutaja ID, tüüp (näiteks comment_reply), lühike pealkiri ja sisu, link asjakohasele lehele, loomise aeg ja lugemise aeg. Eraldi eelistuste tabel hoiab, millised kanalid iga kasutaja soovib iga tüübi jaoks.
Uute teavituste näitamine
- Laadi lehe vaatamisel ja küsi uuesti iga 30–60 sekundi järel. Lihtne ja usaldusväärne.
- Reaalajas uuendused WebSocketide või server-sent events abil tunduvad kohesed, kuid lisavad liikuvaid osi. Alusta küsitlemisega, kui kohene uuendamine pole oluline.
E-posti teavitused
E-kiri vajab saatmisteenuse pakkujat ja kinnitatud domeeni; detailid on juhendis kuidas saata e-kirju oma äpist. Teavituste jaoks täpsemalt:
- Saada serverist, mitte kunagi pakkuja võtit brauseris kasutades.
- Koonda sagedased sündmused. „3 uut kommentaari“ ühes kirjas on parem kui kolm kirja.
- Paku päevast või nädalast kokkuvõtet väikese prioriteediga tegevuse jaoks.
- Lisa tellimusest loobumise või eelistuste link mitteolulisse e-kirja. Turunduskirjade reeglid erinevad riigiti; kontrolli, mis sinu puhul kehtib.
Veebi-push teavitused
Veebi-push laseb sinu saidil saata hoiatusi, mis ilmuvad nagu äpi teavitused. MDN-i Push API dokumentatsiooni järgi töötab see nii:
- Sinu sait registreerib service workeri, skripti, mida brauser saab taustal käitada.
- Pärast kasutaja nõustumist tellib service worker
PushManager.subscribe()abil. Brauser tagastab tellimuse koos lõpp-punkti ja krüpteerimisvõtmetega. - Sinu server salvestab selle tellimuse ja kui midagi juhtub, saadab sõnumi lõpp-punkti, tavaliselt allkirjastatuna VAPID-võtmetega (võtmepaar, mis identifitseerib sinu serveri).
- Brauser käivitab sinu service workeri, mis kuvab teavituse ka siis, kui sinu leht pole avatud.
MDN märgib ka, et lõpp-punkt tuleb hoida salajas, sest selle teadmine piisab, et sellele kasutajale sõnumeid saata.
iPhone ja iPad
WebKit lisas veebiäppidele veebi-push'i iOS-i ja iPadOS-i 16.4 versioonis kahe tingimusega, nagu nad oma teatades ütlesid: sait peab olema lisatud koduekraanile ja luba tuleb küsida kasutaja tegevuse vastusena, näiteks tellimisnupu puudutamisel. Seega jõuab iPhone'is push ainult kasutajateni, kes on veebiäpi installinud. Vaata, mida veebiäpi installimine tähendab, juhendist natiivne vs progressiivne veebiäpp.
Loa küsimine õigesti
Ära küsi esimesel külastusel. Selgita esmalt kasu („Saa meeldetuletus tund enne tundi“), seejärel näita brauseri teadet, kui kasutaja vajutab nuppu. Kui keegi keeldub, ei pruugi brauser lubada uuesti küsida, nii et enneaegne küsimine võib inimese jäädavalt kaotada.
Ajastatud teavitused vajavad käivitajat
„Meeldetuletus 24 tundi enne“ või „iganädalane kokkuvõte igal esmaspäeval“ vajavad midagi, mis töötaks ajakava järgi. See on taustatööde probleem, mida käsitleb kuidas käivitada taustatöid. Levinud muster: väline ajastaja kutsub kaitstud lõpp-punkti iga paari minuti järel ja see lõpp-punkt saadab kõik, mis on tähtajaks.
Juhised AI-äpiloojale
Alusta äpisisestest teavitustest:
Lisa äpisisesed teavitused. Loo tabel notifications (kasutaja, tüüp, pealkiri, sisu, link, created_at, read_at). Lisa serverifunktsioon notify(userId, type, data), mida iga funktsioon kasutab. Näita päises kellukest lugemata arvuga, rippmenüüd viimaste 20 teatega ja nuppu „Märgi kõik loetuks“. Küsi uusi teavitusi iga 60 sekundi järel.
Seejärel eelistused ja e-post:
Lisa teavituste seaded: iga tüübi jaoks (vastused kommentaaridele, mainimised, arveldus) saab kasutaja valida äpisisene, e-post, mõlemad või ükski. notify() peab neid järgima. Saada e-kiri teenuse [PROVIDER] kaudu, kasutades saladust [ENV_NAME] ainult serveris. Grupeeri kommentaaride e-kirjad, nii et üks kasutaja saab kõige rohkem ühe e-kirja 15 minuti jooksul.
Siis push, kui seda vajad:
Lisa valikuline veebi-push. Registreeri service worker, genereeri VAPID-võtmed ja salvesta privaatvõti saladusena. Lisa seadetesse nupp „Luba teavitused“, mis küsib luba ainult siis, kui seda klõpsatakse. Salvesta iga tellimus kasutaja ja seadme kohta, saada push-sõnumid notify()-st, kui kasutaja on sisse lülitanud, ning kustuta tellimused, mida push-teenus aegunuks märgib.
Levinud vead
- Teavitused hajutatud üle koodi. Iga funktsioon saadab oma e-kirja erinevalt ja eelistusi ignoreeritakse. Kasuta ühte funktsiooni
notify(). - Push-loa küsimine lehe laadimisel. Enamik inimesi keeldub ja uut võimalust ei pruugi tulla.
- Eelistuste puudumine. Kasutajad, kes ei saa häirivaid teavitusi välja lülitada, lülitavad välja kõik või lahkuvad.
- Saatmine brauserist. E-posti ja push-võtmed kuuluvad serverisse.
- Surnud push-tellimuste puhastamata jätmine. Aegunud tellimused kogunevad ja raiskavad saatmisi.
- Tundlik sisu teavituse tekstis. Lukustusekraanil on see näha. „Sul on uus sõnum“ on turvalisem kui sõnum ise.
- Saadetu logi puudub. Kui kasutaja ütleb „ma ei saanud e-kirja“, aitavad logid pakkuja sõnumi ID-dega välja selgitada, mis juhtus.
Kontrollnimekiri
- Üks serveripoolne funktsioon
notify(), mida kasutatakse kõikjal - Teavituste tabel lugemise olekuga ja kellukas lugemata arvuga
- Kanalite eelistused tüübi kaupa, mida
notify()järgib - E-kiri saadetakse serverist kinnitatud domeeniga; kokkuvõte või rühmitus sagedastele sündmustele
- Push-luba küsitakse ainult pärast kasutaja tegevust, koos selgitusega
- Push on testitud lauaarvutis ja iPhone'is, kus äpp on koduekraanile lisatud
- Aegunud push-tellimused on eemaldatud
- Push- ega e-kirja eelvaates pole tundlikku sisu
- Ajastatud meeldetuletustel on usaldusväärne käivitaja
Teavitused Mythexis
Mythex ei sisalda sinu ehitatud äppide jaoks sisseehitatud e-kirja ega push-teenust, seega tood oma e-posti pakkuja ja genereerid ise push-võtmed, mis salvestatakse projekti saladustena. Äpisisene osa vajab ainult projekti andmebaasi, mille Mythex lisab, kui seda palud. Ehita ülaltoodud sarnaste juhistega, testi kellukest ja e-kirju eelvaates ning testi push'i oma avaldatud URL-il, sest service workerid ja push vajavad päris HTTPS-aadressi. Dokumentatsiooni retsept Saada e-kiri oma äpist sisaldab alguspromptit. Mythex ei dokumenteeri ajastatud töid, seega planeeri ajastatud meeldetuletused välise käivitajaga, nagu on kirjeldatud juhendis kuidas käivitada taustatöid.
Küsimused
Milline on lihtsaim teavitus, mida veebiäppi lisada?
Äpisisesed teavitused: andmebaasi tabel teavitustest ja kellukese ikoon, mis näitab lugemata teavitusi. Need ei vaja kolmanda osapoole teenust. E-post on järgmine samm ja vajab e-posti pakkujat.
Kas veebiäpp saab saata push-teavitusi iPhone'idele?
Jah, piirangutega. WebKit lisas veebi-push'i koduekraanile lisatud veebiäppidele iOS-i ja iPadOS-i 16.4 versioonis. Seega peab kasutaja esmalt lisama veebiäpi oma koduekraanile ja luba tuleb küsida pärast puudutust, näiteks tellimisnupu vajutamist.
Kas push-teavitused töötavad, kui veebileht on suletud?
Jah. Push API toimetab sõnumid saidi service workerile, mille brauser käivitab, kui sõnum saabub, nii et lehe ei pea olema avatud. Kasutaja peab enne loa andma.
Kuidas hoida teavitused kasutajaid ärritamast?
Teavita ainult sellest, mis kasutajat huvitab, koonda sõnumite pursked ühte teatesse, lase inimestel seadetes valida kanalid tüübi kaupa ja küsi push-luba alles siis, kui nad on näinud, miks see kasulik on.