Comment créer une application de l’écran de verrouillage qui utilise des notifications Push brutes en arrière-plan (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 créer une application de l’écran de verrouillage pour recevoir des notifications réseau en arrière-plan qui utilisent les notifications Push brutes dans une application Windows Runtime. Les notifications Push brutes permettent à une application de l’écran de verrouillage de recevoir des notifications réseau lorsque l’application est en arrière-plan.

Objectif: Créez une application de l’écran de verrouillage qui reçoit des notifications réseau qui utilisent les notifications Push brutes lorsque l’application est en arrière-plan.

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 pour Windows 8.1, Windows Phone 8.1 et Windows Server 2012 R2.

    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.

Création d’une application de l’écran de verrouillage qui utilise les notifications Push brutes en arrière-plan

Avant de pouvoir utiliser une notification Push brute via le service WNS pour activer une tâche en arrière-plan, vous devez définir votre application comme une application de l’écran de verrouillage.

Dans le manifeste de l’application, définissez les fonctionnalités appropriées pour qu’une demande de placement sur l’écran de verrouillage soit effectuée. Votre application doit également inclure un code pour demander à être ajoutée à l’écran de verrouillage et gérer les cas où elle est ajoutée à l’écran de verrouillage ou supprimée de celui-ci par l’utilisateur.

Pour que votre application puisse figurer sur l’écran de verrouillage, l’utilisateur doit fournir son approbation. L’invite de consentement s’affiche lors de l’appel de l’API de demande relative à l’écran de verrouillage. Si l’utilisateur n’accepte pas que l’application s’exécute sur l’écran de verrouillage, vous ne pouvez pas lui demander à nouveau l’autorisation. Si toutefois l’utilisateur ferme la boîte de dialogue par erreur, une nouvelle invite est possible.

Si l’utilisateur refuse que votre application soit placée sur l’écran de verrouillage, il peut l’ajouter à cet écran ultérieurement via le menu volant des autorisations système de votre application. Les utilisateurs peuvent également ajouter l’application à l’écran de verrouillage manuellement, à partir de la section Personnaliser de Paramètres du PC.

Pour qu’une demande de placement de l’application sur l’écran de verrouillage soit effectuée, procédez comme indiqué ci-dessous. Vous pouvez modifier le manifeste de l’application en utilisant Microsoft Visual Studio 2013 pour ouvrir le fichier package.appxmanifest ou modifier le manifeste manuellement.

JJ679949.wedge(fr-fr,WIN.10).gifEnregistrement en tant qu’application d’écran de verrouillage

  1. Assurez-vous qu’un logo large est associé à la vignette de l’application dans le manifeste de cette dernière. Assurez-vous que l’attribut WideLogo est défini sur l’élément DefaultTile dans le manifeste de l’application.

    L’exemple suivant permet d’ajouter un élément DefaultTile sous l’élément <VisualElements>, dans le manifeste d’une application.

        <DefaultTile ShowName="allLogos" WideLogo="images\tile.png" />
    
  2. Indiquez votre intention d’utiliser une tâche en arrière-plan pour l’application. Le manifeste de l’application doit également spécifier un fichier source JavaScript contenant la tâche en arrière-plan et le nom de la classe d’implémentation du point d’entrée de cette tâche.

    Lorsque vous créez une application de l’écran de verrouillage utilisant des notifications Push brutes avec le service WNS, spécifiez le fichier source JavaScript et le type de tâche en arrière-plan pushNotification. Cela permettra à votre application de recevoir des notifications Push WNS brutes.

    L’exemple qui suit ajoute une notification Push brute sous l’élément <Application> du manifeste d’une application.

      <Extensions>
        <Extension Category="windows.backgroundTasks" StartPage="js\backgroundTask.js">
          <BackgroundTasks>
            <Task Type="pushNotification" />
          </BackgroundTasks>
        </Extension>
      </Extensions>
    
  3. Dans la mesure où votre application figurera sur l’écran de verrouillage, une icône d’écran de verrouillage doit également lui être associée pour afficher les notifications manquées. Pour ce faire, mettez à jour le manifeste de l’application de façon à inclure l’élément LockScreen.

    L’exemple qui suit décrit un élément LockScreen ajouté sous l’élément <VisualElements> dans le manifeste d’une application.

        <LockScreen Notification="badge" BadgeLogo="Images\badgelogo.png" />
    
  4. Une fois les étapes précédentes terminées, une demande d’autorisation de placement de l’application sur l’écran de verrouillage peut être soumise à l’utilisateur. Les méthodes Background.BackgroundExecutionManager.RequestAccessAsync affichent une boîte de dialogue demandant à l’utilisateur la permission d’ajouter une application à l’écran de verrouillage. S’il accepte, l’application peut s’exécuter en arrière-plan et afficher des notifications sur l’écran de verrouillage.

    L’exemple suivant illustre une demande d’autorisation de placement sur l’écran de verrouillage.

    
        var lockScreenAdded = false;
    
        function ClientInit() {
            // Lock screen is required for raw push notification
            // background code to run.
            //
            if (lockScreenAdded == false) {
                BackgroundExecutionManager.RequestAccessAsync().done(function (result) {
    
                switch (result) {
                    case BackgroundAccessStatus.AllowedWithAlwaysOnRealTimeConnectivity:
                        //
                        // App is allowed to use RealTimeConnection broker 
                        // functionality even in low power mode.
                        //
                        lockScreenAdded = true;
                        break;
                    case BackgroundAccessStatus.AllowedMayUseActiveRealTimeConnectivity:
                        //
                        // App is allowed to use RealTimeConnection broker 
                        // functionality but not in low power mode.
                        //
                        lockScreenAdded = true;
                        break;
                    case BackgroundAccessStatus.Denied:
                        //
                        // App should switch to polling mode (example: poll for email based on time triggers)
                        //
                        WinJS.log && WinJS.log("Lock screen access is denied", "sample", "status");
                        break;
                }
            }, function (e) {
                WinJS.log && WinJS.log("An error occurred while requesting lock screen access.", "sample", "error");
            });
        }
    

    Lorsque vous créez une application de l’écran de verrouillage basée sur le service WNS qui utilise les notifications Push brutes, l’élément BackgroundAccessStatus de l’application sera défini sur AllowedMayUseActiveRealTimeConnectivity une fois l’autorisation accordée. L’option de connectivité en temps réel AllowedWithAlwaysOnRealTimeConnectivity est utilisée pour la fonctionnalité de déclencheur réseau. Elle ne concerne pas les applications de l’écran de verrouillage basées sur le service WNS qui utilisent les notifications Push brutes.

    Une fois votre application ajoutée à l’écran de verrouillage, elle doit être visible dans la section Personnaliser de Paramètres du PC. Notez que les utilisateurs peuvent à tout moment choisir de supprimer votre application de la liste des applications d’écran de verrouillage. Vous devez donc vous assurer que votre application reste toujours fonctionnelle même lorsqu’elle ne figure plus sur l’écran de verrouillage.

    Pour plus d’informations sur les demandes relatives aux écrans de verrouillage, voir Vue d’ensemble des écrans de verrouillage et Exemple d’applications d’écran de verrouillage.

Récapitulatif et étapes suivantes

Pour plus d’informations sur le processus visant à enregistrer un canal de notification Push et à l’envoyer à votre serveur, à enregistrer 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 la manière d’écrire une tâche en arrière-plan pour recevoir des notifications réseau en arrière-plan qui utilisent les notifications Push brutes, voir Comment écrire une tâche en arrière-plan pour les notifications Push brutes.

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

Vue d’ensemble des badges

Recommandations et liste de vérification sur les notifications brutes

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

Comment écrire une tâche en arrière-plan pour les notifications Push brutes

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

Vue d’ensemble des vignettes et des notifications par vignette

Vue d’ensemble des notifications toast

Transfert de données en arrière-plan

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