Share via


Vue d'ensemble de Notification Hubs

Azure Notification Hubs est une infrastructure simple d'utilisation, qui vous permet d'envoyer des notifications push mobiles à partir d'une plateforme principale (dans le cloud ou locale) vers une plateforme mobile.

Avec Notification Hubs, vous pouvez aisément envoyer des notifications push personnalisées interplateformes, en faisant abstraction des détails des différents systèmes de notification de plateforme. Avec un seul appel d’API, vous pouvez cibler des utilisateurs individuels ou des segments de publics complets comprenant des millions d’utilisateurs, sur tous leurs appareils.

Vous pouvez utiliser Notification Hubs lors de scénarios d’entreprise et de clients. Par exemple :

  • Envoyez des notifications de dernières nouvelles à des millions d’utilisateurs avec une latence faible (Notification Hubs alimente des applications Bing pré-installées sur tous les appareils Windows Phone et Windows).

  • Envoyez des coupons basés sur la localisation aux segments d’utilisateurs.

  • Envoyez des notifications d’événements à des utilisateurs ou des groupes pour des applications de sport/finance/jeux.

  • Informez les utilisateurs d’événements d’entreprise tels que des nouveaux messages/courriers électroniques ou prospects.

  • Envoyez les mots de passe à usage unique requis pour l’authentification multi-facteur.

Présentation des notifications Push

Les smartphones et les tablettes sont à même de « notifier » les utilisateurs quand un événement se produit. Dans les applications du Windows Store et les applications Windows Phone, la notification se traduit par un toast (fenêtre non modale apparaissant en haut de l'écran) ou par des mises à jour des vignettes de l'écran d'accueil. De même, sur les appareils Android et Apple iOS, les notifications apparaissent groupées dans un panneau de notifications facilement accessible depuis le haut de l'écran.

Les notifications push permettent aux serveurs principaux des applications d'afficher de nouvelles informations sur les appareils mobiles même si l'application n'est pas active sur les appareils.

Les notifications push sont remises via des infrastructures propres à la plateforme appelées systèmes de notification de plateforme (PNS). Un système PNS offre des fonctions « barebone « (à savoir, qui ne prennent en charge aucune diffusion ou personnalisation). Quant aux systèmes PNS propres à la plateforme, ils n'ont aucune interface commune. Par exemple, pour envoyer une notification à une application du Windows Store, un développeur doit contacter le service de notification Windows (WNS). Pour envoyer une notification à un appareil iOS, le même développeur contacte APNS (service de notifications push Apple) et envoie le message une seconde fois. Le processus est similaire pour Windows Phone 8 et les appareils Android.

Globalement, tous les systèmes PNS obéissent au même modèle :

  1. L'application cliente contacte le système PNS pour extraire son handle. Le type de handle dépend du système. Pour WNS, il s’agit d’un URI ou d’un « canal de notification ». Pour APNS, il s’agit d’un jeton.

  2. L'application cliente stocke ce handle sur le serveur principal de l'application en vue d'une utilisation ultérieure. Pour WNS, le serveur principal est généralement un service cloud. Pour Apple, le système est appelé fournisseur.

  3. Pour envoyer une notification push, le serveur principal de l'application contacte le système PNS à l'aide du handle pour cibler une instance d'une application cliente spécifique.

  4. Le PNS transmet la notification à l’appareil spécifié par le handle.

Notification Hubs

L'infrastructure requise pour implémenter ce flux est assez complexe et pour l'essentiel non liée à la logique métier principale de l'application. Vous trouverez ci-dessous quelques défis de la création d'une infrastructure Push à la demande :

  • Dépendance de la plateforme. Pour envoyer des notifications aux appareils sur différentes plateformes, vous devez coder plusieurs interfaces du serveur principal. Non seulement les détails de bas niveau sont différents, mais aussi la présentation de la notification (vignette, toast ou badge) dépend de la plateforme. Ces différences conduisent à un code de serveur principal complexe et difficile à gérer.

  • Mettant à l’échelle. La mise à l'échelle de cette infrastructure comporte deux aspects :

    • Selon les instructions de PNS, les jetons des appareils doivent être actualisés chaque fois que l'application est lancée. Cette actualisation entraîne un trafic important (et un accès à la base de données conséquent) simplement pour maintenir à jour les jetons d'appareil. Quand le nombre d'appareils augmente (pour atteindre éventuellement plusieurs millions), le coût de la création et de la maintenance de cette infrastructure est loin d'être anodin.

    • La plupart des systèmes PNS ne prennent pas en charge la diffusion sur plusieurs appareils. En tant que telle, la diffusion sur des millions d'appareils se traduit par des millions d'appels aux systèmes PNS. La possibilité d'adapter les demandes n'est pas sans intérêt, car les développeurs d'applications veulent généralement maintenir la latence totale à un niveau bas (par exemple, le dernier appareil à recevoir le message ne doit pas recevoir la notification 30 minutes après son envoi, sinon l'objectif d'avoir des notifications push s'en trouverait alors souvent contrarié).

  • Routage. Les PNS permettent d'envoyer un message à un appareil. Dans la plupart des applications, toutefois, les notifications sont ciblées en direction d'utilisateurs et/ou de groupes d'intérêt (par exemple, tous les employés assignés à un certain compte client). En tant que tel, le serveur principal de l'application doit maintenir un registre qui associe groupes d'intérêts et jetons d'appareil afin d'acheminer les notifications vers les appareils appropriés. Cette charge s'ajoute au temps total de commercialisation et aux coûts de maintenance d'une application.

  • Surveillance et télémétrie. Le suivi et l'agrégation des résultats de millions de notifications ne sont pas insignifiants et, généralement, constituent un composant important d'une solution utilisant les notifications push.

