Présentation d’Azure Notification HubsWhat is Azure Notification Hubs?

Azure Notification Hubs fournit un moteur d’envoi de notifications Push facile à utiliser et à grande échelle qui vous permet d’envoyer des notifications à n’importe quelle plateforme (iOS, Android, Windows, Kindle, Baidu, etc.) à partir de n’importe quel serveur principal (cloud ou local).Azure Notification Hubs provide an easy-to-use and scaled-out push engine that allows you to send notifications to any platform (iOS, Android, Windows, Kindle, Baidu, etc.) from any backend (cloud or on-premises). Notification Hubs est parfaitement adapté lors de scénarios d’entreprise et de clients.Notification Hubs works great for both enterprise and consumer scenarios. Voici quelques exemples de scénarios :Here are a few example scenarios:

  • envoyer des notifications de dernières nouvelles à des millions de personnes avec une faible latence ;Send breaking news notifications to millions with low latency.
  • envoyer des coupons basés sur la localisation aux segments d’utilisateurs intéressés ;Send location-based coupons to interested user segments.
  • envoyer des notifications d’événements à des utilisateurs ou des groupes pour des applications de médias/sport/finance/jeux ;Send event-related notifications to users or groups for media/sports/finance/gaming applications.
  • envoyer des notifications Push de contenu promotionnel vers les applications pour engager et toucher les clients ;Push promotional contents to applications to engage and market to customers.
  • informer les utilisateurs d’événements d’entreprise tels que des nouveaux messages et des éléments de travail ;Notify users of enterprise events like new messages and work items.
  • envoyer des codes pour l’authentification MFA.Send codes for multi-factor authentication.

Présentation des notifications PushWhat are push notifications?

Les notifications Push sont une forme de communication entre l’application et l’utilisateur dans laquelle les utilisateurs d’applications mobiles sont avertis de certaines informations choisies, le plus souvent via une fenêtre contextuelle ou une boîte de dialogue sur un appareil mobile.Push notifications is a form of app-to-user communication where users of mobile apps are notified of certain desired information, usually in a pop-up or dialog box on a mobile device. Les utilisateurs choisissent généralement d’afficher ou d’ignorer le message ; s’ils choisissent de l’afficher, l’application mobile qui a transmis la notification apparaît.Users generally choose to view or dismiss the message; choosing the former opens the mobile application that communicated the notification. Certaines notifications silencieuses sont remises en arrière-plan puis traitées également en arrière-plan par l’application qui décidera de l’action à exécuter.Some notifications are silent - delivered behind the scenes for the app to process behind the scenes and decide what to do.

Les notifications Push sont essentielles pour les applications clients en vue d’augmenter l’engagement envers l’application et l’utilisation. Pour les applications d’entreprise, elles permettent de communiquer des informations commerciales à jour.Push notifications are vital for consumer apps in increasing app engagement and usage, and for enterprise apps in communicating up-to-date business information. Il s’agit de la meilleure méthode de communication entre l’application et l’utilisateur, car elle consomme peu d’énergie pour les appareils mobiles, elle est flexible pour les expéditeurs de notifications et disponible alors que les applications correspondantes ne sont pas actives.It's the best app-to-user communication because it is energy-efficient for mobile devices, flexible for the notifications senders, and available when corresponding applications are not active.

Pour plus d’informations sur les notifications Push des plateformes les plus populaires, consultez les rubriques suivantes :For more information on push notifications for a few popular platforms, see the following topics:

Fonctionnement des notifications PushHow push notifications work?

Les notifications Push sont diffusées par l’intermédiaire d’infrastructures spécifiques à des plateformes appelées Platform Notification Systems (PNS).Push notifications are delivered through platform-specific infrastructures called Platform Notification Systems (PNSes). Elles proposent des fonctionnalités Push pour remettre un message à un appareil avec un handle fourni et sans interface commune.They offer barebone push functionalities to deliver a message to a device with a provided handle, and have no common interface. Pour envoyer une notification à tous les clients pour les versions iOS, Android et Windows d’une application, le développeur doit utiliser Apple Push Notification Service (APNS), Firebase Cloud Messaging (FCM) et le service de notification Windows (WNS), séparément.To send a notification to all customers across the Android, iOS, and Windows versions of an app, the developer must work with Apple Push Notification Service(APNS), Firebase Cloud Messaging(FCM), and Windows Notification Service(WNS) separately.

