Partager via


Configurer votre application pour les notifications Push ciblées

Vous pouvez utiliser la page Notifications Push dans l’Espace partenaires pour communiquer directement avec les clients en envoyant des notifications Push ciblées aux appareils sur lesquels votre application plateforme Windows universelle (UWP) est installée. Par exemple, vous pouvez utiliser des notifications Push ciblées pour encourager vos clients à effectuer une action, comme évaluer votre application ou essayer une nouvelle fonctionnalité. Vous pouvez envoyer plusieurs types de notifications Push différents, notamment les notifications toast, les notifications de vignette et les notifications XML brutes. Vous pouvez également suivre le taux de lancements d’application résultant de vos notifications Push. Pour plus d’informations sur cette fonctionnalité, consultez Envoyer des notifications Push aux clients de votre application.

Avant de pouvoir envoyer des notifications Push ciblées à vos clients à partir de l’Espace partenaires, vous devez utiliser une méthode de la classe StoreServicesEngagementManager dans le Kit de développement logiciel (SDK) microsoft Store Services pour inscrire votre application pour recevoir des notifications. Vous pouvez utiliser des méthodes supplémentaires de cette classe pour informer l’Espace partenaires que votre application a été lancée en réponse à une notification Push ciblée (si vous souhaitez suivre le taux de lancements d’application résultant de vos notifications) et cesser de recevoir des notifications.

Configurer votre projet

Avant d’écrire du code, procédez comme suit pour ajouter une référence au Kit de développement logiciel (SDK) microsoft Store Services dans votre projet :

  1. Si vous ne l’avez pas déjà fait, installez le Kit de développement logiciel (SDK ) microsoft Store Services sur votre ordinateur de développement.
  2. Ouvrez votre projet dans Visual Studio.
  3. Dans Explorateur de solutions, cliquez avec le bouton droit sur le nœud Références de votre projet, puis cliquez sur Ajouter une référence.
  4. Dans le Gestionnaire de références, développez Windows universel et cliquez sur Extensions.
  5. Dans la liste des kits SDK, cliquez sur la case à cocher en regard de Microsoft Engagement Framework , puis cliquez sur OK.

Inscription aux notifications Push

Pour inscrire votre application pour recevoir des notifications Push ciblées à partir de l’Espace partenaires :

  1. Dans votre projet, recherchez une section de code qui s’exécute au démarrage dans laquelle vous pouvez inscrire votre application pour recevoir des notifications.

  2. Ajoutez l’instruction suivante en haut du fichier de code.

    using Microsoft.Services.Store.Engagement;
    
  3. Obtenez un objet StoreServicesEngagementManager et appelez l’une des surcharges RegisterNotificationChannelAsync dans le code de démarrage que vous avez identifié précédemment. Cette méthode doit être appelée chaque fois que votre application est lancée.

Remarque

Lorsque vous appelez la méthode RegisterNotificationChannelAsync , un fichier nommé MicrosoftStoreEngagementSDKId.txt est créé dans le magasin de données d’application local de votre application (le dossier retourné par la propriété ApplicationData.LocalFolder ). Ce fichier contient un ID utilisé par l’infrastructure de notifications Push ciblée. Assurez-vous que votre application ne modifie pas ou ne supprime pas ce fichier. Sinon, vos utilisateurs peuvent recevoir plusieurs instances de notifications, ou les notifications peuvent ne pas se comporter correctement d’une autre manière.

Comment les notifications Push ciblées sont routées vers les clients

Lorsque votre application appelle RegisterNotificationChannelAsync, cette méthode collecte le compte Microsoft du client actuellement connecté à l’appareil. Plus tard, lorsque vous envoyez une notification Push ciblée à un segment incluant ce client, l’Espace partenaires envoie la notification aux appareils associés au compte Microsoft de ce client.

Si le client qui a démarré votre application donne à quelqu’un d’autre l’appareil à utiliser pendant qu’il est toujours connecté à l’appareil avec son compte Microsoft, sachez que l’autre personne peut voir la notification ciblant le client d’origine. Cela peut avoir des conséquences inattendues, en particulier pour les applications qui offrent des services que les clients peuvent se connecter à utiliser. Pour empêcher d’autres utilisateurs de voir vos notifications ciblées dans ce scénario, appelez la méthode UnregisterNotificationChannelAsync lorsque les clients se déconnectent de votre application. Pour plus d’informations, consultez Annuler l’inscription pour les notifications Push plus loin dans cet article.

Réponse de votre application lorsque l’utilisateur lance votre application

