Push notifikácie sú dôležitým marketingovým nástrojom pre každého, kto má mobilnú aplikáciu.
Je to najlepší spôsob, ako komunikovať s vašimi používateľmi, posielať naliehavé správy na ich mobilné telefóny.
Mobilná aplikácia môže používateľovi poslať upozornenie push, čo je krátka kontextová správa, ktorá sa zobrazí na jeho smartfóne, aj keď aplikácia nie je otvorená.
Tieto upozornenia môžu zahŕňať pripomienky, aktualizácie, zľavy a ďalšie.
Sú vytvorené tak, aby upútali pohľad používateľov. Názov, správa, obrázok a adresa URL sú všetky možné súčasti oznámenia push. Ich súčasťou môžu byť aj emotikony, logá a ďalšie veci.
Operačné systémy ako Apple OS a Google Android majú rôzne rozhrania pre push notifikácie.
Push notifikácie možno použiť na podporu zapojenia, zvýšenie používania aplikácie, ovplyvnenie konverzií a oveľa viac.
Možnosti sú skutočne neobmedzené.
Push notifikácie pre mobilné zariadenia, známe aj ako push notifikácie pre mobilné zariadenia, môžu doplniť vaše používanie kanálov, ako sú e-mail, SMS a online push notifikácie, o množstvo špeciálnych výhod.
V tomto príspevku dostanete rýchly popis oznamovacej služby a informácie o jej cieli, dizajne na vysokej úrovni, špeciálnych funkciách a ďalších.
Objektívne
Vyvinúť oznamovaciu službu, ktorá dokáže efektívne distribuovať správy medzi produktmi cez rôzne kanály
požiadavky:
- Rozhranie API na odosielanie: Zverejnite autorizovaný koncový bod, aby každý backend a mikroslužba mohli začať doručovať upozornenia.
- Kompatibilné kanály: Podpora doručovania upozornení na akýkoľvek kanál, ktorý publikuje rozhranie API, ako sú e-maily, textové správy a push.
- Predvoľby používateľa: Umožňujú používateľom vybrať si používateľské preferencie pre každý kanál a upozornenie.
- Limity pre súlad s následnými službami: Vyhnite sa tomu, aby ste mali svoje e-mail alebo služba SMS bola obmedzená alebo zastavená.
- Škálovateľné: Umožňuje (teoreticky) nekonečné horizontálne škálovanie.
Architektúra na vysokej úrovni
Povedzme, že váš kód má niekoho upozorniť:
- Koncový bod POST / odoslanie je vyvolaný vaším kódom. Pre každý dostupný kanál žiadosť obsahuje userId príjemcu, typ oznámenia a jeho obsah.
- Tok poverení klienta OAuth2 používa koncový bod /send na overenie požiadavky.
- Voľby upozornení používateľa sú potom vyžiadané z databázy. Predvoľby ukazujú, či je používateľ prihlásený na odber určitého kanála a upozornenia.
- Z databázy bude čítať charakteristiky používateľov, ako sú e-mailové adresy a telefónne čísla.
- Tento koncový bod vytvorí objekt správy, ktorý obsahuje charakteristiky používateľa, kanály a obsah špecifický pre daný kanál. Nezahŕňa však deaktivované kanály. Správa sa potom doručí do fan-out služby.
- Prichádzajúce správy sa šíria do frontov úloh prostredníctvom služby fanout. Filtrovanie je však na mieste, aby sa ignorovali fronty úloh pre kanály, ktoré nie sú špecifikované v správe.
- Každý kanál má procesor a pracovný front. Spracovateľ prevezme úlohu a potom požiada o príslušnú službu, ako je transakčný e-mail alebo SMS služba.
Hlavné prvky architektúry
POST/odoslané
Možno ste si všimli, že v žiadosti o tento koncový bod nie je zahrnuté iba ID používateľa a ani e-mailová adresa ani telefónne číslo. To umožňuje, aby notifikačné služby zostali pre vašich používateľov anonymné.
Na zabezpečenie škálovateľnosti je koncový bod umiestnený za a Vyvažovač zaťaženia.
Vaša typická autentifikácia zo strany používateľa neposkytuje ochranu pre koncový bod.
Musíte použiť odlišnú metódu overenia známu ako OAuth2 Client Credential Flow, ktorá sa používa na komunikáciu medzi servermi, pretože služba, ktorá odošle požiadavku, je samotný softvér.
Vaša aplikácia bude poskytovať upozornenia na mnohých rôznych miestach. Funkciu odosielania môžete využiť takmer kdekoľvek, napríklad z novej kódovej základne alebo pracovného postupu zostavovania, a to tak, že ju implementujete ako koncový bod za vyvažovačom zaťaženia, čo zaručuje, že je nezávisle škálovateľná.
PUT/používateľské preferencie
Použite pár kľúč/hodnota alebo databázu NoSQL, ktorá je mimoriadne škálovateľná. Záznamy naformátujte nasledovne: KĽÚČ: vzorové ID používateľa: ID vzorového upozornenia, HODNOTA: [“e-mail“, „stav: pravda“, „SMS“, „stav: nepravda“, kanál: „e-mail“, „e-mail“, stav : pravda”]
Ak sú v záznamoch prítomné hodnoty „false“, koncový bod prenosu vylúči príslušný kanál zo správy doručenej do fanoutu. Ak pre kanál neexistuje záznam, používateľ výslovne neuviedol svoje preferencie. V tomto scenári musíte súhlasiť s predvoleným nastavením.
Používateľ môže upraviť údaje v databáze používateľských preferencií pomocou vášho používateľského rozhrania a bežného koncového bodu, ktorý je zabezpečený vašimi štandardnými postupmi overovania.
Používatelia budú podráždení a budú nútení označiť vaše upozornenia ako spam alebo ich umlčať, ak im neposkytnete možnosť zmeniť predvoľby upozornení. Výsledkom bude ďalšie poškodenie vášho používateľského prostredia a služby doručovania e-mailov alebo SMS môžu pozastaviť váš účet.
Fan Out
Fanout skopíruje správu a distribuuje ju na rôzne miesta. Sú cenovo dostupné a veľmi škálovateľné. Použite SNS v AWS. Použite Pub/Sub v Azure a témy a predplatné v Google Cloud Platform.
Aby ste predišli odosielaniu nezmyselných správ do frontov úloh vylúčeného kanála, môžete nakonfigurovať filtrovanie medzi fanoutovým a pracovným frontom. Napríklad v AWS SNS môžete určiť, že front e-mailových úloh by mal dostať správu fanout iba vtedy, ak má v poli „kanály“ hodnotu „e-mail“.
Aj keby ste mohli vytvoriť kód na odoslanie identickej správy do požadovaných frontov úloh, fanout je efektívnejší a vyžaduje menej kódovania. Fanout tiež ponúka pohodlie pri pridávaní a odstraňovaní frontov, čo vám umožňuje rozšíriť a reorganizovať vaše kanály.
Spracovanie úloh
Správy sú uložené vo frontoch čakajúcich na spracovanie vašimi procesormi úloh. Sú tiež cenovo dostupné a veľmi škálovateľné. Procesory úloh sú časti kódu, ktoré spracúvajú správy z frontov úloh. V závislosti od objemu správ vo fronte sa môžu meniť.
Spracovateľ úloh by mal zavolať správnemu poskytovateľovi API, aby doručil oznámenie v našom scenári prostredníctvom transakčnej e-mailovej služby.
Väčšina poskytovateľov doručovania e-mailov, SMS a podobných správ má prísne požiadavky na množstvo a kalibru odosielaných správ. Okrem toho ich chcete dôkladne preskúmať a nastaviť vhodné postupy. Tu je naša rada, ako sa vyhnúť ukončeniu z AWS SES.
Môžete definovať maximálny počet procesorov úloh, aby ste zabránili prekročeniu limitov rýchlosti doručovacích služieb.
Ďalšie vylepšenia
Môžete sa pozrieť na množstvo týchto položiek.
- Na to, aby mali škálovateľnú službu upozornení v aplikácii, potrebujú svoje vlastné rozhrania API, tabuľky atď.
- Zhromažďovanie a zobrazenie prehľadu otvorenia/kliknutia
- Odstránenie obsahu upozornení z kódu a umožnenie tomu, aby váš produktový a dizajnérsky tím upravil upozornenia vizuálne bez zmeny kódu
- Bez zmeny akéhokoľvek kódu môže váš tím použiť informačný panel na aktiváciu alebo zakázanie upozornení pre určité kanály.
Výhody Push notifikácie
- Zvýšte interakciu používateľov: Aktualizácie a nové materiály udržia vašich používateľov záujem.
- Zvýšte viditeľnosť komunikácie: Zabezpečte, aby vaše správy boli prijaté okamžite, aj keď ľudia nie sú aktívni. Odosielajte naliehavé upozornenia a poskytnite používateľom bezproblémový zážitok.
- Udržiavanie: Použite upozornenia push, ktoré sú jasne viditeľné, aby ste vyzvali svojich používateľov, aby sa vrátili. Môžete zvýšiť udržanie používateľov a znížiť ich odchod tým, že zákazníkov privediete späť na svoj web a do aplikácie.
- Vylepšenie konverzií: Vytvorením push kampaní okolo ocenení v aplikácii, propagačných akcií, zliav alebo iných ponúk môžete zvýšiť predaj.
- Škálujte svoj podnik: Váš komunikačný prístup sa musí škálovať s rozširovaním vášho publika. Keď sa vaša klientska základňa rozširuje, oznámenia push sú účinnou metódou, ako s nimi zostať v kontakte.
- Zabezpečte prepojenie používateľskej skúsenosti (UX): Poskytovaním transakčných upozornení spotrebiteľom, aby boli informovaní a poskytovaním hladkého zážitku naprieč kanálmi, môžete znížiť trenie počas cesty zákazníka.
záver
Na záver sme získali poznatky o architektúre škálovateľnej služby push notifikácií. Pozreli sme sa aj na nástroje, ktoré poskytujú všetci hlavní poskytovatelia cloudových služieb, aby ste na nich mohli zakladať svoje upozornenia.
Napriek tomu, že som sa snažil poskytnúť vám prehľad o architektúre systému push notifikácií, v zákulisí sa toho deje oveľa viac.
Úprimne dúfam, že tieto informácie budú pre vás užitočné a dobre ich využijete.
Nechaj odpoveď