Choix du type de canal de notification Push adapté

Cet article décrit les trois types de canaux de notification Push Windows (principal, secondaire et secondaire) qui vous aident à fournir du contenu à votre application.

(Pour plus d’informations sur la création de notifications Push, consultez la vue d’ensemble de Windows Push Notification Services (WNS).

Types de canaux Push

Il existe trois types de canaux Push qui peuvent être utilisés pour envoyer des notifications à une application Windows. Il s'agit des éléments suivants :

Canal principal : canal push « traditionnel ». Peut être utilisé par n’importe quelle application dans le store pour envoyer des notifications toast, vignette, brutes ou de badges. En savoir plus ici.

Canal de vignette secondaire : permet d’envoyer (push) des mises à jour de vignette vers une vignette secondaire. Ne peut être utilisé que pour envoyer des notifications de vignette ou de badge à une vignette secondaire épinglée sur l’écran d’accueil de l’utilisateur

Autre canal - Non pris en charge : nouveau type de canal ajouté dans Creators Update. Il permet d’envoyer des notifications brutes à n’importe quelle application Windows, y compris celles qui ne sont pas inscrites dans le Store. Là encore, notez que le canal alternatif n’est plus pris en charge.

Notes

Quel que soit le canal Push que vous utilisez, une fois que votre application s’exécute sur l’appareil, elle peut toujours envoyer des notifications de toast, de vignette ou de badge locales. Il peut envoyer des notifications locales à partir des processus d’application de premier plan ou d’une tâche en arrière-plan.

Canaux principaux

Il s’agit des canaux les plus couramment utilisés sur Windows à l’heure actuelle, et ils sont adaptés à presque tous les scénarios où votre application va être distribuée via le Microsoft Store. Ils vous permettent d’envoyer tous les types de notifications à l’application.

Que permettent les canaux principaux ?

  • Envoi de mises à jour de vignette ou de badge à la vignette principale. Si l’utilisateur a choisi d’épingler votre vignette à l’écran d’accueil, c’est votre chance de s’afficher. Envoyez des mises à jour avec des informations utiles ou des rappels d’expériences au sein de votre application.
  • Envoi de notifications toast. Les notifications toast permettent d’obtenir des informations immédiatement devant l’utilisateur. Ils sont peints par l’interpréteur de commandes au-dessus de la plupart des applications et se trouvent dans le centre de notifications afin que l’utilisateur puisse revenir en arrière et interagir avec eux ultérieurement.
  • Envoi de notifications brutes pour déclencher une tâche en arrière-plan. Parfois, vous souhaitez effectuer un travail pour le compte de l’utilisateur en fonction d’une notification. Les notifications brutes permettent aux tâches en arrière-plan de votre application de s’exécuter
  • Chiffrement des messages en transit fourni par Windows à l’aide de TLS. Les messages sont chiffrés sur le câble à la fois entrant dans WNS et allant sur l’appareil de l’utilisateur.

Limitations des canaux principaux

  • Nécessite l’utilisation de l’API REST WNS pour envoyer des notifications push, ce qui n’est pas standard entre les fournisseurs d’appareils.
  • Un seul canal peut être créé par application
  • Nécessite que votre application soit inscrite dans le Microsoft Store

Création d’un canal principal

PushNotificationChannel channel = 
	await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

Canaux de vignette secondaires

Il s’agit de canaux qui peuvent être utilisés pour envoyer (push) des mises à jour de vignettes et de badges vers une vignette secondaire. Ils sont utilisés par les applications pour informer les utilisateurs d’actions ou d’informations intéressantes avec lesquelles ils peuvent interagir dans l’application, tels que de nouveaux messages dans une conversation de groupe ou un score sportif mis à jour.

Que permettent les canaux de vignette secondaires ?

  • Envoi de notifications de vignette ou de badge à des vignettes secondaires. Les vignettes secondaires sont un excellent moyen de renvoyer les utilisateurs dans votre application. Ils constituent un lien profond vers les informations qui leur tiennent à cœur, et l’insertion d’informations pertinentes sur les vignettes permet de les ramener encore et encore.
  • Séparation des canaux (et des expirations) entre les différentes vignettes. Cela vous permet de séparer la logique dans le back-end entre les différents types de vignettes secondaires qu’un utilisateur peut épingler à son écran d’accueil.
  • Chiffrement des messages en transit fourni par Windows à l’aide de TLS. Les messages sont chiffrés sur le câble à la fois entrant dans WNS et allant sur l’appareil de l’utilisateur.

Limitations des canaux de vignette secondaires

  • Aucune notification toast ou brute n’est autorisée. Les notifications toast ou brutes envoyées à une vignette secondaire sont ignorées par le système.
  • Nécessite que votre application soit inscrite dans le Microsoft Store

Création d’un canal de vignette secondaire

PushNotificationChannel channel = 
	await PushNotificationChannelManager.CreatePushNotificationChannelForSecondaryTileAsync(tileId);

Canaux alternatifs

D’autres canaux permettent aux applications d’envoyer des notifications Push sans s’inscrire au Microsoft Store ou créer des canaux Push en dehors du canal principal utilisé pour l’application.

Notes

À compter du 1er juillet 2021, les applications qui souhaitent utiliser le canal push web ou le canal secondaire pour envoyer des notifications basées sur un navigateur via WNS devront être intégrées au Microsoft Store.

Que permettent les autres canaux ?

  • Envoyez des notifications Push brutes à un Windows en cours d’exécution sur n’importe quel appareil Windows. D’autres canaux autorisent uniquement les notifications brutes (mais vous pouvez toujours réveiller une tâche en arrière-plan pour afficher localement les notifications toast ou de vignette).
  • Permet aux applications de créer plusieurs canaux Push bruts pour différentes fonctionnalités au sein de l’application. Une application peut créer jusqu’à 1 000 canaux alternatifs, chacun d’eux étant valide pendant 30 jours. Chacun de ces canaux peut être géré ou révoqué séparément par l’application.
  • D’autres canaux push peuvent être créés sans inscrire une application auprès du Microsoft Store. Si votre application doit être installée sur des appareils sans l’inscrire dans le Microsoft Store, elle pourra toujours recevoir des notifications Push.
  • Les serveurs peuvent envoyer des notifications push à l’aide des API REST standard W3C et du protocole VAPID. D’autres canaux utilisent le protocole standard W3C, ce qui vous permet de simplifier la logique du serveur qui doit être conservée.
  • Chiffrement de message complet de bout en bout. Alors que le canal principal fournit le chiffrement en transit, si vous souhaitez être plus sécurisé, d’autres canaux permettent à votre application de passer par les en-têtes de chiffrement pour protéger un message.

Limitations des autres canaux

  • Le serveur de votre application ne peut pas envoyer de notifications push toast, de vignette ou de type de badge. Vous pouvez uniquement envoyer des notifications brutes push. Votre application peut toujours envoyer des notifications locales à partir de votre tâche en arrière-plan.
  • Nécessite une API REST différente des canaux de vignettes primaires ou secondaires. L’utilisation de l’API REST W3C standard signifie que votre application doit avoir une logique différente pour envoyer des toasts push ou des mises à jour de vignettes

Création d’un autre canal

PushNotificationChannel webChannel = 
	await PushNotificationChannelManager.GetDefault().CreateRawPushNotificationChannelWithAlternateKeyForApplicationAsync(applicationServerKey, appChannelId);

Comparaison des types de canaux

Voici une comparaison rapide entre les différents types de canaux :

Type Pousser le toast ? Vignette/badge push ? Notifications brutes push ? Authentification API Inscription au magasin requise ? Canaux Chiffrement
Principal Oui Oui : vignette principale uniquement Oui OAuth WNS REST API Oui Un par application En transit
Vignette secondaire Non Oui - vignette secondaire uniquement Non OAuth WNS REST API Oui Un par vignette secondaire En transit
Alterner Non Non Oui INSIPIDE WebPush W3C Standard Non 1 000 par application En transit + chiffrement de bout en bout possible avec passage d’en-tête (nécessite le code de l’application)

Choisir le bon canal

En général, nous vous recommandons d’utiliser le canal principal dans votre application, à quelques exceptions près :

  1. Si vous envoyez une mise à jour de vignette vers une vignette secondaire, utilisez le canal push de vignette secondaire.
  2. Si vous transmettez des canaux à d’autres services (par exemple, dans le cas d’un navigateur), utilisez l’autre canal.
  3. Si vous créez une application qui ne sera pas répertoriée dans le Windows Store (par exemple, une application métier), utilisez un autre canal.
  4. Si vous avez du code push web existant sur votre serveur que vous souhaitez réutiliser ou si vous avez besoin de plusieurs canaux dans votre service back-end, utilisez d’autres canaux.