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

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

Réseau en arrière-plan

Recommandations et liste de vérification sur les notifications brutes

Comment s’authentifier auprès des services de notifications Push Windows (WNS)

Comment utiliser le service WNS pour transmettre des notifications Push brutes à une application de l’écran de verrouillage

Vue d’ensemble des écrans de verrouillage

Vue d’ensemble des notifications Push

Comment créer une application de l’écran de verrouillage qui utilise des notifications Push brutes en arrière-plan

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

HttpClient

HttpClientHandler

IXMLHTTPRequest2

System.Net.Http

Windows.ApplicationModel.Background

Windows.Networking.BackgroundTransfer

Windows.Networking.PushNotifications

Windows.Networking.Sockets

Exemples

Exemple de tâche en arrière-plan

Exemple d’applications d’écran de verrouillage

Exemple côté client de notifications Push et périodiques

Exemple de notifications brutes