Partager via


Vue d’ensemble des notifications périodiques

Les notifications périodiques, également appelées notifications interrogées, mettent à jour les mosaïques et les badges à intervalle fixe en téléchargeant du contenu à partir d'un service cloud. Pour utiliser des notifications périodiques, votre code d’application cliente doit fournir deux informations :

  • URI (Uniform Resource Identifier) d’un emplacement web pour Que Windows interroge les mises à jour des vignettes ou des badges pour votre application
  • Fréquence à laquelle cet URI doit être interrogé

Les notifications périodiques permettent à votre application d’obtenir des mises à jour dynamiques de vignettes avec un service cloud minimal et un investissement client. Les notifications périodiques constituent une bonne méthode de remise pour distribuer le même contenu à un large public.

Notez que vous pouvez en savoir plus en téléchargeant l’exemple de notifications Push et périodiques pour Windows 8.1 et réutiliser son code source dans votre application Windows 10.

 

Fonctionnement

Les notifications périodiques nécessitent que votre application héberge un service cloud. Le service sera interrogé régulièrement par tous les utilisateurs qui ont installé l’application. À chaque intervalle d’interrogation, par exemple une fois par heure, Windows envoie une requête HTTP GET à l’URI, télécharge le contenu de vignette ou de badge demandé (en tant que XML) fourni en réponse à la demande et affiche le contenu de la vignette de l’application.

Notez que les mises à jour périodiques ne peuvent pas être utilisées avec des notifications toast. Toast est mieux livré par le biais de notifications planifiées ou Push .

Emplacement de l’URI et contenu XML

Toute adresse web HTTP ou HTTPS valide peut être utilisée comme URI à interroger.

La réponse du serveur cloud inclut le contenu téléchargé. Le contenu retourné à partir de l’URI doit être conforme à la spécification de schéma XML tile ou badge , et doit être encodé en UTF-8. Vous pouvez utiliser des en-têtes HTTP définis pour spécifier l’heure d’expiration ou la balise de la notification.

Comportement d’interrogation

Appelez l’une de ces méthodes pour commencer l’interrogation :

Lorsque vous appelez l’une de ces méthodes, l’URI est immédiatement interrogé et la vignette ou le badge est mis à jour avec le contenu reçu. Après ce sondage initial, Windows continue de fournir des mises à jour à l’intervalle demandé. L’interrogation se poursuit jusqu’à ce que vous l’arrêtiez explicitement (avec TileUpdater.StopPeriodicUpdate), votre application est désinstallée ou, dans le cas d’une vignette secondaire, la vignette est supprimée. Sinon, Windows continue à interroger les mises à jour de votre vignette ou badge même si votre application n’est jamais lancée à nouveau.

Intervalle de périodicité

Vous spécifiez l’intervalle de périodicité en tant que paramètre des méthodes répertoriées ci-dessus. Notez que si Windows fait un meilleur effort pour interroger comme demandé, l’intervalle n’est pas précis. L’intervalle de sondage demandé peut être retardé jusqu’à 15 minutes à la discrétion de Windows.

Heure de début

Vous pouvez éventuellement spécifier une heure de jour particulière pour commencer l’interrogation. Considérez une application qui modifie son contenu de vignette une fois par jour. Dans ce cas, nous vous recommandons d’interroger près du moment où vous mettez à jour votre service cloud. Par exemple, si un site d’achat quotidien publie les offres de la journée à 8 h, interrogez le nouveau contenu de vignette peu après 8 h.

Si vous fournissez une heure de début, le premier appel à la méthode interroge immédiatement le contenu. Ensuite, l’interrogation régulière commence dans les 15 minutes de l’heure de début fournie.

Comportement de nouvelle tentative automatique

L’URI est interrogé uniquement si l’appareil est en ligne. Si le réseau est disponible, mais que l’URI ne peut pas être contacté pour une raison quelconque, cette itération de l’intervalle d’interrogation est ignorée et l’URI est interrogé à nouveau à l’intervalle suivant. Si l’appareil est dans un état désactivé, veille ou hibernated lorsqu’un intervalle d’interrogation est atteint, l’URI est interrogé lorsque l’appareil retourne à partir de son état désactivé ou de veille.

Gestion des mises à jour d’application

