તમારી એપમાં નોટિફિકેશન કેવી રીતે ઉમેરશો: એપની અંદર, ઇમેઇલ અને પુશ
વેબ એપમાં નોટિફિકેશન ઉમેરવા માટે, એપની અંદરના નોટિફિકેશનથી શરૂઆત કરો: તમારા ડેટાબેઝમાં નોટિફિકેશનનું ટેબલ અને વાંચ્યા વગરની વસ્તુઓ બતાવતું બેલ આઇકન. લોકો દૂર હોય ત્યારે જાણવી જરૂરી બાબતો માટે, ઇમેઇલ પ્રદાતા વાપરીને ઇમેઇલ ઉમેરો, અને જ્યારે સમયસર ચેતવણી મહત્ત્વની હોય ત્યારે જ વેબ પુશ ઉમેરો, કારણ કે તેને સર્વિસ વર્કર, વપરાશકર્તાની પરવાનગી અને iPhone પર એપ હોમ સ્ક્રીન પર સાચવેલી હોવી જરૂરી છે. તમે કઈ પણ ચૅનલ વાપરો, દરેક નોટિફિકેશન સર્વર પર એક જ જગ્યાએ બનાવો અને વપરાશકર્તાઓને શું મેળવવું તે પસંદ કરવા દો.
આ માર્ગદર્શિકા ચૅનલોની સરખામણી કરે છે, એક સરળ આર્કિટેક્ચર બતાવે છે, અને AI એપ બિલ્ડર સાથે વાપરી શકાય તેવા પ્રોમ્પ્ટ આપે છે.
મુખ્ય ચૅનલોની સરખામણી
| ચૅનલ | વપરાશકર્તાઓ સુધી ક્યારે પહોંચે | સેટઅપ મહેનત | ચાલુ ખર્ચ | શ્રેષ્ઠ ઉપયોગ |
|---|---|---|---|---|
| એપની અંદર (બેલ, ટોસ્ટ) | જ્યારે તેઓ તમારી એપ વાપરતા હોય | ઓછી | ડેટાબેઝ સિવાય કંઈ નહીં | પ્રવૃત્તિ, ઉલ્લેખ, સ્ટેટસ બદલાવ |
| ઇમેઇલ | ઇમેઇલ તપાસે ત્યારે કોઈપણ સમયે | મધ્યમ: પ્રદાતા, ડોમેન સેટઅપ | પ્રદાતા તરફથી પ્રતિ-ઇમેઇલ કિંમત | રસીદો, ડાયજેસ્ટ, મહત્ત્વની કોઈપણ બાબત |
| વેબ પુશ | બ્રાઉઝર કે ઇન્સ્ટૉલ થયેલી વેબ એપ દ્વારા, બંધ હોય ત્યારે પણ | મધ્યમથી ઊંચી | સામાન્ય રીતે મોકલવું મફત | સમય-સંવેદનશીલ ચેતવણીઓ |
| SMS | લગભગ હંમેશાં | મધ્યમ; સંમતિના નિયમો લાગુ | પ્રતિ-સંદેશ ફી | એપોઇન્ટમેન્ટ રિમાઇન્ડર, તાત્કાલિક ચેતવણીઓ |
| ચૅટ સાધનો (Slack, Teams) | જ્યારે તેઓ કામ પર હોય | ઓછી થી મધ્યમ | સામાન્ય રીતે મફત | આંતરિક સાધનો અને ટીમ ચેતવણીઓ |
મોટાભાગની એપ્સને એપની અંદર તથા ઇમેઇલની જરૂર પડે છે. પુશ અને SMS ત્યારે જ યોગ્ય છે જ્યારે સમય ખરેખર મહત્ત્વનો હોય, જેમ કે બુકિંગ રિમાઇન્ડર અથવા તૈયાર થયેલો ઓર્ડર.
નોટિફિકેશન સિસ્ટમ કેવી રીતે જોડાય છે
તેને સરળ અને કેન્દ્રિત રાખો:
- કંઈક થાય છે. કોમેન્ટ પોસ્ટ થાય, ચુકવણી નિષ્ફળ જાય, બુકિંગ આવતીકાલે હોય.
- તમારો સર્વર એક ફંક્શન કૉલ કરે, જેમ કે
notify(user, type, data). - એ ફંક્શન વપરાશકર્તાની પસંદગીઓ તપાસે અને
notificationsટેબલમાં એક રો લખે (બેલ માટે). - પછી તે અન્ય ચૅનલો પર મોકલે જે વપરાશકર્તાએ એ પ્રકાર માટે ચાલુ કરી હોય: પ્રદાતા દ્વારા ઇમેઇલ, Push API દ્વારા પુશ.
- ફ્રન્ટએન્ડ વાંચ્યા વગરના નોટિફિકેશન બતાવે અને ખોલવામાં આવે ત્યારે તેમને વાંચેલા તરીકે ચિહ્નિત કરે.
એક જ પ્રવેશબિંદુ હોવાથી તમે કોડબેઝમાં શોધ્યા વગર ચૅનલ ઉમેરી શકો, શબ્દો બદલી શકો, અથવા પસંદગીઓનું પાલન કરી શકો.
શું સંગ્રહવું
નોટિફિકેશન ટેબલમાં સામાન્ય રીતે આ જોઈએ: વપરાશકર્તા ID, પ્રકાર (દા.ત. comment_reply), ટૂંકું શીર્ષક અને લખાણ, સંબંધિત પેજની લિંક, બનાવ્યાનો સમય, અને વાંચ્યાનો સમય. અલગ પસંદગીઓ ટેબલ દરેક વપરાશકર્તા માટે દરેક પ્રકાર પર કઈ ચૅનલ જોઈએ છે તે સંગ્રહે છે.
નવા નોટિફિકેશન બતાવવા
- પેજ જોતી વખતે લોડ કરો અને દર 30–60 સેકન્ડે પોલ કરો. સરળ અને વિશ્વસનીય.
- રિયલ-ટાઇમ અપડેટ WebSockets કે server-sent events સાથે તરત લાગે, પણ વધુ ભાગો ઉમેરે છે. તાત્કાલિક અપડેટ જરૂરી ન હોય ત્યાં સુધી પોલિંગથી શરૂ કરો.
ઇમેઇલ નોટિફિકેશન
ઇમેઇલને મોકલનાર પ્રદાતા અને ચકાસાયેલ ડોમેનની જરૂર છે; વિગતો તમારી એપમાંથી ઇમેઇલ કેવી રીતે મોકલશો માં છે. ખાસ કરીને નોટિફિકેશન માટે:
- સર્વર પરથી મોકલો, ક્યારેય બ્રાઉઝરમાં પ્રદાતા કી સાથે નહીં.
- વારંવાર આવતી ઘટનાઓને બૅચ કરો. એક ઇમેઇલમાં "3 new comments" ત્રણ ઇમેઇલ કરતાં સારું છે.
- ઓછી પ્રાથમિકતાની પ્રવૃત્તિ માટે દૈનિક કે સાપ્તાહિક ડાયજેસ્ટ ઓફર કરો.
- બિનજરૂરી ઇમેઇલમાં અનસબ્સ્ક્રાઇબ કે પસંદગીઓની લિંક શામેલ કરો. માર્કેટિંગ ઇમેઇલના નિયમો દેશ પ્રમાણે જુદા છે; તમને શું લાગુ પડે છે તે તપાસો.
વેબ પુશ નોટિફિકેશન
વેબ પુશ તમારી સાઇટને એપ નોટિફિકેશનની જેમ દેખાતી ચેતવણીઓ મોકલવા દે છે. MDN ના Push API દસ્તાવેજ પ્રમાણે તે આ રીતે કામ કરે છે:
- તમારી સાઇટ સર્વિસ વર્કર નોંધાવે છે, જે બ્રાઉઝર પૃષ્ઠભૂમિમાં ચલાવી શકે તેવી સ્ક્રિપ્ટ છે.
- વપરાશકર્તા સંમત થયા પછી, સર્વિસ વર્કર
PushManager.subscribe()દ્વારા સબ્સ્ક્રાઇબ કરે છે. બ્રાઉઝર એક સબ્સ્ક્રિપ્શન પાછું આપે છે, જેમાં એન્ડપોઇન્ટ અને એન્ક્રિપ્શન કી હોય છે. - તમારો સર્વર તે સબ્સ્ક્રિપ્શન સંગ્રહે છે, અને કંઈક થાય ત્યારે એન્ડપોઇન્ટ પર સંદેશ મોકલે છે, સામાન્ય રીતે VAPID કી (તમારા સર્વરને ઓળખતી કી જોડી) વડે સહી કરીને.
- બ્રાઉઝર તમારો સર્વિસ વર્કર શરૂ કરે છે, જે નોટિફિકેશન બતાવે, ભલે તમારું પેજ ખુલ્લું ન હોય.
MDN એ પણ નોંધે છે કે એન્ડપોઇન્ટ ગુપ્ત રાખવો જોઈએ, કારણ કે તે જાણવું એ તે વપરાશકર્તાને સંદેશ મોકલવા માટે પૂરતું છે.
iPhone અને iPad
WebKit એ iOS અને iPadOS 16.4 માં વેબ એપ માટે Web Push ઉમેર્યું, તેની જાહેરાતમાં બે શરતો સાથે: સાઇટ હોમ સ્ક્રીન પર ઉમેરેલી હોવી જોઈએ, અને પરવાનગી વપરાશકર્તાની ક્રિયાના જવાબમાં માંગવી જોઈએ, જેમ કે Subscribe બટન પર ટૅપ. તેથી iPhone પર, પુશ ફક્ત તે વપરાશકર્તાઓ સુધી પહોંચે છે જેમણે તમારી વેબ એપ ઇન્સ્ટૉલ કરી છે. વેબ એપ ઇન્સ્ટૉલ કરવાનો અર્થ શું છે તે માટે નેટિવ વિરુદ્ધ પ્રોગ્રેસિવ વેબ એપ જુઓ.
પરવાનગી સારી રીતે માંગવી
પહેલી મુલાકાતે પૂછશો નહીં. પહેલા લાભ સમજાવો ("Get a reminder an hour before your class"), પછી વપરાશકર્તા બટન ટૅપ કરે ત્યારે બ્રાઉઝરનો પ્રોમ્પ્ટ બતાવો. જો કોઈ ઇનકાર કરે, તો બ્રાઉઝર ફરી પૂછવા ન દે, તેથી વહેલો પ્રોમ્પ્ટ તેમને કાયમ માટે ગુમાવી શકે છે.
શેડ્યૂલ્ડ નોટિફિકેશનને ટ્રિગર જોઈએ
"24 કલાક પહેલાં રિમાઇન્ડર" અથવા "દર સોમવારે સાપ્તાહિક સારાંશ" ચલાવવા માટે કંઈક શેડ્યૂલ પર ચાલવું જરૂરી છે. આ પૃષ્ઠભૂમિ-જૉબની સમસ્યા છે, જે પૃષ્ઠભૂમિ જૉબ કેવી રીતે ચલાવશો માં આવરી લેવાઈ છે. એક સામાન્ય પદ્ધતિ: બાહ્ય શેડ્યૂલર દર થોડી મિનિટે સુરક્ષિત એન્ડપોઇન્ટને કૉલ કરે છે, અને એ એન્ડપોઇન્ટ જે બાકી છે તે મોકલે છે.
તમારા AI બિલ્ડરને આપવા માટેના પ્રોમ્પ્ટ
એપની અંદરના નોટિફિકેશનથી શરૂ કરો:
એપની અંદર નોટિફિકેશન ઉમેરો. notifications ટેબલ બનાવો (user, type, title, body, link, created_at, read_at). એક સર્વર ફંક્શન notify(userId, type, data) ઉમેરો જે દરેક ફીચર કૉલ કરે. હેડરમાં વાંચ્યા વગરની ગણતરી સાથે બેલ આઇકન, છેલ્લા 20 ની ડ્રોપડાઉન યાદી, અને "બધા વાંચ્યા તરીકે ચિહ્નિત કરો" બટન બતાવો. દર 60 સેકન્ડે નવા માટે પોલ કરો.
પછી પસંદગીઓ અને ઇમેઇલ:
નોટિફિકેશન સેટિંગ્સ ઉમેરો: દરેક પ્રકાર (કોમેન્ટ જવાબો, ઉલ્લેખ, બિલિંગ) માટે વપરાશકર્તા એપની અંદર, ઇમેઇલ, બંને અથવા કંઈ નહીં પસંદ કરી શકે. notify() આ પસંદગીઓનું પાલન કરે. [PROVIDER] દ્વારા, ફક્ત સર્વર પર સિક્રેટ [ENV_NAME] વાપરીને ઇમેઇલ મોકલો. એક વપરાશકર્તાને 15 મિનિટમાં વધુમાં વધુ એક ઇમેઇલ મળે તે માટે કોમેન્ટ ઇમેઇલ જૂથ કરો.
પછી પુશ, જો તમને જરૂર હોય તો:
વૈકલ્પિક વેબ પુશ ઉમેરો. સર્વિસ વર્કર નોંધાવો, VAPID કી બનાવો અને ખાનગી કીને સિક્રેટ તરીકે સંગ્રહો. સેટિંગ્સમાં "Enable notifications" બટન ઉમેરો જે ફક્ત ક્લિક થાય ત્યારે પરવાનગી માંગે. દરેક સબ્સ્ક્રિપ્શન વપરાશકર્તા અને ડિવાઇસ પ્રમાણે સંગ્રહો, વપરાશકર્તાએ opt in કર્યું હોય ત્યારે notify() માંથી પુશ મોકલો, અને પુશ સર્વિસ જે સબ્સ્ક્રિપ્શનને એક્સપાયર્ડ કહે તે કાઢી નાખો.
સામાન્ય ભૂલો
- નોટિફિકેશન કોડમાં વેરવિખેર. દરેક ફીચર પોતાનો ઇમેઇલ જુદી રીતે મોકલે છે, અને પસંદગીઓ અવગણાય છે. એક
notify()ફંક્શન વાપરો. - પેજ લોડ થતાં પુશ પરવાનગી માંગવી. મોટાભાગના લોકો ઇનકાર કરે છે, અને તમને બીજી તક ન પણ મળે.
- કોઈ પસંદગીઓ ન હોવી. જે વપરાશકર્તાઓ ઘોંઘાટવાળી ચેતવણીઓ બંધ ન કરી શકે તેઓ બધી બંધ કરી દે છે, અથવા જતા રહે છે.
- બ્રાઉઝરમાંથી મોકલવું. ઇમેઇલ અને પુશ કી સર્વર પર જ હોવી જોઈએ.
- મૃત પુશ સબ્સ્ક્રિપ્શન સાફ ન કરવા. એક્સપાયર્ડ સબ્સ્ક્રિપ્શન ભેગા થાય છે અને મોકલવાનો બગાડ કરે છે.
- નોટિફિકેશનના લખાણમાં સંવેદનશીલ વિગતો. લૉક સ્ક્રીન તે બતાવે છે. "You have a new message" સંદેશ કરતાં સલામત છે.
- શું મોકલાયું તેનો રેકોર્ડ ન હોવો. જ્યારે વપરાશકર્તા કહે "મને ઇમેઇલ મળ્યો જ નહીં", ત્યારે પ્રદાતા મેસેજ IDs સાથેના લોગ કારણ શોધવામાં મદદ કરે છે.
ચેકલિસ્ટ
- દરેક જગ્યાએ વપરાતું એક સર્વર-સાઇડ
notify()ફંક્શન - વાંચવાની સ્થિતિ સાથેનું નોટિફિકેશન ટેબલ, અને વાંચ્યા વગરની ગણતરી સાથે બેલ
- દરેક પ્રકાર માટે ચૅનલ પસંદગીઓ, જેનું
notify()પાલન કરે - ચકાસાયેલ ડોમેન સાથે સર્વર પરથી મોકલાયેલ ઇમેઇલ; ઘણી ઘટનાઓ માટે ડાયજેસ્ટ કે જૂથ
- પુશ પરવાનગી ફક્ત વપરાશકર્તાની ક્રિયા પછી, સમજૂતી સાથે માંગેલી
- ડેસ્કટોપ પર અને હોમ સ્ક્રીન પર એપ ઉમેરેલા iPhone પર પુશ ચકાસેલ
- એક્સપાયર્ડ પુશ સબ્સ્ક્રિપ્શન દૂર કરેલાં
- પુશ કે ઇમેઇલ પ્રીવ્યૂમાં કોઈ સંવેદનશીલ સામગ્રી નથી
- શેડ્યૂલ્ડ રિમાઇન્ડર માટે વિશ્વસનીય ટ્રિગર
Mythex પર નોટિફિકેશન
Mythex તમે બનાવેલી એપ માટે બિલ્ટ-ઇન ઇમેઇલ કે પુશ સેવા શામેલ કરતું નથી, તેથી તમે તમારો પોતાનો ઇમેઇલ પ્રદાતા લાવો છો અને તમારી પોતાની પુશ કી બનાવો છો, જે પ્રોજેક્ટ સિક્રેટ તરીકે સંગ્રહાય છે. એપની અંદરના ભાગને ફક્ત પ્રોજેક્ટના ડેટાબેઝની જરૂર છે, જે તમે માંગો ત્યારે Mythex ઉમેરે છે. ઉપરના જેવા પ્રોમ્પ્ટથી બનાવો, Preview માં બેલ અને ઇમેઇલ ચકાસો, અને તમારા પબ્લિશ થયેલા URL પર પુશ ચકાસો, કારણ કે સર્વિસ વર્કર અને પુશને વાસ્તવિક HTTPS સરનામું જોઈએ. દસ્તાવેજની રેસિપી તમારી એપમાંથી ઇમેઇલ મોકલો માં સ્ટાર્ટર પ્રોમ્પ્ટ છે. Mythex શેડ્યૂલ્ડ જૉબનું દસ્તાવેજીકરણ કરતું નથી, તેથી પૃષ્ઠભૂમિ જૉબ કેવી રીતે ચલાવશો માં વર્ણવ્યા પ્રમાણે બાહ્ય ટ્રિગર સાથે સમયસરના રિમાઇન્ડરનું આયોજન કરો.
પ્રશ્નો
વેબ એપમાં ઉમેરવા માટે સૌથી સરળ પ્રકારનું નોટિફિકેશન કયું છે?
એપની અંદરના નોટિફિકેશન: તમારા ડેટાબેઝમાં નોટિફિકેશનનું ટેબલ અને વાંચ્યા વગરના નોટિફિકેશન બતાવતું બેલ આઇકન. તેમને કોઈ તૃતીય-પક્ષ સેવાની જરૂર નથી. ઇમેઇલ આગળનું પગલું છે અને તેના માટે ઇમેઇલ પ્રદાતાની જરૂર પડે છે.
શું વેબ એપ iPhone પર પુશ નોટિફિકેશન મોકલી શકે?
હા, મર્યાદા સાથે. WebKit એ iOS અને iPadOS 16.4 માં હોમ સ્ક્રીન વેબ એપ માટે Web Push ઉમેર્યું, તેથી વપરાશકર્તાએ પહેલા તમારી વેબ એપ હોમ સ્ક્રીન પર ઉમેરવી પડે, અને પરવાનગી એક ટૅપ પછી માંગવી જોઈએ, જેમ કે Subscribe બટન પર.
શું વેબસાઇટ બંધ હોય ત્યારે પુશ નોટિફિકેશન કામ કરે છે?
હા. Push API સંદેશાઓ તમારી સાઇટના સર્વિસ વર્કરને પહોંચાડે છે, અને સંદેશ આવે ત્યારે બ્રાઉઝર તેને શરૂ કરે છે, તેથી પેજ ખુલ્લું હોવું જરૂરી નથી. વપરાશકર્તાએ પહેલા પરવાનગી આપેલી હોવી જોઈએ.
નોટિફિકેશન વપરાશકર્તાઓને હેરાન ન કરે તે માટે શું કરું?
ફક્ત એવી બાબતો વિશે જ જાણ કરો જે વપરાશકર્તાને મહત્ત્વની હોય, એકસાથે આવતા સંદેશાઓને એક સંદેશમાં જૂથ કરો, લોકોને સેટિંગ્સમાં દરેક પ્રકાર માટે ચૅનલ પસંદ કરવા દો, અને લોકોએ તે કેમ ઉપયોગી છે તે જોયા પછી જ પુશ પરવાનગી માંગો.