Utilisation de Notification Hubs

Notification Hubs élimine une complexité majeure : vous n’avez pas besoin de gérer les défis des notifications Push. Au lieu de cela, il vous suffit d’utiliser un hub de notification. Notification Hubs utilise une infrastructure de notifications Push complète, multi-plateforme, avec montée en charge et réduit considérablement le code Push qui s’exécute dans le serveur principal de l’application. Notification Hubs implémente toutes les fonctionnalités d’une infrastructure Push. La seule responsabilité des appareils est d’enregistrer le handle PNS et le serveur principal est responsable de l’envoi des messages indépendants d’une plateforme aux utilisateurs et groupes d’intérêt.

Notification Hubs

Notification Hubs fournit une infrastructure push avec les avantages suivants :

  • Plusieurs plateformes :

    • Prise en charge de toutes les principales plateformes mobiles (Windows/Windows Phone, iOS, Android).

    • Aucun protocole spécifique aux plateformes. L’application communique uniquement avec Notification Hubs.

    • Gestion du handle de l’appareil Notification Hubs gère le registre de handle et les commentaires PNS.

  • Fonctionne avec tous les serveurs principaux. Cloud ou local, .NET, PHP, Java, Node, etc.

  • Mettant à l’échelle. Notification Hubs peut s'adapter à plusieurs millions d'appareils sans qu'il soit nécessaire de refondre l'architecture ou de partitionner. Disponible dans toutes les régions.

  • Propose un ensemble riche de modèles de remise. Associe les appareils à des balises, représentant les utilisateurs logiques ou les groupes d'intérêt.

    • Diffusion: permet une diffusion presque simultanée vers des millions d’appareils avec un seul appel d’API.

    • Unicast/Multicast : envoi à des balises représentant des utilisateurs individuels, y compris tous leurs appareils ; ou groupe plus large; par exemple, des facteurs de forme distincts (tablette et téléphone).

    • Segmentation : envoi à un segment complexe défini par des expressions de balise (par exemple, des appareils à New York en suivant les Yankees).

  • Personnalisation. Chaque appareil peut avoir un ou plusieurs modèles pour aboutir à une personnalisation et à une localisation par appareil sans affecter le code du serveur principal.

  • Sécurité. Secret d’accès partagé ou authentification fédérée.

  • Télémétrie élaborée. Disponible sur le portail et par programmation.

Résumé

  • Les notifications push sont devenues une part entière de toute application moderne, car elles augmentent l'intérêt des utilisateurs pour les applications destinées aux particuliers, ainsi que l'utilité des applications d'entreprise.

  • Notification Hubs fournit une infrastructure de notifications push multiplateforme adaptable facile à utiliser, qui réduit de façon significative le codage et la maintenance du code du serveur principal des applications.

  • Notification Hubs peut être utilisé à partir de tout serveur principal (cloud ou local) pour envoyer des notifications push à toutes les principales plateformes mobiles (Windows/Windows Phone, iOS, Android).

Ressources supplémentaires

Comment les clients utilisent Notification Hubs

Didacticiels et guides sur Notification Hubs

Didacticiels de prise en main de Notification Hubs :

Vous trouverez les références de l'API managée .NET appropriées pour Notification Hubs ici :

Microsoft.WindowsAzure.Messaging.NotificationHub

Microsoft.ServiceBus.Notifications