Choix du type de canal de notification Push adaptéChoosing the right push notification channel type

Cet article traite des trois types de canaux de notifications push Windows (principaux, secondaires et secondaires) qui vous permettent de fournir du contenu à votre application.This article covers the three types of Windows push notification channels (primary, secondary, and alternate) that help you deliver content to your app.

(Pour plus d’informations sur la création de notifications push, consultez la vue d’ensemble de Windows push Notification Services (WNS).)(For details on how to create push notifications, see the Windows Push Notification Services (WNS) overview.)

Types de canaux PushTypes of push channels

Il existe trois types de canaux push qui peuvent être utilisés pour envoyer des notifications à une application Windows.There are three types of push channels that can be used to send notifications to a Windows app. Il s'agit de :They are:

Canal principal : canal Push « traditionnel ».Primary channel - the "traditional" push channel. Peut être utilisé par n’importe quelle application du Store pour envoyer des notifications Toast, vignette, brut ou badge.Can be used by any app in the store to send toast, tile, raw, or badge notifications. En savoir plus ici.Learn more here.

Canal de vignette secondaire -utilisé pour envoyer des mises à jour de vignette à une vignette secondaire.Secondary tile channel - used to push tile updates to a secondary tile. Peut uniquement être utilisé pour envoyer des notifications de vignette ou de badge à une vignette secondaire épinglée sur l’écran d’accueil de l’utilisateurCan only be used to send tile or badge notifications to a secondary tile pinned on the user's start screen

Autre canal : un nouveau type de canal ajouté dans Creators Update.Alternate channel - A new type of channel added in the Creators Update. Il permet d’envoyer des notifications brutes à n’importe quelle application Windows, y compris celles qui ne sont pas inscrites dans le magasin.It allows for raw notifications to be sent to any Windows app, including those which aren't registered in the Store.

Notes

Quel que soit le canal Push que vous utilisez, une fois que votre application est exécutée sur l’appareil, elle est toujours en mesure d’envoyer des notifications Toast, vignette ou badge locales.No matter which push channel you use, once your app is running on the device, it will always be able to send local toast, tile, or badge notifications. Il peut envoyer des notifications locales à partir des processus de l’application de premier plan ou d’une tâche en arrière-plan.It can send local notifications from the foreground app processes or from a background task.

Canaux principauxPrimary channels

Il s’agit des canaux les plus couramment utilisés sur Windows, qui sont corrects pour presque tous les scénarios où votre application va être distribuée via le Microsoft Store.These are the most commonly used channels on Windows right now, and are good for almost any scenario where your app is going to be distributed through the Microsoft Store. Elles vous permettent d’envoyer tous les types de notifications à l’application.They allow you to send all types of notifications to the app.

Que les canaux principaux activent-ils ?What do primary channels enable?

  • Envoi des mises à jour des vignettes ou des badges à la vignette principale.Sending tile or badge updates to the primary tile. Si l’utilisateur a choisi d’épingler votre vignette sur l’écran d’accueil, vous avez la possibilité de l’afficher.If the user has chosen to pin your tile to the start screen, this is your chance to show off. Envoyer des mises à jour avec des informations utiles ou des rappels d’expériences au sein de votre application.Send updates with useful information or reminders of experiences within your app.
  • Envoi de notifications Toast.Sending toast notifications. Les notifications Toast permettent d’obtenir immédiatement des informations devant l’utilisateur.Toast notifications are a chance to get some information in front of the user immediately. Ils sont peints par le shell au-dessus de la plupart des applications et se trouvent dans le centre de maintenance afin que l’utilisateur puisse y revenir et interagir ultérieurement.They are painted by the shell over top of most apps, and live in the action center so the user can go back and interact with them later.
  • Envoi de notifications brutes pour déclencher une tâche en arrière-plan.Sending raw notifications to trigger a background task. Parfois, vous souhaitez effectuer un travail au nom de l’utilisateur en fonction d’une notification.Sometimes you want to do some work on behalf of the user based on a notification. Les notifications brutes permettent l’exécution des tâches en arrière-plan de votre applicationRaw notifications allow your app's background tasks to run
  • Chiffrement des messages en transit fourni par Windows à l’aide de TLS.Message encryption in transit provided by Windows using TLS. Les messages sont chiffrés sur le câble à la fois dans WNS et sur l’appareil de l’utilisateur.Messages are encrypted on the wire both coming into WNS and going to the user's device.