À un niveau élevé, voici comment fonctionnent les notifications Push :At a high level, here is how push works:

  1. Une application décide qu’elle souhaite recevoir une notification. Elle contacte donc le PNS pour connaître la plateforme cible sur laquelle l’application est en cours d’exécution, puis demande un handle push unique et temporaire.An application decides it wants to receive notification, so it contacts PNS for the target platform where the app is running and requests a unique and temporary push handle. Le type de handle dépend du système (par exemple, WNS dispose d’un URI, tandis qu’APNS utilise des jetons).The handle type depends on the system (for example, WNS uses URIs while APNS uses tokens).
  2. L’application cliente stocke ce handle dans le serveur principal de l’application ou le fournisseur.The client app stores this handle in the app backend or provider.
  3. Pour envoyer une notification Push, le serveur principal de l’application contacte le PNS à l’aide du handle afin de cibler une application cliente spécifique.To send a push notification, the app backend contacts the PNS using the handle to target a specific client app.
  4. Le PNS transmet la notification à l’appareil spécifié par le handle.The PNS forwards the notification to the device specified by the handle.

Flux de travail de la notification Push

Défis des notifications PushThe challenges of push notifications

Les PNS sont des outils puissants.PNSes are powerful. Mais il reste beaucoup de travail au développeur d’applications pour implémenter ne serait-ce que des scénarios de notification Push courants, tels que la diffusion de notifications Push à un utilisateur.However, they leave much work to the app developer to implement even common push notification scenarios, such as broadcasting push notifications to segmented users.

L’envoi (Push) de notifications nécessite une infrastructure complexe qui n’est pas liée à la logique métier principale de l’application.Pushing notifications requires complex infrastructure that is unrelated to the application's main business logic. Voici quelques défis liés à l’infrastructure :Some of the infrastructural challenges are:

  • Dépendance de la plateformePlatform dependency
    • Le serveur principal doit disposer d’une logique liée à la plateforme complexe et difficile à gérer pour envoyer des notifications aux appareils sur différentes plateformes étant donné que les PNS ne sont pas unifiés.The backend requires complex and hard-to-maintain platform-dependent logic to send notifications to devices on various platforms as PNSes are not unified.
  • Mettre à l'échelleScale
    • Selon les instructions de PNS, les jetons des appareils doivent être actualisés chaque fois que l’application est lancée.Per PNS guidelines, device tokens must be refreshed upon every app launch. Le serveur principal traite une grande quantité de trafic et d’accès à la base de données simplement pour maintenir les jetons à jour.The backend deals with a large amount of traffic and database access just to keep the tokens up-to-date. Lorsque le nombre d’appareils s’accroît pour atteindre des centaines, des milliers voire des millions, le coût de création et de maintenance de cette infrastructure est conséquent.When the number of devices grows to hundreds, thousands, or millions, the cost of creating and maintaining this infrastructure is massive.
    • La plupart des PNS ne prennent pas en charge la diffusion sur plusieurs appareils.Most PNSes do not support broadcast to multiple devices. Une simple diffusion sur un million d’appareils entraîne un million d’appels vers les PNS.A simple broadcast to a million devices results in a million calls to the PNSes. La mise à l’échelle de cette quantité de trafic avec une latence minimale est complexe.Scaling this amount of traffic with minimal latency is nontrivial.
  • RoutageRouting
    • Bien que les PNS fournissent un moyen d’envoyer des messages aux appareils, la plupart des notifications d’applications sont ciblées sur les utilisateurs ou les groupes d’intérêt.Though PNSes provide a way to send messages to devices, most apps notifications are targeted at users or interest groups. Le serveur principal doit conserver un registre pour associer des appareils aux groupes d’intérêt, aux utilisateurs, aux propriétés, etc. Ce traitement s’ajoute à la durée totale de mise sur le marché et aux coûts de maintenance d’une application.The backend must maintain a registry to associate devices with interest groups, users, properties, etc. This overhead adds to the time to market and maintenance costs of an app.

Pourquoi utiliser Azure Notification Hubs ?Why use Azure Notification Hubs?

Notification Hubs élimine toutes les difficultés liées à l’envoi de vos notifications Push à partir de votre application principale.Notification Hubs eliminates all complexities associated with pushing notifications on your own from your app backend. Son infrastructure de notifications Push multi-plateforme et mise à l’échelle réduit le codage Push et simplifie votre serveur principal.Its multi-platform, scaled-out push notification infrastructure reduces push-related coding and simplifies your backend. Avec Notification Hubs, la seule responsabilité des appareils est d’enregistrer leur handle PNS auprès d’un hub, tandis que le serveur principal est responsable de l’envoi des messages aux utilisateurs et groupes d’intérêt, comme illustré dans la figure suivante :With Notification Hubs, devices are merely responsible for registering their PNS handles with a hub, while the backend sends messages to users or interest groups, as shown in the following figure:

Diagramme Notification Hubs

