Comment écrire une tâche en arrière-plan pour les notifications Push brutes (HTML)
[ Cet article est destiné aux développeurs de Windows 8.x et Windows Phone 8.x qui créent des applications Windows Runtime. Si vous développez une application pour Windows 10, voir la Documentation ]
Cette rubrique vous explique comment écrire une tâche en arrière-plan pour recevoir des notifications réseau en arrière-plan qui utilisent les notifications Push brutes dans une application Windows Runtime sur l’écran de verrouillage. Cette rubrique vous indique comment écrire une tâche en arrière-plan pour la fonctionnalité des notifications Push brutes dans Windows 8.1 pour une application Windows Runtime.
Ce que vous devez savoir
Technologies
Windows.Networking.PushNotifications
Permet les communications réseau en arrière-plan à l’aide de notifications Push brutes.
Prérequis
Les informations suivantes concernent les applications Windows Runtime connectées ou réseau qui dépendent de connexions réseau utilisant des notifications Push brutes pour être connectées en permanence. Cette rubrique concerne les applications écrites en JavaScript sur Windows 8.1, Windows Phone 8.1 et Windows Server 2012.
La connectivité réseau en arrière-plan utilisant les notifications Push brutes est prise en charge par une application JavaScript, les applications écrites en C++/XAML et les applications utilisant .NET Framework 4.5 en C#, VB.NET ou C++ managé. Pour plus d’informations sur les tâches réseau en arrière-plan relatives aux applications JavaScript, voir Définition de tâches en arrière-plan pour les besoins de votre application.
Instructions
Écriture de la tâche en arrière-plan
L’étape importante suivante vers une application toujours accessible consiste à fournir le code de l’application s’exécutant quand une notification Push brute survient. Par exemple, dans le cas d’une application de messagerie qui utilise les notifications Push brutes entrantes pour signaler qu’un nouveau message est arrivé sur le serveur, l’application a besoin d’exécuter du code pour traiter les données dans la notification Push brute. Ces données peuvent contenir la liste des nouveaux messages reçus pour générer une notification à l’attention de l’utilisateur. Une application peut également planifier de se connecter au serveur de courrier et de télécharger les nouveaux messages à partir du serveur la prochaine fois que l’application n’est plus suspendue. Cette opération est effectuée au niveau de la tâche en arrière-plan.
Chaque tâche en arrière-plan est implémentée par une fonction qui s’exécute lorsque l’application est inscrite pour une notification Push brute. Ceci était spécifié dans le manifeste de l’application en tant que fichier source JavaScript spécifique contenant une fonction unique.
L’exemple suivant montre la fonction qui s’exécute lorsque la tâche en arrière-plan est déclenchée par une notification Push brute.
(function () {
// Get the background task details
var backgroundTask = Windows.UI.WebUI.WebUIBackgroundTaskInstance.current;
var settings = Windows.Storage.ApplicationData.current.localSettings;
var taskName = backgroundTask.task.name;
console.log("Background task \"" + taskName + "\" starting...");
// Store the content received from the notification so it can be retrieved
// from the UI.
var notificationDetails = backgroundTask.triggerDetails;
settings.values[taskName] = notificationDetails.content;
console.log("Background \"" + taskName + "\" completed!");
// Close the instance running the task
close();
})();
Remarque Vous ne pouvez pas référencer les éléments de l’interface utilisateur de l’application dans une tâche en arrière-plan car ils ne sont pas en cours d’exécution. Lorsque votre code s’exécute au sein de la tâche en arrière-plan, vous pouvez recevoir les données à partir de la notification Push brute, analyser et traiter les données, et générer une notification à l’attention de l’utilisateur.
La durée de vie de la tâche en arrière-plan est contrôlée par la fonction qui implémente la tâche en arrière-plan. Si une application quitte la fonction, elle est suspendue.
Lorsque la tâche en arrière-plan d’une application est déclenchée, le système d’exploitation s’assure qu’une synchronisation appropriée fournit les données de notification Push brute à l’application ou retourne une erreur (connexion interrompue, par exemple). De même, lorsque la tâche en arrière-plan se termine, une application doit s’assurer que toutes les notifications ont été générées avant la suspension de l’application.
Bien que la tâche en arrière-plan cible principalement les applications en suspension, lorsqu’une application est configurée avec des tâches en arrière-plan, ces dernières se déclenchent également lorsqu’elle se trouve au premier plan.
Étapes précédentes
Pour plus d’informations sur la façon de créer une application de l’écran de verrouillage pour recevoir des notifications réseau en arrière-plan qui utilisent des notifications Push brutes, voir Comment créer une application de l’écran de verrouillage qui utilise des notifications Push brutes en arrière-plan.
Pour plus d’informations sur le processus visant à inscrire un canal de notification Push et à l’envoyer à votre serveur, à inscrire une tâche en arrière-plan à activer à partir d’une notification Push brute, à envoyer une notification Push brute au canal et à activer la tâche en arrière-plan, voir Comment utiliser le service WNS pour transmettre des notifications Push brutes à une application de l’écran de verrouillage.
Pour plus d’informations sur les recommandations et la liste de vérification pour l’utilisation des notifications Push brutes, voir
Recommandations et liste de vérification sur les notifications brutes.
Rubriques associées
Autres ressources
Ajout d’une prise en charge de réseau
Recommandations et liste de vérification sur les notifications brutes
Comment s’authentifier auprès des services de notifications Push Windows (WNS)
Vue d’ensemble des écrans de verrouillage
Vue d’ensemble des notifications Push
Définition de tâches en arrière-plan pour les besoins de votre application
Débogage et résolution des problèmes liés aux connexions réseau
Référence
Windows.ApplicationModel.Background
Windows.Networking.BackgroundTransfer
Windows.Networking.PushNotifications
Exemples
Exemple de tâche en arrière-plan
Exemple d’applications d’écran de verrouillage