Push Notifikatiounen sinn e wesentlecht Marketinginstrument fir jiddereen mat enger mobiler App.
Et ass de beschte Wee fir mat Äre Benotzer ze kommunizéieren, dréngend Messagen op hir Handyen ze schécken.
Eng mobil App kann engem Benotzer eng Push Notifikatioun schécken, dat ass e kuerze Pop-up Message deen op hirem Smartphone erschéngt och wann d'App net op ass.
Dës Alarmer kënnen Erënnerungen, Updates, Remise a méi enthalen.
Si sinn erstallt fir d'Aen vun de Benotzer ze fangen. Titel, Message, Bild an URL sinn all méiglech Komponente vun enger Push Notifikatioun. Emojis, Logoen an aner Saachen kënnen och en Deel vun hinnen sinn.
Betribssystemer wéi Apple OS a Google Android hunn verschidden Interfaces fir Push Notifikatiounen.
Push Notifikatioune kënne benotzt ginn fir Engagement ze förderen, d'App Benotzung ze stäerken, d'Conversiounen ze beaflossen, a sou vill méi.
D'Optioune si wierklech onbegrenzt.
Push Notifikatiounen fir mobilen Apparater, och bekannt als Push Notifikatiounen fir mobilen Apparater, kënnen Är Notzung vu Kanäl wéi E-Mail, SMS an Online Push Notifikatioune mat enger Rei vu spezielle Virdeeler ergänzen.
Dir kritt eng séier Beschreiwung vum Notifikatiounsservice an dësem Post an Informatioun iwwer säin Objektiv, High-Level Design, Spezialfeatures, a méi.
Zil
Fir en Notifikatiounsservice z'entwéckelen, deen effizient Produkt-zu-Benotzer Messagen iwwer eng Vielfalt vu Kanäl verdeele kann
Ufuerderunge:
- Schécken API: Verëffentlechen en autoriséierten Endpunkt sou datt all Backend a Mikrodéngscht kann ufänken Notifikatiounen ze liwweren.
- Kompatibel Channels: Ënnerstëtzt d'Liwwerung vun Alarmer op all Kanal deen eng API publizéiert, wéi E-Mail, SMS a Push.
- D'Astellunge vum Benotzer: Erlaabt d'Benotzer hir Benotzerpreferenze fir all Kanal an Notifikatioun ze wielen.
- Limite fir Downstream Service Konformitéit: Vermeit Är Email oder SMS Service gestoppt oder gestoppt.
- Skalierbar: Erlaabt (theoretesch) onendlech horizontale Skaléieren.
Héich-Niveau Architektur
Loosst eis soen datt Äre Code soll een matdeelen:
- De POST / send Endpunkt gëtt vun Ärem Code opgeruff. Fir all verfügbare Kanal enthält d'Ufro d'UserId vum Empfänger, den Typ vun der Notifikatioun a säin Inhalt.
- Den OAuth2 Client Credentials Flow gëtt vum / send Endpunkt benotzt fir d'Ufro ze authentifizéieren.
- D'Notifikatiounswahlen vum Benotzer ginn dann vun der Datebank ugefrot. D'Astellunge weisen ob de Benotzer op e bestëmmte Kanal an Notifikatioun abonnéiert ass oder net.
- Aus der Datebank liest et Benotzercharakteristike wéi E-Mail Adressen an Telefonsnummeren.
- Dësen Endpunkt erstellt e Messageobjet deen Benotzercharakteristiken, Kanäl a Kanalspezifesch Inhalt enthält. Et wäert awer net deaktivéiert Kanäl enthalen. De Message gëtt dann un e Fan Out Service geliwwert.
- Entréeën Messagen ginn iwwer de Fanout Service op d'Aarbechtsschlaangen verdeelt. Filteren ass awer op der Plaz fir Aarbechtsschlaange fir Kanäl ze ignoréieren déi net an der Noriicht spezifizéiert sinn.
- All Kanal huet e Prozessor an eng Aarbecht Schlaang. De Prozessor iwwerhëlt d'Aufgab a freet dann no de passenden Service, sou wéi eng Transaktiouns-E-Mail oder SMS-Service.
Major Architektur Elementer
POST / geschéckt
Dir hutt vläicht ganz gutt gemierkt datt nëmmen d'UserId a weder d'E-Mailadress nach d'Telefonsnummer an der Ufro un dësem Endpunkt abegraff sinn. Dëst erlaabt d'Notifikatiounsservicer fir Är Benotzer anonym ze bleiwen.
Fir Skalierbarkeet ze garantéieren, gëtt den Endpunkt hannert engem gesat Belaaschtungsausgläicher.
Är typesch Benotzer-konfrontéiert Authentifikatioun bitt kee Schutz fir den Endpunkt.
Dir musst eng ënnerschiddlech Authentifikatiounsmethod benotzen bekannt als den OAuth2 Client Credential Flow fir Server-zu-Server Kommunikatioun benotzt well de Service deen d'Ufro ofginn ass d'Software selwer.
Är Applikatioun gëtt Notifikatiounen op ville verschiddene Plazen. Dir kënnt d'Sendfunktioun bal iwwerall benotzen, sou wéi vun enger neier Codebase oder Ärem Build Workflow, andeems Dir se als Endpunkt hannert engem Lastbalancer implementéiert, wat garantéiert datt et onofhängeg skalierbar ass.
PUT / Benotzer Virléiften
Benotzt e Schlëssel / Wäertpaar oder NoSQL Datebank déi extrem skalierbar ass. Formatéiert d'Opzeechnungen wéi follegt: KEY: Probe Benotzer ID: Sample Notifikatioun ID, VALUE: ["E-Mail", "Staat: richteg", "SMS", "Staat: falsch", Kanal: "E-Mail", "E-Mail", Staat : wouer”]
Wann "falsch" Wäerter an den Opzeechnungen präsent sinn, schléisst den Iwwerdroungsendpunkt de entspriechende Kanal aus dem Message un de Fanout geliwwert. Wann et kee Rekord fir e Kanal gëtt, huet de Benotzer seng Virléiften net ausdrécklech uginn. Dir musst Zoustëmmung zu Standard an dësem Szenario.
De Benotzer kann d'Donnéeën an der User Preferences Datebank mat Ärem UI an engem reguläre Endpunkt änneren, deen duerch Är Standard Authentifikatiounsprozeduren geséchert ass.
D'Benotzer wäerte irritéiert ginn a gezwongen sinn Är Alarmer als Spam ze bezeechnen oder se ze roueg wann Dir hinnen net d'Méiglechkeet gëtt hir Notifikatiounsvirléiften z'änneren. Är Benotzererfarung gëtt als Resultat weider beschiedegt, an E-Mail- oder SMS-Liwwerservicer kënnen Äre Kont suspendéieren.
Fan eraus
Fanout kopéiert e Message a verdeelt se op verschidde Plazen. Si sinn bezuelbar a ganz skalierbar. Benotzt SNS an AWS. Benotzt Pub / Sub an Azure an Themen an Abonnementer an der Google Cloud Plattform.
Fir ze verhënneren, datt sënnlos Messagen op ausgeschlossene Kanaljobschlaangen verschécken, kënnt Dir d'Filterung tëscht dem Fanout an der Aarbechtsschlaangen konfiguréieren. Zum Beispill, an AWS SNS, kënnt Dir uginn datt d'E-Mail Jobschlaang nëmmen de Fanout Message sollt kréien wann et den "E-Mail" Wäert am "Channels" Feld huet.
Och wann Dir Code kéint erstellen fir den identesche Message un déi erfuerderlech Aarbechtsschlaangen ze schécken, Fanout ass méi effizient a brauch manner Kodéierung. Fanout bitt och d'Bequemlechkeet fir Schlaangen ze addéieren an ze läschen, wat Iech erlaabt Är Kanäl ze verlängeren an ze reorganiséieren.
Aarbecht Veraarbechtung
Messagen ginn a Schlaangen gespäichert bis op d'Veraarbechtung vun Ären Jobprozessoren. Si sinn och bezuelbar a ganz skalierbar. Job Prozessoren si Stécker Code déi Messagen aus den Jobschlaangen veraarbechten. Ofhängeg vum Volume vun de Messagen an der Schlaang, kënne se skaléieren.
Den Jobprozessor soll en API Uruff un de passenden Ubidder maachen fir d'Notiz an eisem Szenario iwwer en Transaktiouns-E-Mail-Service ze liwweren.
D'Majoritéit vun E-Mail, SMS, an ähnlech Message Liwwerung Providere hunn enk Ufuerderunge fir d'Quantitéit an de Kaliber vun Messagen Dir schéckt. Zousätzlech wëllt Dir dës iwwerpréiwen a gëeegent Prozedure grëndlech opsetzen. Hei ass eise Rot fir ze vermeiden datt Dir vun AWS SES ofgeschloss gëtt.
Dir kënnt eng maximal Unzuel vun Jobprozessoren definéieren fir ze vermeiden datt d'Liwwerungsservicer Tarifkappen iwwerschreiden.
Weider Verbesserungen
Dir kënnt e Bléck op eng Rëtsch vun dësen Artikelen hunn.
- Si brauchen hir eege APIen, Dëscher, etc., fir e skalierbare In-App Notifikatiounsservice ze hunn.
- Sammelen a weist den oppenen / klickt Rapport
- Den Inhalt vun den Notifikatiounen aus dem Code erofhuelen an Äert Produkt an Designteam d'Alarmer visuell änneren anstatt ouni Code änneren
- Ouni e Code z'änneren, kann Äert Team den Dashboard benotze fir Notifikatioune fir verschidde Kanäl ze aktivéieren oder auszeschalten.
Virdeeler vun Push Notifikatioun
- Boost Benotzerinteraktioun: Updates a frëscht Material halen Är Benotzer interesséiert.
- Boost Kommunikatioun Visibilitéit: Gitt sécher datt Är Messagen direkt opgeholl ginn, och wann d'Leit net aktiv sinn. Schéckt dréngend Notifikatiounen a bitt de Benotzer eng glat Erfahrung.
- Erhalen Retention: Benotzt Push Notifikatiounen déi kloer sichtbar sinn fir Är Benotzer ze drängen zréck. Dir kënnt d'Benotzererretentioun erhéijen an d'Churn reduzéieren andeems Dir Clienten zréck op Är Websäit an App dréckt.
- Verbessere Konversiounen: Andeems Dir Push Kampagnen ronderëm In-App Auszeechnunge erstellt, Promotiounen, Remise oder aner Offeren, kënnt Dir de Verkaf erhéijen.
- Skala Är Entreprise: Är Kommunikatioun Approche muss skala wéi Är Publikum erweidert. Wéi Är Clientbasis erweidert, Push Notifikatiounen sinn eng effektiv Method fir mat hinnen a Kontakt ze bleiwen.
- Maacht d'Benotzererfarung verbonnen (UX): Andeems Dir Transaktiounsalarmer un d'Konsumenten ubitt fir se informéiert ze halen an eng glat Cross-Channel Erfahrung ze bidden, kënnt Dir Reibung während der ganzer Clientsrees reduzéieren.
Konklusioun
Als Conclusioun hu mir Wëssen iwwer d'Architektur vun engem skalierbare Push Notifikatiounsservice kritt. Mir hunn och d'Tools gekuckt, déi vun all den Haapt Cloud Service Ubidder geliwwert ginn, fir datt Dir Är Notifikatiounen op dës baséiere kënnt.
Trotz der Tatsaach datt ech mäi Bescht probéiert hunn Iech en Iwwerbléck iwwer d'Push Notifikatioun Systemarchitektur ze ginn, gëtt et vill méi hannert de Kulissen.
Ech hoffen oprecht datt Dir dës Informatioun nëtzlech fannt an se gutt benotzt.
Hannerlooss eng Äntwert