Notification Hubs est votre moteur Push prêt à l’emploi et présente les avantages suivants :Notification hubs is your ready-to-use push engine with the following advantages:

  • Multi-plateformeCross platforms
    • Prise en charge de toutes les plateformes Push principales, dont iOS, Android, Windows, Kindle et Baidu.Support for all major push platforms including iOS, Android, Windows, and Kindle and Baidu.
    • Une interface commune pour envoyer des notifications Push à toutes les plateformes dans des formats spécifiques ou indépendants de la plateforme, sans aucune tâche propre à la plateforme.A common interface to push to all platforms in platform-specific or platform-independent formats with no platform-specific work.
    • Gestion centralisée du handle de l’appareil.Device handle management in one place.
  • Entre les serveurs principauxCross backends
    • Cloud ou localCloud or on-premises
    • .NET, Node.js, Java, Python, etc..NET, Node.js, Java, Python, etc.
  • Ensemble complet de modèles de remiseRich set of delivery patterns
    • Diffuser vers une ou plusieurs plateformes : Vous pouvez diffuser instantanément des contenus vers des millions d’appareils sur plusieurs plateformes avec un seul appel d’API.Broadcast to one or multiple platforms: You can instantly broadcast to millions of devices across platforms with a single API call.
    • Notification Push à un appareil : Vous pouvez cibler des notifications sur des appareils individuels.Push to device: You can target notifications to individual devices.
    • Notification Push à un utilisateur : Les fonctionnalités des étiquettes et des modèles vous aident à atteindre tous les appareils multiplateformes d’un utilisateur.Push to user: Tags and templates features help you reach all cross-platform devices of a user.
    • Notification Push à un segment avec des étiquettes dynamiques : La fonctionnalité des étiquettes vous permet de segmenter les appareils et de leur envoyer des notifications selon vos besoins, vers un seul segment ou une expression de segments (par exemple, actif ET réside à Seattle PAS nouvel utilisateur).Push to segment with dynamic tags: Tags feature helps you segment devices and push to them according to your needs, whether you are sending to one segment or an expression of segments (For example, active AND lives in Seattle NOT new user). Au lieu d’être limité au mécanisme publish-subscribe, vous pouvez mettre à jour les balises des appareils n’importe où et à tout moment.Instead of being restricted to pub-sub, you can update device tags anywhere and anytime.
    • Notification Push localisé : la fonctionnalité des modèles permet d’effectuer une localisation sans affecter le code back-end.Localized push: Templates feature helps achieve localization without affecting backend code.
    • Notification Push en mode silencieux : vous pouvez activer le modèle envoi-extraction en envoyant des notifications en mode silencieux aux appareils et en les déclenchant pour effectuer certaines extractions ou actions.Silent push: You can enable the push-to-pull pattern by sending silent notifications to devices and triggering them to complete certain pulls or actions.
    • Notification Push planifiée : Vous pouvez planifier l’envoi de notifications à tout moment.Scheduled push: You can schedule to send out notifications anytime.
    • Notification Push directe : Vous pouvez ignorer l’inscription des appareils auprès du service Notification Hubs et envoyer directement des notifications Push par lot à une liste de handles d’appareils.Direct push: You can skip registering devices with the Notification Hubs service and directly batch push to a list of device handles.
    • Notification Push personnalisée : Les variables des notifications Push des appareils vous permettent d’envoyer des notifications Push personnalisées spécifiques à un appareil avec des paires clé-valeur personnalisées.Personalized push: Device push variables helps you send device-specific personalized push notifications with customized key-value pairs.
  • Télémétrie enrichieRich telemetry
    • La télémétrie de notification Push générale, d’appareil, d’erreur et d’opération est disponible dans le portail Azure et par programme.General push, device, error, and operation telemetry are available in the Azure portal and programmatically.
    • La télémétrie par message effectue le suivi de chaque transmission de données à partir de votre appel de demande initial au service Notification Hubs qui transmet les notifications Push par lot avec succès.Per Message Telemetry tracks each push from your initial request call to the Notification Hubs service successfully batching the pushes out.
    • Platform Notification System Feedback communique tous les commentaires des systèmes de notification de plateforme pour faciliter le débogage.Platform Notification System Feedback communicates all feedback from Platform Notification Systems to assist in debugging.
  • ExtensibilitéScalability
    • Envoyer des messages rapides à des millions d’appareils sans réorganisation ou partitionnement d’appareil.Send fast messages to millions of devices without rearchitecting or device sharding.
  • SécuritéSecurity
    • Secret d’accès partagé ou authentification fédérée.Shared Access Secret (SAS) or federated authentication.

Étapes suivantesNext steps

Commencez à créer et à utiliser un hub de notification en suivant le Tutoriel : Notifications Push vers des applications mobiles.Get started with creating and using a notification hub by following the Tutorial: Push notifications to mobile applications.