Push obavijesti vitalni su marketinški alat za svakoga tko ima mobilnu aplikaciju.
To je najbolji način komunikacije sa svojim korisnicima, slanje hitnih poruka na njihove mobilne telefone.
Mobilna aplikacija može korisniku poslati push obavijest, što je kratka skočna poruka koja se pojavljuje na pametnom telefonu čak i kada aplikacija nije otvorena.
Ova upozorenja mogu uključivati podsjetnike, ažuriranja, popuste i još mnogo toga.
Stvoreni su da privuku poglede korisnika. Naslov, poruka, slika i URL sve su moguće komponente push obavijesti. Emojiji, logotipi i druge stvari također mogu biti dio njih.
Operativni sustavi kao što su Apple OS i Google Android imaju različita sučelja za push obavijesti.
Push obavijesti mogu se koristiti za promicanje angažmana, povećanje upotrebe aplikacije, utjecaj na konverzije i još mnogo toga.
Mogućnosti su doista neograničene.
Push obavijesti za mobilne uređaje, poznate i kao push obavijesti za mobilne uređaje, mogu nadopuniti vašu upotrebu kanala kao što su e-pošta, SMS i online push obavijesti s nizom posebnih prednosti.
Primit ćete brzi opis usluge obavijesti u ovom postu i informacije o njezinom cilju, dizajnu visoke razine, posebnim značajkama i više.
Cilj
Razviti uslugu obavijesti koja može učinkovito distribuirati poruke od proizvoda do korisnika preko raznih kanala
Zahtjevi:
- API za slanje: objavite ovlaštenu krajnju točku tako da bilo koja pozadina i mikroservis mogu početi isporučivati obavijesti.
- Kompatibilni kanali: Podržava isporuku upozorenja na bilo koji kanal koji objavljuje API, kao što su e-pošta, tekstualne poruke i push.
- Korisničke postavke: Dopustite korisnicima da odaberu svoje korisničke postavke za svaki kanal i obavijest.
- Ograničenja za usklađenost nizvodne usluge: Izbjegavajte imati svoj e-mail ili SMS usluga prigušena ili zaustavljena.
- Skalabilno: Dopušta (teoretski) beskonačno horizontalno skaliranje.
Arhitektura visoke razine
Recimo da vaš kod treba nekoga obavijestiti:
- Krajnju točku POST /send poziva vaš kod. Za svaki dostupni kanal, zahtjev uključuje userId primatelja, vrstu obavijesti i njezin sadržaj.
- /send krajnja točka koristi OAuth2 tijek vjerodajnica za autentifikaciju zahtjeva.
- Korisnikov izbor obavijesti zatim se traži iz baze podataka. Postavke pokazuju je li korisnik pretplaćen na određeni kanal i obavijest.
- Iz baze podataka očitat će karakteristike korisnika poput adresa e-pošte i telefonskih brojeva.
- Ova će krajnja točka stvoriti objekt poruke koji uključuje karakteristike korisnika, kanale i sadržaj specifičan za kanal. No neće uključivati deaktivirane kanale. Poruka se zatim isporučuje fan out usluzi.
- Dolazne poruke se šalju u redove poslova putem fanout usluge. Međutim, postoji filtriranje kako bi se zanemarili redovi poslova za kanale koji nisu navedeni u poruci.
- Svaki kanal ima procesor i radni red. Procesor preuzima zadatak i zatim traži odgovarajuću uslugu, kao što je transakcijska e-pošta ili SMS usluga.
Glavni elementi arhitekture
POST/poslano
Možda ste primijetili da samo userId, a ni adresa e-pošte ni broj telefona nisu uključeni u zahtjev ovoj krajnjoj točki. To omogućuje uslugama obavijesti da ostanu anonimne za vaše korisnike.
Kako bi se osigurala skalabilnost, krajnja točka se nalazi iza a balansiranje opterećenja.
Vaša tipična provjera autentičnosti okrenuta prema korisniku ne pruža zaštitu za krajnju točku.
Morate upotrijebiti posebnu metodu provjere autentičnosti poznatu kao OAuth2 Client Credential Flow koja se koristi za komunikaciju između poslužitelja budući da je usluga koja šalje zahtjev sam softver.
Vaša će aplikacija pružati obavijesti na mnogo različitih mjesta. Možete upotrijebiti funkciju slanja gotovo bilo gdje, primjerice iz nove baze koda ili vašeg radnog tijeka izgradnje, implementirajući je kao krajnju točku iza balansera opterećenja, što jamči da je neovisno skalabilna.
PUT/korisničke postavke
Koristite par ključ/vrijednost ili NoSQL bazu podataka koja je izuzetno skalabilna. Formatirajte zapise na sljedeći način: KEY: ID uzorka korisnika: ID uzorka obavijesti, VRIJEDNOST: [“e-pošta”, “stanje: istinito,” “SMS”, “stanje: lažno,” kanal: “e-pošta”, “e-pošta”, stanje : istina"]
Ako su u zapisima prisutne "lažne" vrijednosti, krajnja točka prijenosa isključit će odgovarajući kanal iz poruke isporučene fanoutu. Ako ne postoji zapis za kanal, korisnik nije izričito naznačio svoje postavke. U ovom scenariju morate pristati na propust.
Korisnik može mijenjati podatke u bazi podataka korisničkih preferencija pomoću vašeg korisničkog sučelja i redovite krajnje točke koja je osigurana vašim standardnim postupcima provjere autentičnosti.
Korisnici će postati iritirani i biti prisiljeni označiti vaša upozorenja kao neželjenu poštu ili ih ušutkati ako im ne pružite opciju da izmijene svoje postavke obavijesti. Zbog toga će vaše korisničko iskustvo biti dodatno oštećeno, a usluge dostave e-pošte ili SMS-a mogle bi suspendirati vaš račun.
Fan Out
Fanout kopira poruku i distribuira je na različita mjesta. Oni su pristupačni i vrlo prilagodljivi. Koristite SNS u AWS-u. Koristite Pub/Sub u Azureu te teme i pretplate na Google Cloud Platformi.
Kako biste spriječili slanje besmislenih poruka u izuzete redove poslova kanala, možete konfigurirati filtriranje između fanouta i redova čekanja posla. Na primjer, u AWS SNS-u možete navesti da red čekanja poslova e-pošte treba primati fanout poruku samo ako ima vrijednost "e-pošta" u polju "kanali".
Čak i kad biste mogli stvoriti kod za slanje identične poruke potrebnim redovima poslova, fanout je učinkovitiji i zahtijeva manje kodiranja. Fanout također nudi pogodnost dodavanja i uklanjanja redova čekanja, omogućujući vam da proširite i reorganizirate svoje kanale.
Obrada posla
Poruke su pohranjene u redovima čekanja na obradu od strane vaših procesora posla. Također su pristupačne i vrlo prilagodljive. Procesori poslova su dijelovi koda koji obrađuju poruke iz redova poslova. Ovisno o količini poruka u redu čekanja, mogu se skalirati.
Procesor posla trebao bi uputiti API poziv odgovarajućem pružatelju usluga za isporuku obavijesti u našem scenariju putem usluge transakcijske e-pošte.
Većina pružatelja usluga dostave e-pošte, SMS-a i sličnih poruka ima stroge zahtjeve za količinu i kalibar poruka koje šaljete. Osim toga, želite ih temeljito ispitati i postaviti odgovarajuće postupke. Evo našeg savjeta o tome kako izbjeći ukidanje AWS SES-a.
Možete definirati maksimalan broj procesora poslova kako biste spriječili prekoračenje ograničenja cijena usluga isporuke.
Daljnja poboljšanja
Možete baciti pogled na hrpu ovih predmeta.
- Trebaju vlastite API-je, tablice itd. kako bi imali skalabilnu uslugu obavijesti unutar aplikacije.
- Prikupljanje i prikazivanje izvješća o otvaranju/kliku
- Uklanjanje sadržaja obavijesti iz koda i dopuštanje vašem proizvodu i dizajnerskom timu da umjesto toga vizualno modificiraju upozorenja bez promjene koda
- Bez mijenjanja koda, vaš tim može koristiti nadzornu ploču za aktiviranje ili onemogućavanje obavijesti za određene kanale.
Prednosti Push obavijesti
- Pojačajte korisničku interakciju: Ažuriranja i svježi materijali zadržat će interes vaših korisnika.
- Povećajte vidljivost komunikacije: pobrinite se da se vaše poruke odmah prime, čak i kada ljudi nisu aktivni. Šaljite hitne obavijesti i korisnicima omogućite glatko iskustvo.
- Održavanje zadržavanja: koristite push obavijesti koje su jasno vidljive kako biste potaknuli svoje korisnike da se vrate. Možete povećati zadržavanje korisnika i smanjiti odlazak guranjem kupaca natrag na svoju web-lokaciju i aplikaciju.
- Poboljšajte konverzije: stvaranjem push kampanja oko nagrada unutar aplikacije, promocija, popusta ili drugih ponuda, možete povećati prodaju.
- Proširite svoje poduzeće: Vaš komunikacijski pristup mora se povećavati kako se vaša publika širi. Kako se vaša baza klijenata širi, push obavijesti su učinkovit način da ostanete u kontaktu s njima.
- Učinite korisničko iskustvo povezanim (UX): pružanjem transakcijskih upozorenja potrošačima kako biste ih informirali i omogućili glatko međukanalno iskustvo, možete smanjiti trvenje tijekom kupčevog putovanja.
Zaključak
Zaključno, stekli smo znanje o arhitekturi skalabilne usluge push obavijesti. Također smo pogledali alate koje pružaju svi glavni pružatelji usluga u oblaku kako biste svoje obavijesti mogli temeljiti na njima.
Unatoč činjenici da sam dao sve od sebe da vam pružim pregled arhitekture sustava push obavijesti, puno se toga događa iza kulisa.
Iskreno se nadam da će vam ove informacije biti korisne i da ćete ih dobro iskoristiti.
Ostavi odgovor