Pushmeldingen zijn een essentiële marketingtool voor iedereen met een mobiele app.
Het is de beste manier om met uw gebruikers te communiceren door dringende berichten naar hun mobiele telefoons te sturen.
Een mobiele app kan een gebruiker een pushmelding sturen. Dit is een kort pop-upbericht dat op zijn smartphone verschijnt, zelfs als de app niet is geopend.
Deze waarschuwingen kunnen herinneringen, updates, kortingen en meer bevatten.
Ze zijn gemaakt om de aandacht van gebruikers te trekken. Titel, bericht, afbeelding en URL zijn allemaal mogelijke componenten van een pushmelding. Emoji's, logo's en andere dingen kunnen er ook deel van uitmaken.
Besturingssystemen zoals Apple OS en Google Android hebben diverse interfaces voor pushmeldingen.
Pushmeldingen kunnen worden gebruikt om betrokkenheid te bevorderen, app-gebruik te stimuleren, conversies te beïnvloeden en nog veel meer.
De mogelijkheden zijn werkelijk onbeperkt.
Pushmeldingen voor mobiele apparaten, ook wel pushmeldingen voor mobiele apparaten genoemd, kunnen uw gebruik van kanalen zoals e-mail, sms en online pushmeldingen aanvullen met een aantal speciale voordelen.
U ontvangt in dit bericht een korte beschrijving van de meldingsservice en informatie over het doel, het hoogwaardige ontwerp, speciale functies en meer.
Objectief
Een meldingsservice ontwikkelen die berichten van producten naar gebruikers efficiënt kan verspreiden via verschillende kanalen
Voorwaarden:
- Verzend-API: publiceer een geautoriseerd eindpunt zodat elke backend en microservice kan beginnen met het leveren van meldingen.
- Compatibele kanalen: ondersteuning voor het leveren van waarschuwingen aan elk kanaal dat een API publiceert, zoals e-mail, sms en push.
- De voorkeuren van de gebruiker: Sta gebruikers toe om hun gebruikersvoorkeuren te selecteren voor elk kanaal en elke melding.
- Limieten voor de naleving van downstream-services: voorkom dat uw email of sms-service gesmoord of gestopt.
- Schaalbaar: Sta (theoretisch) oneindige horizontale schaling toe.
Architectuur op hoog niveau
Stel dat uw code iemand moet informeren:
- Het POST /send-eindpunt wordt aangeroepen door uw code. Voor elk beschikbaar kanaal bevat het verzoek de gebruikers-ID van de ontvanger, het type melding en de inhoud ervan.
- De OAuth2-clientreferentiesstroom wordt gebruikt door het /send-eindpunt om de aanvraag te verifiëren.
- De meldingskeuzes van de gebruiker worden vervolgens opgevraagd uit de database. De voorkeuren laten zien of de gebruiker is geabonneerd op een bepaald kanaal en een melding.
- Uit de database leest het gebruikerskenmerken zoals e-mailadressen en telefoonnummers.
- Dit eindpunt maakt een berichtobject met gebruikerskenmerken, kanalen en kanaalspecifieke inhoud. Het bevat echter geen gedeactiveerde kanalen. Het bericht wordt vervolgens afgeleverd bij een fan-out-service.
- Inkomende berichten worden via de fanout-service naar de taakwachtrijen verspreid. Er is echter een filter om taakwachtrijen te negeren voor kanalen die niet in het bericht zijn gespecificeerd.
- Elk kanaal heeft een processor en een werkwachtrij. De verwerker neemt de taak op zich en vraagt vervolgens om de juiste dienst, zoals een transactionele e-mail- of sms-dienst.
Belangrijke architectuurelementen
POST/verzonden
Het is u misschien opgevallen dat alleen de gebruikers-ID en noch het e-mailadres noch het telefoonnummer zijn opgenomen in het verzoek aan dit eindpunt. Hierdoor kunnen de meldingsdiensten anoniem blijven voor uw gebruikers.
Om schaalbaarheid te garanderen, wordt het eindpunt achter a load balancer.
Uw typische gebruikersverificatie biedt geen bescherming voor het eindpunt.
U moet een afzonderlijke authenticatiemethode gebruiken die bekend staat als de OAuth2-clientreferentiestroom die wordt gebruikt voor server-naar-server-communicatie, aangezien de service die het verzoek indient de software zelf is.
Uw applicatie geeft op veel verschillende plaatsen meldingen. U kunt de verzendfunctie bijna overal gebruiken, zoals vanuit een nieuwe codebase of uw build-workflow, door deze te implementeren als een eindpunt achter een load-balancer, wat garandeert dat deze onafhankelijk schaalbaar is.
PUT/gebruikersvoorkeuren
Gebruik een sleutel/waarde-paar of NoSQL-database die extreem schaalbaar is. Formatteer de records als volgt: KEY: voorbeeld gebruikers-ID: voorbeeld meldings-ID, VALUE: [“e-mail”, “status: waar”, “SMS”, “staat: onwaar”, kanaal: “e-mail”, “e-mail”, staat : WAAR
Als er "valse" waarden in de records aanwezig zijn, zal het verzendeindpunt het corresponderende kanaal uitsluiten van het bericht dat aan de fanout wordt afgeleverd. Als er geen record voor een kanaal is, heeft de gebruiker zijn voorkeuren niet uitdrukkelijk aangegeven. In dit scenario moet u instemmen met de standaardinstelling.
De gebruiker kan de gegevens in de database met gebruikersvoorkeuren wijzigen met behulp van uw gebruikersinterface en een normaal eindpunt dat wordt beveiligd door uw standaard authenticatieprocedures.
Gebruikers zullen geïrriteerd raken en worden gedwongen om uw meldingen aan te merken als spam of ze het zwijgen op te leggen als u hen niet de mogelijkheid geeft om hun meldingsvoorkeuren te wijzigen. Uw gebruikerservaring zal hierdoor verder worden geschaad en e-mail- of sms-bezorgservices kunnen uw account opschorten.
Uitwaaieren
Fanout kopieert een bericht en verspreidt het naar verschillende locaties. Ze zijn betaalbaar en zeer schaalbaar. Gebruik SNS in AWS. Gebruik Pub/Sub in Azure en onderwerpen en abonnementen in Google Cloud Platform.
Om te voorkomen dat er nutteloze berichten worden verzonden naar wachtrijen voor uitgesloten kanaaltaken, kunt u filteren tussen de fanout- en werkwachtrijen configureren. In AWS SNS kunt u bijvoorbeeld specificeren dat de wachtrij voor e-mailtaken alleen het fanout-bericht mag krijgen als deze de waarde "e-mail" in het veld "kanalen" heeft.
Zelfs als je code zou kunnen maken om het identieke bericht naar de vereiste taakwachtrijen te sturen, is fanout efficiënter en vereist minder codering. Fanout biedt ook het gemak van het toevoegen en verwijderen van wachtrijen, zodat je je kanalen kunt uitbreiden en reorganiseren.
Taakverwerking
Berichten worden in wachtrijen opgeslagen in afwachting van verwerking door uw taakverwerkers. Ze zijn ook betaalbaar en zeer schaalbaar. Taakprocessors zijn stukjes code die berichten uit de taakwachtrijen verwerken. Afhankelijk van het aantal berichten in de wachtrij, kunnen ze worden geschaald.
De taakverwerker moet een API-aanroep doen naar de juiste provider om de kennisgeving in ons scenario te bezorgen via een transactionele e-mailservice.
De meeste aanbieders van e-mail, sms en soortgelijke berichten hebben strenge eisen aan de hoeveelheid en het kaliber van de berichten die u verzendt. Daarnaast wil je deze onderzoeken en gedegen procedures opzetten. Hier is ons advies over hoe u kunt voorkomen dat u wordt beëindigd door AWS SES.
U kunt een maximum aantal taakverwerkers definiëren om te voorkomen dat de tariefplafonds van de bezorgservices worden overschreden.
Verdere verbeteringen
U kunt een blik werpen op een aantal van deze items.
- Ze hebben hun eigen API's, tabellen, enz. nodig om een schaalbare in-app notificatieservice te hebben.
- Verzamelen en tonen van het open/klik rapport
- De inhoud van de meldingen uit de code verwijderen en uw product- en ontwerpteam de waarschuwingen visueel laten aanpassen zonder een codewijziging
- Zonder enige code te wijzigen, kan uw team het dashboard gebruiken om meldingen voor bepaalde kanalen te activeren of deactiveren.
Voordelen van pushmelding
- Verhoog de gebruikersinteractie: updates en nieuw materiaal houden uw gebruikers geïnteresseerd.
- Verbeter de zichtbaarheid van communicatie: zorg ervoor dat uw berichten onmiddellijk worden ontvangen, zelfs als mensen niet actief zijn. Stuur dringende meldingen en bied gebruikers een soepele ervaring.
- Behoud retentie: gebruik duidelijk zichtbare pushmeldingen om uw gebruikers aan te sporen terug te keren. U kunt de gebruikersretentie verhogen en het klantverloop verminderen door klanten terug naar uw website en app te duwen.
- Verbeter conversies: door push-campagnes te maken rond in-app-awards, promoties, kortingen of andere aanbiedingen, kunt u de verkoop verhogen.
- Schaal uw onderneming: uw communicatieaanpak moet worden geschaald naarmate uw publiek groter wordt. Naarmate uw klantenbestand groeit, zijn pushmeldingen een effectieve methode om met hen in contact te blijven.
- Maak de gebruikerservaring verbonden (UX): Door transactiewaarschuwingen aan consumenten te geven om hen op de hoogte te houden en een soepele cross-channelervaring te bieden, kunt u wrijving tijdens het klanttraject verminderen.
Conclusie
Tot slot hebben we kennis opgedaan over de architectuur van een schaalbare pushnotificatieservice. We hebben ook gekeken naar de tools die worden geleverd door alle grote cloudserviceproviders, zodat u uw meldingen hierop kunt baseren.
Ondanks dat ik mijn best heb gedaan om u een overzicht te geven van de architectuur van het push notificatiesysteem, gebeurt er achter de schermen veel meer.
Ik hoop van harte dat u deze informatie nuttig zult vinden en er goed gebruik van zult maken.
Laat een reactie achter