Si vous publiez une mise à jour d’application qui modifie votre URI d’interrogation, vous devez ajouter une tâche en arrière-plan de déclencheur de temps quotidien qui appelle StartPeriodicUpdate avec le nouvel URI pour vous assurer que vos vignettes utilisent le nouvel URI. Sinon, si les utilisateurs reçoivent la mise à jour de votre application, mais ne lancez pas votre application, leurs vignettes utilisent toujours l’ancien URI, ce qui peut ne pas s’afficher si l’URI n’est plus valide ou si la charge utile retournée fait référence à des images locales qui n’existent plus.

Expiration des notifications par vignette et par badge

Par défaut, les notifications périodiques de vignette et de badge expirent trois jours après leur téléchargement. Lorsqu’une notification expire, le contenu est supprimé du badge, de la vignette ou de la file d’attente et n’est plus affiché à l’utilisateur. Il est recommandé de définir une heure d’expiration explicite sur toutes les notifications périodiques de vignette et de badge, à l’aide d’une heure qui est logique pour votre application ou notification, pour vous assurer que le contenu ne persiste pas plus longtemps qu’il n’est pertinent. Un délai d’expiration explicite est essentiel pour le contenu avec une durée de vie définie. Il assure également la suppression de contenu obsolète si votre service cloud devient inaccessible, ou si l’utilisateur se déconnecte du réseau pendant une période prolongée.

Votre service cloud définit une date et une heure d’expiration pour une notification en incluant l’en-tête HTTP X-WNS-Expire dans la charge utile de réponse. L’en-tête HTTP X-WNS-Expires est conforme au format de date HTTP. Pour plus d’informations, consultez StartPeriodicUpdate ou StartPeriodicUpdateBatch.

Par exemple, lors de la journée de négociation active d’un marché boursier, vous pouvez définir l’expiration d’une mise à jour du cours d’actions sur deux fois celle de votre intervalle d’interrogation (par exemple, une heure après réception si vous interrogez toutes les demi-heures). Autre exemple : une application d’actualités peut déterminer qu’un jour est une heure d’expiration appropriée pour une mise à jour quotidienne d’une vignette d’actualités.

Notifications périodiques dans la file d’attente de notifications

Vous pouvez utiliser des mises à jour périodiques des vignettes avec le cycle de notification. Par défaut, une vignette sur l’écran de démarrage affiche le contenu d’une notification unique jusqu’à ce qu’elle soit remplacée par une nouvelle notification. Lorsque vous activez le cyclisme, jusqu’à cinq notifications sont conservées dans une file d’attente et les vignettes les parcourent.

Si la file d’attente a atteint sa capacité de cinq notifications, la nouvelle notification suivante remplace la notification la plus ancienne dans la file d’attente. Toutefois, en définissant des balises sur vos notifications, vous pouvez affecter la stratégie de remplacement de la file d’attente. Une balise est une chaîne propre à l’application qui ne respecte pas la casse jusqu’à 16 caractères alphanumériques, spécifiée dans l’en-tête HTTP X-WNS-Tag dans la charge utile de réponse. Windows compare la balise d’une notification entrante aux balises de toutes les notifications déjà dans la file d’attente. Si une correspondance est trouvée, la nouvelle notification remplace la notification mise en file d’attente par la même balise. Si aucune correspondance n’est trouvée, la règle de remplacement par défaut est appliquée et la nouvelle notification remplace la notification la plus ancienne dans la file d’attente.

Vous pouvez utiliser la mise en file d’attente et le balisage de notification pour implémenter divers scénarios de notification enrichis. Par exemple, une application stock peut envoyer cinq notifications, chacune sur un stock différent et chacune étiquetée avec un nom de stock. Cela empêche la file d’attente de contenir jamais deux notifications pour le même stock, dont l’ancienne est obsolète.

Pour plus d’informations, consultez Utilisation de la file d’attente de notification.

Activation de la file d’attente de notification

Pour implémenter une file d’attente de notification, activez d’abord la file d’attente pour votre vignette (voir Comment utiliser la file d’attente de notification avec des notifications locales). L’appel permettant d’activer la file d’attente doit être effectué une seule fois dans la durée de vie de votre application, mais il n’y a pas de mal à l’appeler chaque fois que votre application est lancée.

Interrogation de plusieurs notifications à la fois

Vous devez fournir un URI unique pour chaque notification que vous souhaitez que Windows télécharge pour votre vignette. À l’aide de la méthode StartPeriodicUpdateBatch , vous pouvez fournir jusqu’à cinq URI à la fois pour une utilisation avec la file d’attente de notification. Chaque URI est interrogé pour une charge utile de notification unique, en même temps. Chaque URI interrogé peut retourner sa propre valeur d’expiration et d’étiquette.