Push obavijesti su vitalni marketinški alat za svakoga tko ima mobilnu aplikaciju.
To je najbolji način komunikacije sa svojim korisnicima, slanjem hitnih poruka na njihove mobilne telefone.
Mobilna aplikacija može korisniku poslati push obavještenje, što je kratka iskačuća poruka koja se pojavljuje na njegovom 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 su sve moguće komponente push obavijesti. Emoji, logotipi i druge stvari također mogu biti dio njih.
Operativni sistemi kao što su Apple OS i Google Android imaju različita sučelja za push obavijesti.
Push obavijesti mogu se koristiti za promoviranje angažmana, povećanje korištenja aplikacija, utjecaj na konverzije i još mnogo toga.
Opcije su zaista neograničene.
Push obavijesti za mobilne uređaje, poznate i kao push obavijesti za mobilne uređaje, mogu dopuniti vašu upotrebu kanala poput e-pošte, SMS-a i online push obavijesti s nizom posebnih prednosti.
U ovom postu ćete dobiti kratak opis usluge obavještavanja i informacije o njenom cilju, dizajnu na visokom nivou, posebnim karakteristikama i još mnogo toga.
objektivan
Razviti uslugu obavještavanja koja može efikasno distribuirati poruke od proizvoda do korisnika na različite kanale
zahtjevi:
- API za slanje: Objavite ovlaštenu krajnju tačku kako bi bilo koji pozadinski i mikroservis mogao početi isporučivati obavijesti.
- Kompatibilni kanali: Podrška za isporuku upozorenja na bilo koji kanal koji objavljuje API, kao što su e-pošta, tekstualne poruke i push.
- Korisničke postavke: Dozvolite korisnicima da odaberu svoje korisničke postavke za svaki kanal i obavještenje.
- Ograničenja za usklađenost s nizvodnim uslugama: Izbjegavajte svoje E-mail ili SMS usluga je ugušena ili zaustavljena.
- Skalabilnost: Dozvoljava (teoretski) beskonačno horizontalno skaliranje.
Arhitektura visokog nivoa
Recimo da bi vaš kod trebao nekoga obavijestiti:
- Krajnja točka POST /send je pozvana od strane vašeg koda. Za svaki dostupni kanal, zahtjev uključuje korisnički ID primaoca, tip obavijesti i njen sadržaj.
- /send krajnja tačka koristi tok akreditiva OAuth2 klijenta za provjeru autentičnosti zahtjeva.
- Korisnički izbori obavijesti se tada traže iz baze podataka. Postavke pokazuju da li je korisnik pretplaćen na određeni kanal i obavještenje.
- Iz baze podataka će čitati korisničke karakteristike kao što su adrese e-pošte i telefonski brojevi.
- Ova krajnja točka će kreirati objekt poruke koji uključuje karakteristike korisnika, kanale i sadržaj specifičan za kanal. Međutim, neće uključivati deaktivirane kanale. Poruka se zatim isporučuje usluzi fan out.
- Dolazne poruke se distribuiraju u redove poslova putem usluge fanout. Filtriranje je ipak na mjestu kako bi se zanemarili redovi poslova za kanale koji nisu navedeni u poruci.
- Svaki kanal ima procesor i radni red. Procesor preuzima zadatak, a 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 korisnički ID i ni adresa e-pošte ni broj telefona nisu uključeni u zahtjev za ovu krajnju tačku. Ovo omogućava uslugama obavještavanja da ostanu anonimne za vaše korisnike.
Da bi se osigurala skalabilnost, krajnja tačka se postavlja iza a uravnoteživač opterećenja.
Vaša tipična autentifikacija okrenuta korisniku ne pruža zaštitu za krajnju točku.
Morate koristiti poseban metod provjere autentičnosti poznat kao OAuth2 Client Credential Flow koji se koristi za komunikaciju između servera jer je usluga koja šalje zahtjev sam softver.
Vaša aplikacija će pružati obavještenja na mnogo različitih mjesta. Funkciju slanja možete koristiti gotovo svugdje, kao što je iz nove baze koda ili iz vašeg radnog toka izrade, implementirajući je kao krajnju točku iza balansera opterećenja, što jamči da je nezavisna 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: tačno”, “SMS”, “stanje: netačno”, kanal: “e-pošta”, “e-pošta”, stanje : tačno
Ako su “lažne” vrijednosti prisutne u zapisima, krajnja tačka odašiljanja će isključiti odgovarajući kanal iz poruke koja se isporučuje u fanout. Ako ne postoji zapis za kanal, korisnik nije izričito naveo svoje preferencije. U ovom scenariju morate pristati na zadano.
Korisnik može izmijeniti podatke u bazi podataka korisničkih preferencija koristeći vaše korisničko sučelje i uobičajenu krajnju točku koja je osigurana vašim standardnim procedurama provjere autentičnosti.
Korisnici će postati iritirani i biti primorani označiti vaša upozorenja kao neželjenu poštu ili ih ušutkati ako im ne date opciju da izmijene svoje postavke obavijesti. Kao rezultat toga, vaše korisničko iskustvo će biti dodatno naruš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čite lokacije. Oni su pristupačni i vrlo skalabilni. Koristite SNS u AWS-u. Koristite Pub/Sub u Azureu i teme i pretplate na Google Cloud Platformu.
Kako biste spriječili slanje besmislenih poruka u redove zadataka isključenih kanala, možete konfigurirati filtriranje između redova rada i rasklapanja. Na primjer, u AWS SNS-u možete navesti da red poslova e-pošte treba da dobije poruku o rasklapanju samo ako ima vrijednost „e-pošta“ u polju „kanali“.
Čak i kada biste mogli kreirati kod za slanje identične poruke potrebnim redovima poslova, fanout je efikasniji i zahtijeva manje kodiranja. Fanout takođe nudi pogodnost dodavanja i uklanjanja redova čekanja, omogućavajući vam da proširite i reorganizujete svoje kanale.
Obrada posla
Poruke se pohranjuju u redovima čekanja na obradu od strane vaših procesora poslova. Takođe su pristupačne i veoma skalabilne. Procesori poslova su dijelovi koda koji obrađuju poruke iz redova poslova. Ovisno o količini poruka u redu čekanja, one se mogu mijenjati.
Procesor posla bi trebao uputiti API poziv odgovarajućem provajderu da isporuči obavještenje u našem scenariju putem transakcijske usluge e-pošte.
Većina dobavljača e-pošte, SMS-a i sličnih dobavljača poruka ima stroge zahtjeve za količinu i kalibar poruka koje šaljete. Pored toga, želite da ih ispitate i temeljno postavite odgovarajuće procedure. Evo našeg savjeta kako da izbjegnete ukidanje iz AWS SES-a.
Možete definirati maksimalan broj procesora poslova kako biste spriječili prekoračenje ograničenja stope usluga isporuke.
Dalja poboljšanja
Možete baciti pogled na gomilu ovih stavki.
- Potrebni su im vlastiti API-ji, tabele, itd. kako bi imali skalabilnu uslugu obavještenja u aplikaciji.
- Prikupljanje i prikazivanje izvještaja o otvaranju/kliku
- Uklanjanje sadržaja obavijesti iz koda i dopuštanje vašem proizvodnom i dizajnerskom timu da vizualno modificira upozorenja bez promjene koda
- Bez promjene koda, vaš tim može koristiti kontrolnu tablu za aktiviranje ili onemogućavanje obavještenja za određene kanale.
Prednosti Push obavijesti
- Povećajte interakciju korisnika: Ažuriranja i svježi materijali će zadržati interes vaših korisnika.
- Povećajte vidljivost komunikacije: Osigurajte da se vaše poruke odmah primaju, čak i kada ljudi nisu aktivni. Šaljite hitna obavještenja i omogućite korisnicima nesmetano iskustvo.
- Održavajte zadržavanje: koristite push obavijesti koje su jasno vidljive kako biste podstakli svoje korisnike da se vrate. Možete povećati zadržavanje korisnika i smanjiti odljev tako što ćete klijente vratiti na svoju web stranicu i aplikaciju.
- Poboljšajte konverzije: Kreiranjem push kampanja oko nagrada u aplikaciji, promocija, popusta ili drugih ponuda, možete povećati prodaju.
- Skalirajte svoje preduzeće: Vaš komunikacijski pristup mora se povećati kako se vaša publika širi. Kako se vaša baza klijenata širi, push obavijesti su efikasan način da ostanete u kontaktu s njima.
- Povežite korisničko iskustvo (UX): Pružanjem transakcijskih upozorenja potrošačima kako bi bili informirani i omogućili nesmetano iskustvo na različitim kanalima, možete smanjiti trenje tokom cijelog puta korisnika.
zaključak
U zaključku, stekli smo znanje o arhitekturi skalabilne usluge push notifikacije. Također smo pogledali alate koje pružaju svi glavni dobavljači usluga u oblaku tako da možete bazirati svoje obavijesti na njima.
Uprkos činjenici da sam se potrudio da vam pružim pregled arhitekture sistema push notifikacija, iza kulisa se dešava mnogo više.
Iskreno se nadam da će vam ove informacije biti korisne i da ćete ih dobro iskoristiti.
Ostavite odgovor