Limitations des canaux principauxLimitations of primary channels

  • Requiert l’utilisation de l’API REST WNS pour envoyer des notifications, ce qui n’est pas standard entre les fournisseurs de périphériques.Requires using the WNS REST API to push notifications, which isn't standard across device vendors.
  • Un seul canal peut être créé par applicationOnly one channel can be created per app
  • Nécessite l’inscription de votre application dans le Microsoft StoreRequires your app to be registered in the Microsoft Store

Création d’un canal principalCreating a primary channel

PushNotificationChannel channel = 
    await PushNotificationChannelManager.CreatePushNotificationChannelForApplicationAsync();

Canaux de vignettes secondairesSecondary tile channels

Il s’agit de canaux qui peuvent être utilisés pour envoyer des mises à jour de vignettes et de badges à une vignette secondaire.These are channels that can be used to push tile and badge updates to a secondary tile. 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, telles que les nouveaux messages dans une conversation de groupe ou un score sportif mis à jour.These are used by apps to notify users of interesting actions or information that they can interact with in the app, such as new messages in a group chat or an updated sports score.

Quels sont les canaux de vignette secondaires activés ?What do secondary tile channels enable?

  • Envoi de notifications de vignette ou de badge à des vignettes secondaires.Sending tile or badge notifications to secondary tiles. Les vignettes secondaires sont un excellent moyen de replacer les utilisateurs dans votre application.Secondary tiles are a great way to pull users back into your app. Ils constituent un lien profond vers les informations qui les intéressent et le fait de placer des informations pertinentes sur les vignettes permet de les ramener et de les replacer.They are a deep link to information they care about, and putting relevant information on the tiles helps to bring them back again and again.
  • Séparation des canaux (et des expirations) entre les différentes vignettes.Separation of channels (and expiries) between various tiles. Cela vous permet de séparer la logique du backend entre les différents types de vignettes secondaires qu’un utilisateur peut épingler à l’écran d’accueil.This allows you to separate the logic in the backend between the various types of secondary tiles that a user might pin to their start screen.
  • Chiffrement des messages en transit fourni par Windows à l’aide de TLS.Message encryption in transit provided by Windows using TLS. Les messages sont chiffrés sur le câble à la fois dans WNS et sur l’appareil de l’utilisateur.Messages are encrypted on the wire both coming into WNS and going to the user's device.

Limitations des canaux de vignettes secondairesLimitations of secondary tile channels

  • Aucun Toast ou notifications brutes n’est autorisé.No toast or raw notifications allowed. Les notifications Toast ou brutes envoyées à une vignette secondaire sont ignorées par le système.Toast or raw notifications sent to a secondary tile are ignored by the system.
  • Nécessite l’inscription de votre application dans le Microsoft StoreRequires your app to be registered in the Microsoft Store

Création d’un canal de vignette secondaireCreating a secondary tile channel

PushNotificationChannel channel = 
    await PushNotificationChannelManager.CreatePushNotificationChannelForSecondaryTileAsync(tileId);

Autres canauxAlternate channels

Les autres canaux permettent aux applications d’envoyer des notifications push sans s’inscrire au Microsoft Store ou de créer des canaux Push en dehors du serveur principal utilisé pour l’application.Alternate channels enable apps to send push notifications without registering to the Microsoft Store or creating push channels outside of the primary one used for the app.

