Les notifications push sont un outil marketing essentiel pour quiconque possède une application mobile.
C'est le meilleur moyen de communiquer avec vos utilisateurs, en envoyant des messages urgents sur leurs téléphones portables.
Une application mobile peut envoyer à un utilisateur une notification push, qui est un bref message contextuel qui apparaît sur son smartphone même lorsque l'application n'est pas ouverte.
Ces alertes peuvent inclure des rappels, des mises à jour, des remises, etc.
Ils sont créés pour attirer l'attention des utilisateurs. Le titre, le message, l'image et l'URL sont tous des composants possibles d'une notification push. Les émoticônes, les logos et d'autres éléments peuvent également en faire partie.
Les systèmes d'exploitation comme Apple OS et Google Android ont diverses interfaces pour les notifications push.
Les notifications push peuvent être utilisées pour promouvoir l'engagement, stimuler l'utilisation des applications, affecter les conversions et bien plus encore.
Les options sont vraiment illimitées.
Les notifications push pour appareils mobiles, également appelées notifications push pour appareils mobiles, peuvent compléter votre utilisation de canaux tels que les e-mails, les SMS et les notifications push en ligne avec un certain nombre d'avantages particuliers.
Vous recevrez une description rapide du service de notification dans cet article et des informations sur son objectif, sa conception de haut niveau, ses fonctionnalités spéciales, etc.
Objectif
Développer un service de notification capable de distribuer efficacement des messages produit à utilisateur sur une variété de canaux
Exigences:
- API d'envoi : publiez un point de terminaison autorisé afin que tout backend et microservice puisse commencer à envoyer des notifications.
- Canaux compatibles : prise en charge de la diffusion d'alertes sur n'importe quel canal qui publie une API, comme les e-mails, les SMS et les push.
- Les préférences de l'utilisateur : autorisez les utilisateurs à sélectionner leurs préférences d'utilisateur pour chaque canal et notification.
- Limites pour la conformité des services en aval : évitez que votre email ou service SMS étranglé ou arrêté.
- Évolutif : permet (théoriquement) une mise à l'échelle horizontale infinie.
Architecture de haut niveau
Disons que votre code est censé avertir quelqu'un :
- Le point de terminaison POST /send est appelé par votre code. Pour chaque canal disponible, la requête inclut l'ID utilisateur du destinataire, le type de notification et son contenu.
- Le flux d'informations d'identification du client OAuth2 est utilisé par le point de terminaison /send pour authentifier la demande.
- Les choix de notification de l'utilisateur sont ensuite demandés à partir de la base de données. Les préférences indiquent si l'utilisateur est abonné ou non à un certain canal et notification.
- À partir de la base de données, il lira les caractéristiques des utilisateurs comme les adresses e-mail et les numéros de téléphone.
- Ce point de terminaison créera un objet de message qui inclut les caractéristiques de l'utilisateur, les canaux et le contenu spécifique au canal. Cependant, il n'inclura pas les chaînes désactivées. Le message est ensuite transmis à un service de diffusion.
- Les messages entrants sont diffusés dans les files d'attente de travaux via le service de sortance. Le filtrage est en place, cependant, pour ignorer les files d'attente de travaux pour les canaux qui ne sont pas spécifiés dans le message.
- Chaque canal a un processeur et une file d'attente de travail. Le processeur prend en charge la tâche, puis demande le service approprié, tel qu'un service d'e-mail transactionnel ou de SMS.
Principaux éléments architecturaux
POST/envoyé
Vous avez peut-être très bien remarqué que seul l'ID utilisateur et ni l'adresse e-mail ni le numéro de téléphone ne sont inclus dans la demande adressée à ce point de terminaison. Cela permet aux services de notification de rester anonymes pour vos utilisateurs.
Pour assurer l'évolutivité, le point final est placé derrière un équilibreur de charge.
Votre authentification habituelle face à l'utilisateur ne fournit pas de protection pour le point de terminaison.
Vous devez utiliser une méthode d'authentification distincte connue sous le nom de flux d'informations d'identification client OAuth2 utilisé pour la communication de serveur à serveur, car le service qui soumet la demande est le logiciel lui-même.
Votre application fournira des notifications dans de nombreux endroits différents. Vous pouvez utiliser la fonction d'envoi presque n'importe où, par exemple à partir d'une nouvelle base de code ou de votre flux de travail de construction, en l'implémentant en tant que point final derrière un équilibreur de charge, ce qui garantit qu'elle est évolutive de manière indépendante.
PUT/préférences utilisateur
Utilisez une paire clé/valeur ou une base de données NoSQL extrêmement évolutive. Formatez les enregistrements comme suit : CLÉ : exemple d'identifiant d'utilisateur : exemple d'identifiant de notification, VALEUR : ["email", "état : vrai", "SMS", "état : faux", canal : "email", "email", état : vrai
Si des valeurs "fausses" sont présentes dans les enregistrements, le point d'extrémité de transmission exclura le canal correspondant du message délivré à la sortance. S'il n'y a pas d'enregistrement pour une chaîne, l'utilisateur n'a pas expressément indiqué ses préférences. Vous devez consentir au défaut dans ce scénario.
L'utilisateur peut modifier les données de la base de données des préférences utilisateur à l'aide de votre interface utilisateur et d'un point de terminaison standard sécurisé par vos procédures d'authentification standard.
Les utilisateurs deviendront irrités et seront obligés de désigner vos alertes comme spam ou de les désactiver si vous ne leur donnez pas la possibilité de modifier leurs préférences de notification. Votre expérience utilisateur en sera d'autant plus affectée, et les services d'envoi d'e-mails ou de SMS pourraient suspendre votre compte.
Déployez-vous
La sortance copie un message et le distribue à différents emplacements. Ils sont abordables et très évolutifs. Utilisez SNS dans AWS. Utilisez Pub/Sub dans Azure et les sujets et abonnements dans Google Cloud Platform.
Pour éviter d'envoyer des messages inutiles aux files d'attente de travaux des canaux exclus, vous pouvez configurer le filtrage entre les files d'attente de sortance et de travail. Par exemple, dans AWS SNS, vous pouvez spécifier que la file d'attente des tâches d'e-mails ne doit recevoir le message de sortance que si elle a la valeur « email » dans le champ « canaux ».
Même si vous pouviez créer du code pour envoyer le même message aux files d'attente de tâches requises, la diffusion est plus efficace et nécessite moins de codage. Fanout offre également la commodité d'ajouter et de supprimer des files d'attente, vous permettant d'étendre et de réorganiser vos canaux.
Traitement des travaux
Les messages sont stockés dans des files d'attente en attente de traitement par vos processeurs de travaux. Ils sont également abordables et très évolutifs. Les processeurs de travaux sont des éléments de code qui traitent les messages des files d'attente de travaux. Selon le volume de messages dans la file d'attente, ils peuvent évoluer.
Le processeur de travail doit effectuer un appel API au fournisseur approprié pour envoyer l'avis dans notre scénario via un service de messagerie transactionnel.
La majorité des fournisseurs d'e-mails, de SMS et de messages similaires ont des exigences strictes en matière de quantité et de calibre des messages que vous envoyez. De plus, vous souhaitez les examiner et mettre en place des procédures appropriées de manière approfondie. Voici nos conseils pour éviter d'être résilié d'AWS SES.
Vous pouvez définir un nombre maximal de processeurs de travaux pour éviter de dépasser les plafonds tarifaires des services de livraison.
Améliorations supplémentaires
Vous pouvez jeter un coup d'œil à un tas de ces articles.
- Ils ont besoin de leurs propres API, tables, etc. afin de disposer d'un service de notification intégré évolutif.
- Rassembler et afficher le rapport d'ouverture/clic
- Supprimer le contenu des notifications du code et laisser votre produit et votre équipe de conception modifier visuellement les alertes à la place sans changement de code
- Sans changer de code, votre équipe peut utiliser le tableau de bord pour activer ou désactiver les notifications pour certains canaux.
Avantages de la notification push
- Boostez l'interaction de l'utilisateur : les mises à jour et les nouveautés maintiendront l'intérêt de vos utilisateurs.
- Augmentez la visibilité de la communication : assurez-vous que vos messages sont reçus immédiatement, même lorsque les gens ne sont pas actifs. Envoyez des notifications urgentes et offrez aux utilisateurs une expérience fluide.
- Maintenir la rétention : utilisez des notifications push clairement visibles pour inciter vos utilisateurs à revenir. Vous pouvez augmenter la rétention des utilisateurs et réduire le taux de désabonnement en repoussant les clients sur votre site Web et votre application.
- Améliorer les conversions : en créant des campagnes push autour des récompenses, des promotions, des remises ou d'autres offres intégrées à l'application, vous pouvez augmenter les ventes.
- Faites évoluer votre entreprise : votre approche de communication doit évoluer à mesure que votre public s'élargit. Au fur et à mesure que votre clientèle s'élargit, les notifications push sont une méthode efficace pour rester en contact avec eux.
- Rendre l'expérience utilisateur connectée (UX) : en fournissant des alertes transactionnelles aux consommateurs pour les tenir informés et offrir une expérience cross-canal fluide, vous pouvez réduire les frictions tout au long du parcours client.
Conclusion
En conclusion, nous avons acquis des connaissances sur l'architecture d'un service de notification push évolutif. Nous avons également examiné les outils fournis par tous les principaux fournisseurs de services cloud afin que vous puissiez baser vos notifications sur ceux-ci.
Malgré le fait que j'ai fait de mon mieux pour vous donner un aperçu de l'architecture du système de notification push, il se passe beaucoup plus dans les coulisses.
J'espère sincèrement que vous trouverez ces informations utiles et que vous en ferez bon usage.
Soyez sympa! Laissez un commentaire