Innholdsfortegnelse[Gjemme seg][Forestilling]
Push-varsler er et viktig markedsføringsverktøy for alle som har en mobilapp.
Det er den beste måten å kommunisere med brukerne dine ved å sende hastemeldinger til mobiltelefonene deres.
En mobilapp kan sende en bruker et push-varsel, som er en kort popup-melding som vises på smarttelefonen deres selv når appen ikke er åpen.
Disse varslene kan inkludere påminnelser, oppdateringer, rabatter og mer.
De er laget for å fange brukernes øyne. Tittel, melding, bilde og URL er alle mulige komponenter i en push-varsling. Emojis, logoer og andre ting kan også være en del av dem.
Operativsystemer som Apple OS og Google Android har forskjellige grensesnitt for push-varsler.
Push-varsler kan brukes til å fremme engasjement, øke appbruken, påvirke konverteringer og mye mer.
Alternativene er virkelig ubegrensede.
Push-varsler for mobile enheter, også kjent som push-varsler for mobile enheter, kan supplere bruken din av kanaler som e-post, SMS og online push-varsler med en rekke spesielle fordeler.
Du vil motta en rask beskrivelse av varslingstjenesten i dette innlegget og informasjon om dens objektive design, høynivådesign, spesialfunksjoner og mer.
Målet
Å utvikle en varslingstjeneste som effektivt kan distribuere produkt-til-bruker-meldinger på tvers av en rekke kanaler
Krav:
- Sending API: Publiser et autorisert endepunkt slik at enhver backend og mikrotjeneste kan begynne å levere varsler.
- Kompatible kanaler: Støtte levering av varsler til enhver kanal som publiserer et API, for eksempel e-post, tekstmelding og push.
- Brukerens preferanser: Tillat brukere å velge sine brukerpreferanser for hver kanal og varsling.
- Begrensninger for etterlevelse av nedstrømstjenester: Unngå å ha din emalje eller SMS-tjeneste strupet eller stoppet.
- Skalerbar: Tillat (teoretisk) uendelig horisontal skalering.
Arkitektur på høyt nivå
La oss si at koden din skal varsle noen:
- POST /send-endepunktet påkalles av koden din. For hver tilgjengelig kanal inkluderer forespørselen bruker-IDen til mottakeren, varseltypen og innholdet.
- OAuth2 Client Credentials Flow brukes av /send-endepunktet for å autentisere forespørselen.
- Brukerens varslingsvalg blir deretter bedt om fra databasen. Preferansene viser om brukeren abonnerer på en bestemt kanal og varsling.
- Fra databasen vil den lese brukeregenskaper som e-postadresser og telefonnumre.
- Dette endepunktet vil opprette et meldingsobjekt som inkluderer brukeregenskaper, kanaler og kanalspesifikt innhold. Det vil imidlertid ikke inkludere deaktiverte kanaler. Meldingen blir deretter levert til en fan-out-tjeneste.
- Innkommende meldinger formidles til jobbkøer via fanout-tjenesten. Filtrering er imidlertid på plass for å se bort fra jobbkøer for kanaler som ikke er spesifisert i meldingen.
- Hver kanal har en prosessor og en arbeidskø. Behandleren tar oppgaven og ber deretter om den aktuelle tjenesten, for eksempel en transaksjons-e-post eller SMS-tjeneste.
Viktige arkitekturelementer
POST/sendt
Du har kanskje lagt merke til at bare bruker-ID og verken e-postadresse eller telefonnummer er inkludert i forespørselen til dette endepunktet. Dette gjør at varslingstjenestene kan forbli anonyme for brukerne dine.
For å sikre skalerbarhet er endepunktet plassert bak en lastbalanser.
Din typiske brukervendte autentisering gir ikke beskyttelse for endepunktet.
Du må bruke en distinkt autentiseringsmetode kjent som OAuth2 Client Credential Flow som brukes for server-til-server-kommunikasjon siden tjenesten som sender forespørselen er selve programvaren.
Applikasjonen din vil gi varsler mange forskjellige steder. Du kan bruke sendefunksjonen nesten hvor som helst, for eksempel fra en ny kodebase eller byggearbeidsflyten din, ved å implementere den som et endepunkt bak en lastbalanser, som garanterer at den er uavhengig skalerbar.
PUT/brukerpreferanser
Bruk et nøkkel/verdi-par eller NoSQL-database som er ekstremt skalerbar. Formater postene som følger: NØKKEL: eksempel bruker-id: eksempel varslings-ID, VERDI: [«e-post», «state: sann», «SMS», «state: usann», kanal: «e-post», «e-post», tilstand : sant»]
Hvis "falske" verdier er tilstede i postene, vil overføringsendepunktet ekskludere den tilsvarende kanalen fra meldingen levert til fanouten. Hvis det ikke er en post for en kanal, har ikke brukeren uttrykkelig angitt sine preferanser. Du må samtykke til standard i dette scenariet.
Brukeren kan endre dataene i brukerpreferansedatabasen ved å bruke brukergrensesnittet og et vanlig endepunkt som er sikret av standard autentiseringsprosedyrer.
Brukere vil bli irriterte og bli tvunget til å angi varslene dine som spam eller slå dem av hvis du ikke gir dem muligheten til å endre varslingspreferansene deres. Brukeropplevelsen din vil bli ytterligere skadet som et resultat, og e-post- eller SMS-leveringstjenester kan suspendere kontoen din.
Vifter ut
Fanout kopierer en melding og distribuerer den til forskjellige steder. De er rimelige og veldig skalerbare. Bruk SNS i AWS. Bruk Pub/Sub i Azure og emner og abonnementer i Google Cloud Platform.
For å unngå å sende meningsløse meldinger til ekskluderte kanaljobbkøer, kan du konfigurere filtrering mellom fanout- og arbeidskøene. I AWS SNS kan du for eksempel spesifisere at e-postjobbkøen bare skal få fanout-meldingen hvis den har "e-post"-verdien i "kanaler"-feltet.
Selv om du kunne lage kode for å sende den identiske meldingen til de nødvendige jobbkøene, er fanout mer effektivt og krever mindre koding. Fanout tilbyr også bekvemmeligheten av å legge til og fjerne køer, slik at du kan utvide og omorganisere kanalene dine.
Jobbbehandling
Meldinger lagres i køer i påvente av behandling av jobbbehandlerne dine. De er også rimelige og veldig skalerbare. Jobbprosessorer er kodebiter som behandler meldinger fra jobbkøene. Avhengig av volumet av meldinger i køen, kan de skaleres.
Jobbehandleren bør foreta et API-anrop til den riktige leverandøren for å levere varselet i vårt scenario via en transaksjonsbasert e-posttjeneste.
De fleste leverandørene av e-post, SMS og lignende meldingslevering har strenge krav til antall og kaliber meldinger du sender. I tillegg ønsker du å undersøke disse og sette opp egnede prosedyrer grundig. Her er våre råd om hvordan du unngår å bli sagt opp fra AWS SES.
Du kan definere et maksimalt antall jobbbehandlere for å forhindre overskridelse av leveringstjenestenes satstak.
Ytterligere forbedringer
Du kan ta et blikk på en haug av disse elementene.
- De trenger sine egne APIer, tabeller osv. for å ha en skalerbar varslingstjeneste i appen.
- Samle og vise åpen/klikk-rapporten
- Fjerne innholdet i varslene fra koden og la produkt- og designteamet ditt endre varslene visuelt i stedet uten en kodeendring
- Uten å endre noen kode kan teamet ditt bruke dashbordet til å aktivere eller deaktivere varsler for bestemte kanaler.
Fordeler med push-varsling
- Øk brukerinteraksjon: Oppdateringer og nytt materiale vil holde brukerne dine interessert.
- Øk kommunikasjonssynlighet: Sørg for at meldingene dine mottas umiddelbart, selv når folk ikke er aktive. Send hastevarsler og gi brukerne en jevn opplevelse.
- Oppretthold oppbevaring: Bruk push-varsler som er godt synlige for å oppfordre brukerne dine til å returnere. Du kan øke brukeroppbevaring og redusere churn ved å skyve kunder tilbake til nettstedet og appen din.
- Forbedre konverteringer: Ved å lage push-kampanjer rundt belønninger i appen, kampanjer, rabatter eller andre tilbud, kan du øke salget.
- Skaler bedriften din: Kommunikasjonstilnærmingen din må skaleres etter hvert som publikummet ditt utvides. Etter hvert som kundebasen din utvides, er push-varsler en effektiv metode for å holde kontakten med dem.
- Gjør brukeropplevelsen tilkoblet (UX): Ved å gi transaksjonsvarsler til forbrukere for å holde dem informert og gi en jevn opplevelse på tvers av kanaler, kan du redusere friksjonen gjennom hele kundereisen.
konklusjonen
Avslutningsvis fikk vi kunnskap om arkitekturen til en skalerbar push-varslingstjeneste. Vi har også sett på verktøyene som tilbys av alle de viktigste skytjenesteleverandørene, slik at du kan basere varslene dine på disse.
Til tross for at jeg prøvde mitt beste for å gi deg en oversikt over arkitekturen for push-varslingssystem, skjer det mye mer bak kulissene.
Jeg håper inderlig at du vil finne denne informasjonen nyttig og bruke den godt.
Legg igjen en kommentar