Quels sont les autres canaux activés ?What do alternate channels enable?

  • Envoyer des notifications push brutes à une fenêtre qui s’exécute sur n’importe quel appareil Windows.Send raw push notifications to a Windows running on any Windows device. Les autres canaux autorisent uniquement les notifications brutes (Toutefois, vous pouvez toujours mettre en éveil une tâche en arrière-plan pour afficher localement les notifications de Toast ou de vignette).Alternate channels only allow for raw notifications (however you can still wake up a background task to locally show toast or tile notifications).
  • Permet aux applications de créer plusieurs canaux Push bruts pour différentes fonctionnalités au sein de l’application.Allows apps to create multiple raw push channels for different features within the app. Une application peut créer jusqu’à 1000 autres canaux et chacun d’entre eux est valable pendant 30 jours.An app can create up to 1000 alternate channels, and each one is valid for 30 days. Chacun de ces canaux peut être géré ou révoqué séparément par l’application.Each of these channels can be managed or revoked separately by the app.
  • Vous pouvez créer d’autres canaux Push sans inscrire une application auprès du Microsoft Store.Alternate push channels can be created without registering an app with the Microsoft Store. Si vous souhaitez installer l’application sur des appareils sans l’inscrire dans le Microsoft Store, elle sera toujours en mesure de recevoir des notifications push.If you app is going to be installed on devices without registering it in the Microsoft Store, it will still be able to receive push notifications.
  • Les serveurs peuvent envoyer des notifications à l’aide des API REST standard du W3C et du protocole VAPID.Servers can push notifications using the W3C standard REST APIs and VAPID protocol. Les autres canaux utilisent le protocole W3C standard, ce qui vous permet de simplifier la logique du serveur qui doit être maintenue.Alternate channels use the W3C standard protocol, this allows you to simplify the server logic that needs to be maintained.
  • Chiffrement complet de bout en bout des messages.Full, end-to-end, message encryption. Tandis que le canal principal fournit un chiffrement en transit, si vous souhaitez bénéficier d’une sécurité supplémentaire, les autres canaux permettent à votre application de transmettre des en-têtes de chiffrement pour protéger un message.While the primary channel provides encryption while in transit, if you want to be extra secure, alternate channels enable your app to pass through encryption headers to protect a message.

Limitations des autres canauxLimitations of alternate channels

  • Le serveur de votre application ne peut pas envoyer de notifications push Toast, de vignette ou de type badge.Your app's server cannot send push toast, tile, or badge type notifications. Vous pouvez envoyer des notifications push brutes uniquement.You can only send push raw notifications. Votre application est toujours en mesure d’envoyer des notifications locales à partir de votre tâche en arrière-plan.Your app is still able to send local notifications from your background task.
  • Requiert une API REST différente de celle des canaux de vignette primaire ou secondaire.Requires a different REST API than either primary or secondary tile channels. L’utilisation de l’API REST W3C standard signifie que votre application doit avoir une logique différente pour l’envoi des mises à jour de la grille ou du Toast PushUsing the standard W3C REST API means that your app will need to have different logic for sending push toast or tile updates

Création d’un canal de remplacementCreating an alternate channel

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

Comparaison du type de canalChannel type comparison

Voici une comparaison rapide entre les différents types de canaux :Here is a quick comparison between the different types of channels:

TypeType Envoyer un toast ?Push toast? Vignette/badge Push ?Push tile/badge? Envoyer des notifications push brutes ?Push raw notifications? AuthentificationAuthentication APIAPI Enregistrer l’inscription nécessaire ?Store registration required? CanauxChannels ChiffrementEncryption
PrincipalPrimary OuiYes Oui-vignette principale uniquementYes - primary tile only OuiYes OAuthOAuth API REST WNSWNS REST API OuiYes Une par applicationOne per app En transitIn Transit
Vignette secondaireSecondary Tile NonNo Oui-vignette secondaire uniquementYes - secondary tile only NonNo OAuthOAuth API REST WNSWNS REST API OuiYes Un par vignette secondaireOne per secondary tile En transitIn Transit
AlternerAlternate NonNo NonNo OuiYes VAPIDVAPID Webpush W3C standardWebPush W3C Standard NonNo 1 000 par application1,000 per app En transit + chiffrement de bout en bout possible avec la transmission d’en-tête (requiert du code d’application)In transit + end to end encryption possible with header pass through (requires app code)

Choix du canal appropriéChoosing the right channel

En général, nous vous recommandons d’utiliser le canal principal dans votre application, à quelques exceptions près :In general, we recommend using the primary channel in your app, with a few exceptions:

  1. Si vous effectuez un push d’une mise à jour de vignette sur une vignette secondaire, utilisez le canal push de vignette secondaire.If you are pushing a tile update to a secondary tile, use the secondary tile push channel.
  2. Si vous transmettez des canaux à d’autres services (par exemple, dans le cas d’un navigateur), utilisez l’autre canal.If you are passing out channels to other services (such as in the case of a browser) use the alternate channel.
  3. Si vous créez une application qui n’est pas répertoriée dans le Windows Store (comme une application métier), utilisez un autre canal.If you are creating an app that won't be listed in the Windows store (such as an LOB app) use an alternate channel.
  4. Si vous disposez d’un code Push Web existant sur le serveur que vous souhaitez réutiliser ou si vous avez besoin de plusieurs canaux dans votre service principal, utilisez d’autres canaux.If you have existing web push code on your server you wish to reuse or have a need for multiple channels in your backend service, use alternate channels.