Jinsi ya Kuongeza Arifa kwenye App Yako: Ndani ya App, Barua Pepe na Push
Ili kuongeza arifa kwenye web app, anza na arifa za ndani ya app: jedwali la arifa kwenye database yako na aikoni ya kengele inayoonyesha vitu ambavyo havijasomwa. Ongeza barua pepe kwa mambo ambayo watu wanahitaji kujua wanapokuwa mbali, kwa kutumia mtoa huduma wa barua pepe, na ongeza web push pale tu arifa za wakati muafaka zinapokuwa muhimu, kwa sababu inahitaji service worker, ruhusa ya mtumiaji na, kwenye iPhone, app kuhifadhiwa kwenye Home Screen. Bila kujali njia unazotumia, tengeneza kila arifa mahali pamoja kwenye seva na uwaruhusu watumiaji wachague wanachotaka kupokea.
Mwongozo huu unalinganisha njia, unaonyesha muundo rahisi wa mfumo, na unatoa maagizo unayoweza kutumia na mjenzi wa app wa AI.
Njia kuu zikilinganishwa
| Njia | Inawafikia watumiaji lini | Juhudi za kusanidi | Gharama ya uendeshaji | Inafaa kwa |
|---|---|---|---|---|
| Ndani ya app (kengele, toasts) | Wanapotumia app yako | Ndogo | Hakuna zaidi ya database yako | Shughuli, kutajwa, mabadiliko ya hali |
| Barua pepe | Wakati wowote wanapokagua barua pepe | Wastani: mtoa huduma, usanidi wa domeni | Malipo kwa kila barua pepe kutoka kwa mtoa huduma | Risiti, muhtasari, chochote muhimu |
| Web push | Kivinjari au web app iliyosakinishwa, hata ikiwa imefungwa | Wastani hadi juu | Kawaida ni bure kutuma | Tahadhari za muda mfupi |
| SMS | Karibu kila wakati | Wastani; sheria za ridhaa zinatumika | Ada kwa kila ujumbe | Vikumbusho vya miadi, tahadhari za dharura |
| Zana za chat (Slack, Teams) | Wako kazini | Ndogo hadi wastani | Kawaida ni bure | Zana za ndani na tahadhari za timu |
App nyingi zinahitaji ndani ya app pamoja na barua pepe. Push na SMS zinafaa pale muda unapokuwa muhimu sana, kama kikumbusho cha booking au oda iliyo tayari.
Mfumo wa arifa unavyokaa pamoja
Iweke rahisi na kati moja:
- Jambo fulani linatokea. Maoni yanachapishwa, malipo yanashindwa, booking ni kesho.
- Seva yako inaita kazi moja, kama
notify(user, type, data). - Kazi hiyo inakagua mapendeleo ya mtumiaji kisha inaandika safu kwenye jedwali la
notifications(kwa kengele). - Kisha inatuma kwenye njia nyingine ambazo mtumiaji ameziwasha kwa aina hiyo: barua pepe kupitia mtoa wako, push kupitia Push API.
- Frontend inaonyesha arifa ambazo hazijasomwa na kuziweka kuwa zimesomwa zinapofunguliwa.
Kiingilio kimoja kinamaanisha unaweza kuongeza njia, kubadilisha maneno, au kuheshimu mapendeleo bila kutafuta kwenye msimbo wote.
Cha kuhifadhi
Jedwali la arifa kwa kawaida linahitaji: ID ya mtumiaji, aina (kwa mfano comment_reply), kichwa kifupi na maudhui, kiungo cha ukurasa husika, muda wa kuundwa, na muda wa kusomwa. Jedwali tofauti la mapendeleo linahifadhi njia ambazo kila mtumiaji anazitaka kwa kila aina.
Kuonyesha arifa mpya
- Pakia wakati ukurasa unatazamwa kisha uulize kila sekunde 30–60. Ni rahisi na ya kuaminika.
- Masasisho ya moja kwa moja kwa WebSockets au server-sent events yanahisi ya papo hapo lakini yanaongeza sehemu zinazosonga. Anza kwa polling isipokuwa masasisho ya papo hapo ni muhimu.
Arifa za barua pepe
Barua pepe inahitaji mtoa huduma wa kutuma na domeni iliyothibitishwa; maelezo yako kwenye jinsi ya kutuma barua pepe kutoka kwenye app yako. Kwa arifa hasa:
- Tuma kutoka kwenye seva, kamwe usiweke key ya mtoa huduma kwenye browser.
- Kusanya matukio yanayojirudia. "Maoni 3 mapya" kwenye barua pepe moja ni bora kuliko barua pepe tatu.
- Toa muhtasari wa kila siku au kila wiki kwa shughuli zenye kipaumbele cha chini.
- Jumuisha kiungo cha kujiondoa au cha mapendeleo kwenye barua pepe zisizo za lazima. Sheria za barua pepe za matangazo zinatofautiana kwa nchi; angalia kinachokuhusu.
Arifa za web push
Web push inaruhusu tovuti yako kutuma tahadhari zinazoonekana kama arifa za app. Kulingana na nyaraka za Push API za MDN, inafanya kazi hivi:
- Tovuti yako inasajili service worker, hati ambayo kivinjari kinaweza kuiendesha chinichini.
- Baada ya mtumiaji kukubali, service worker inajisajili kupitia
PushManager.subscribe(). Kivinjari kinarudisha subscription yenye endpoint na funguo za usimbaji. - Seva yako inahifadhi subscription hiyo na, jambo linapotokea, inatuma ujumbe kwenye endpoint, kwa kawaida ukisainiwa kwa funguo za VAPID (jozi ya funguo inayotambulisha seva yako).
- Kivinjari kinaiwasha service worker yako, ambayo inaonyesha arifa, hata ukurasa wako usipokuwa wazi.
MDN pia inaeleza kwamba endpoint inapaswa kuwekwa siri, kwa sababu kuijua inatosha kutuma ujumbe kwa mtumiaji huyo.
iPhone na iPad
WebKit iliongeza Web Push kwa web apps kwenye iOS na iPadOS 16.4, ikiwa na masharti mawili kutoka kwenye tangazo lao: tovuti lazima iwe imeongezwa kwenye Home Screen, na ruhusa iombwe kujibu kitendo cha mtumiaji kama kugusa kitufe cha Subscribe. Kwa hiyo kwenye iPhone, push inafika tu kwa watumiaji walioweka web app yako. Angalia native dhidi ya progressive web apps kuona maana ya kusakinisha web app.
Kuomba ruhusa vizuri
Usiombe kwenye ziara ya kwanza. Eleza faida kwanza ("Pata kikumbusho saa moja kabla ya darasa lako"), kisha onyesha ombi la kivinjari mtumiaji anapogusa kitufe. Mtu akikataa, kivinjari huenda kisikuruhusu kuomba tena, kwa hiyo ombi la mapema linaweza kukupoteza milele.
Arifa zilizopangwa zinahitaji kichochezi
"Kikumbusho saa 24 kabla" au "muhtasari wa kila wiki kila Jumatatu" zinahitaji kitu cha kuendeshwa kwa ratiba. Hilo ni tatizo la kazi za chinichini, lililoelezwa kwenye jinsi ya kuendesha kazi za chinichini. Mfumo wa kawaida: kipanga ratiba cha nje kinaita endpoint iliyolindwa kila dakika chache, na endpoint hiyo inatuma chochote kinachostahili kutumwa.
Maagizo ya kumpa mjenzi wako wa AI
Anza na ndani ya app:
Ongeza arifa za ndani ya app. Tengeneza jedwali la notifications (user, type, title, body, link, created_at, read_at). Ongeza kazi ya seva notify(userId, type, data) ambayo kila kipengele kinaiita. Onyesha aikoni ya kengele kwenye header yenye idadi ya ambazo hazijasomwa, orodha kunjuzi ya 20 za hivi karibuni, na kitufe cha "weka zote kuwa zimesomwa". Angalia mpya kila sekunde 60.
Kisha mapendeleo na barua pepe:
Ongeza mipangilio ya arifa: kwa kila aina (majibu ya maoni, kutajwa, malipo), mtumiaji achague ndani ya app, barua pepe, zote mbili au hakuna. notify() lazima izingatie haya. Tuma barua pepe kupitia [PROVIDER] ukitumia siri [ENV_NAME] kwenye seva pekee. Kusanya barua pepe za maoni ili mtumiaji mmoja apate barua pepe moja kwa dakika 15 upeo.
Kisha push, ukiihitaji:
Ongeza web push ya hiari. Sajili service worker, tengeneza funguo za VAPID na uhifadhi funguo ya faragha kama siri. Ongeza kitufe cha "Washa arifa" kwenye mipangilio kinachoomba ruhusa tu kinapobonyezwa. Hifadhi kila subscription kwa kila mtumiaji na kifaa, tuma pushes kutoka notify() mtumiaji alipojiunga, na ufute subscriptions ambazo huduma ya push inaripoti zimeisha muda.
Makosa ya kawaida
- Arifa zilizotawanyika kwenye msimbo. Kila kipengele kinatuma barua pepe yake kwa njia tofauti, na mapendeleo yanapuuzwa. Tumia kazi moja ya
notify(). - Kuomba ruhusa ya push ukurasa unapofunguliwa. Watu wengi wanakataa, na huenda usipate nafasi nyingine.
- Hakuna mapendeleo. Watumiaji wasioweza kuzima tahadhari zenye kelele huzima zote, au wanaondoka.
- Kutuma kutoka kwenye browser. Funguo za barua pepe na push zinapaswa kuwa kwenye seva.
- Kutosafisha subscriptions za push zilizokufa. Subscriptions zilizoisha zinajilundika na kupoteza utumaji.
- Taarifa nyeti kwenye maandishi ya arifa. Skrini za kufunga zinaionyesha. "Una ujumbe mpya" ni salama zaidi kuliko ujumbe wenyewe.
- Hakuna rekodi ya kilichotumwa. Mtumiaji anaposema "sikupata barua pepe", kumbukumbu zenye message IDs za mtoa huduma zinakusaidia kujua sababu.
Orodha ya ukaguzi
- Kazi moja ya
notify()upande wa seva inayotumika kila mahali - Jedwali la arifa lenye hali ya kusomwa, na kengele yenye idadi ya ambazo hazijasomwa
- Mapendeleo ya njia kwa kila aina, yanayoheshimiwa na
notify() - Barua pepe zinatumwa kutoka seva kwa domeni iliyothibitishwa; muhtasari au kusanya kwa matukio yanayojirudia
- Ruhusa ya push inaombwa tu baada ya kitendo cha mtumiaji, pamoja na maelezo
- Push imejaribiwa kwenye kompyuta na kwenye iPhone yenye app kwenye Home Screen
- Subscriptions za push zilizoisha zimeondolewa
- Hakuna maudhui nyeti kwenye push au hakiki za barua pepe
- Vikumbusho vilivyopangwa vina kichochezi kinachoaminika
Arifa kwenye Mythex
Mythex haijumuishi huduma ya barua pepe au push iliyojengwa ndani kwa app unazojenga, kwa hiyo unaleta mtoa huduma wako wa barua pepe na kutengeneza funguo zako za push, zikihifadhiwa kama siri za mradi. Sehemu ya ndani ya app inahitaji database ya mradi pekee, ambayo Mythex inaiongeza unapoomba. Jenga kwa maagizo kama hayo hapo juu, jaribu kengele na barua pepe kwenye Preview, na jaribu push kwenye URL yako iliyochapishwa, kwa sababu service workers na push zinahitaji anwani halisi ya HTTPS. Mapishi ya nyaraka Tuma barua pepe kutoka kwenye app yako yana maagizo ya kuanzia. Mythex haielezi kazi zilizopangwa kwa nyaraka, kwa hiyo panga vikumbusho vya muda kwa kichochezi cha nje kama ilivyoelezwa kwenye jinsi ya kuendesha kazi za chinichini.
Maswali
Ni aina ipi rahisi zaidi ya arifa kuongeza kwenye web app?
Arifa za ndani ya app: jedwali la arifa kwenye database yako na aikoni ya kengele inayoonyesha zile ambazo hazijasomwa. Hazihitaji huduma ya mtu wa tatu. Barua pepe ndiyo hatua inayofuata na inahitaji mtoa huduma wa barua pepe.
Je, web app inaweza kutuma arifa za push kwa iPhone?
Ndiyo, kwa mipaka. WebKit iliongeza Web Push kwa web apps za Home Screen kwenye iOS na iPadOS 16.4, kwa hiyo mtumiaji lazima kwanza aweke web app yako kwenye Home Screen, na ruhusa iombwe baada ya kugusa, kama kwenye kitufe cha Subscribe.
Je, arifa za push zinafanya kazi tovuti ikiwa imefungwa?
Ndiyo. Push API inapeleka ujumbe kwa service worker ya tovuti yako, ambayo kivinjari huiwasha ujumbe unapofika, kwa hiyo ukurasa hauhitaji kuwa wazi. Mtumiaji lazima awe ametoa ruhusa kwanza.
Nifanyeje arifa zisiwakere watumiaji?
Arifu tu kuhusu mambo ambayo mtumiaji anayajali, kusanya arifa nyingi zinazofuatana kuwa ujumbe mmoja, wape watu nafasi ya kuchagua njia kwa kila aina kwenye mipangilio, na uombe ruhusa ya push baada ya wao kuona kwa nini ni muhimu.