Une fois que votre application est inscrite pour recevoir des notifications et que vous envoyez une notification Push aux clients de votre application à partir de l’Espace partenaires, l’un des points d’entrée suivants dans votre application est appelé lorsque l’utilisateur lance votre application en réponse à votre notification Push. Si vous avez du code que vous souhaitez exécuter lorsque l’utilisateur lance votre application, vous pouvez ajouter le code à l’un de ces points d’entrée dans votre application.

  • Si la notification Push a un type d’activation de premier plan, remplacez la méthode OnActivated de la classe App dans votre projet et ajoutez votre code à cette méthode.

  • Si la notification Push a un type d’activation en arrière-plan, ajoutez votre code à la méthode Run pour votre tâche en arrière-plan.

Par exemple, vous souhaiterez peut-être récompenser les utilisateurs de votre application qui ont acheté des modules complémentaires payants dans votre application en leur accordant une extension gratuite. Dans ce cas, vous pouvez envoyer une notification Push à un segment client qui cible ces utilisateurs. Ensuite, vous pouvez ajouter du code pour leur accorder un achat gratuit dans l’application dans l’un des points d’entrée répertoriés ci-dessus.

Notifier l’Espace partenaires du lancement de votre application

Si vous sélectionnez l’option Suivre le taux de lancement de l’application pour votre notification Push ciblée dans l’Espace partenaires, appelez la méthode ParseArgumentsAndTrackAppLaunch à partir du point d’entrée approprié dans votre application pour avertir l’Espace partenaires que votre application a été lancée en réponse à une notification Push.

Cette méthode retourne également les arguments de lancement d’origine pour votre application. Lorsque vous choisissez de suivre le taux de lancement de l’application pour votre notification Push, un ID de suivi opaque est ajouté aux arguments de lancement pour vous aider à suivre le lancement de l’application dans l’Espace partenaires. Vous devez transmettre les arguments de lancement de votre application à la méthode ParseArgumentsAndTrackAppLaunch , et cette méthode envoie l’ID de suivi à l’Espace partenaires, supprime l’ID de suivi des arguments de lancement et retourne les arguments de lancement d’origine à votre code.

La façon dont vous appelez cette méthode dépend du type d’activation de la notification Push :

  • Si la notification Push a un type d’activation de premier plan, appelez cette méthode à partir de la substitution de méthode OnActivated dans votre application et transmettez les arguments disponibles dans l’objet ToastNotificationActivatedEventArgs passé à cette méthode. L’exemple de code suivant suppose que votre fichier de code utilise des instructions pour les espaces de noms Microsoft.Services.Store.Engagement et Windows.ApplicationModel.Activation.

    protected override void OnActivated(IActivatedEventArgs args)
    {
        base.OnActivated(args);
    
        if (args is ToastNotificationActivatedEventArgs)
        {
            var toastActivationArgs = args as ToastNotificationActivatedEventArgs;
    
            StoreServicesEngagementManager engagementManager = StoreServicesEngagementManager.GetDefault();
            string originalArgs = engagementManager.ParseArgumentsAndTrackAppLaunch(
                toastActivationArgs.Argument);
    
            // Use the originalArgs variable to access the original arguments
            // that were passed to the app.
        }
    }
    
  • Si la notification Push a un type d’activation en arrière-plan, appelez cette méthode à partir de la méthode Run pour votre tâche en arrière-plan et transmettez les arguments disponibles dans l’objet ToastNotificationActionTriggerDetail passé à cette méthode. L’exemple de code suivant suppose que votre fichier de code utilise des instructions pour les espaces de noms Microsoft.Services.Store.Engagement, Windows.ApplicationModel.Background et Windows.UI.Notifications.

    public void Run(IBackgroundTaskInstance taskInstance)
    {
        var details = taskInstance.TriggerDetails as ToastNotificationActionTriggerDetail;
    
        if (details != null)
        {
            StoreServicesEngagementManager engagementManager = StoreServicesEngagementManager.GetDefault();
            string originalArgs = engagementManager.ParseArgumentsAndTrackAppLaunch(details.Argument);
    
            // Use the originalArgs variable to access the original arguments
            // that were passed to the app.
        }
    }
    

Annuler l’inscription pour les notifications Push

Si vous souhaitez que votre application cesse de recevoir des notifications Push ciblées à partir de l’Espace partenaires, appelez la méthode UnregisterNotificationChannelAsync .

StoreServicesEngagementManager engagementManager = StoreServicesEngagementManager.GetDefault();
await engagementManager.UnregisterNotificationChannelAsync();

Notez que cette méthode invalide le canal utilisé pour les notifications afin que l’application ne reçoive plus de notifications Push de tous les services. Une fois qu’il a été fermé, le canal ne peut pas être utilisé à nouveau pour tous les services, y compris les notifications Push ciblées de l’Espace partenaires et d’autres notifications utilisant WNS. Pour reprendre l’envoi de notifications Push à cette application, l’application doit demander un nouveau canal.