Configurer votre application pour les notifications Push cibléesConfigure your app for targeted push notifications

Vous pouvez utiliser la page notifications push dans l’espace partenaires pour contacter directement les clients en envoyant des notifications push ciblées aux appareils sur lesquels votre application plateforme Windows universelle (UWP) est installée.You can use the Push notifications page in Partner Center to directly engage with customers by sending targeted push notifications to the devices on which your Universal Windows Platform (UWP) app is installed. Vous pouvez utiliser des notifications push ciblées afin d’inciter vos clients à effectuer une action, par exemple évaluer une application ou essayer une nouvelle fonctionnalité.For example, you can use targeted push notifications to encourage your customers to take an action, such as rating your app or trying a new feature. Vous pouvez envoyer différents types de notifications Push, dont les notifications toast, les notifications par vignette et les notifications XML brutes.You can send several different types of push notifications, including toast notifications, tile notifications, and raw XML notifications. Vous pouvez également effectuer le suivi des lancements d’applications provoqués par vos notifications Push.You can also track the rate of app launches that resulted from your push notifications. Pour plus d’informations sur cette fonctionnalité, consultez la page Envoyer des notifications Push aux clients de vos applications.For more information about this feature, see Send push notifications to your app's customers.

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 afin de recevoir des notifications.Before you can send targeted push notifications to your customers from Partner Center, you must use a method of the StoreServicesEngagementManager class in the Microsoft Store Services SDK to register your app to receive notifications. Vous pouvez utiliser d’autres méthodes de cette classe pour notifier le Centre des partenaires que votre application a été lancée en réponse à une notification push ciblée (si vous souhaitez suivre le taux de lancement d’application qui résultent de vos notifications) et pour cesser de recevoir des notifications.You can use additional methods of this class to notify Partner Center that your app was launched in response to a targeted push notification (if you want to track the rate of app launches that resulted from your notifications) and to stop receiving notifications.

Configurer votre projetConfigure your project

Avant d’écrire du code, suivez ces étapes afin d’ajouter une référence au Microsoft Store Services SDK dans votre projet :Before you write any code, follow these steps to add a reference to the Microsoft Store Services SDK in your project:

  1. Si vous ne l’avez pas encore fait, Installez le Microsoft Store Services SDK sur votre ordinateur de développement.If you have not done so already, Install the Microsoft Store Services SDK on your development computer.
  2. Ouvrez votre projet dans Visual Studio.Open your project in Visual Studio.
  3. Dans l’Explorateur de solutions, cliquez avec le bouton droit sur le nœud Références, puis sélectionnez Ajouter une référence.In Solution Explorer, right-click the References node for your project and click Add Reference.
  4. Dans le Gestionnaire de références, développez Windows universel, puis cliquez sur Extensions.In Reference Manager, expand Universal Windows and click Extensions.
  5. Dans la liste des kits de développement logiciel (SDK), cochez la case en regard de Microsoft Engagement Framework et cliquez sur OK.In the list of SDKs, click the check box next to Microsoft Engagement Framework and click OK.

Inscription aux notifications PushRegister for push notifications

Pour inscrire votre application afin de recevoir des notifications push ciblées de l’espace partenaires :To register your app to receive targeted push notifications from Partner Center:

  1. Dans votre projet, localisez une section de code qui s’exécute au démarrage, dans laquelle vous pouvez inscrire votre application pour recevoir des notifications.In your project, locate a section of code that runs during startup in which you can register your app to receive notifications.

  2. Ajoutez l’instruction suivante en haut du fichier de code.Add the following statement to the top of the code file.

    using Microsoft.Services.Store.Engagement;
    
  3. Récupérez un objet StoreServicesEngagementManager et appelez l’une des surcharges RegisterNotificationChannelAsync dans le code de démarrage identifié plus tôt.Get a StoreServicesEngagementManager object and call one of the RegisterNotificationChannelAsync overloads in the startup code you identified earlier. Cette méthode doit être appelée à chaque lancement de l’application.This method should be called each time that your app is launched.

Notes

Quand vous appelez la méthode RegisterNotificationChannelAsync , un fichier nommé MicrosoftStoreEngagementSDKId.txt est créé dans le magasin de données de l’application locale pour votre application (le dossier renvoyé par la propriété ApplicationData. LocalFolder ).When you call the RegisterNotificationChannelAsync method, a file named MicrosoftStoreEngagementSDKId.txt is created in the local app data store for your app (the folder returned by the ApplicationData.LocalFolder property). Ce fichier contient un ID qui est utilisé par l’infrastructure de notifications push ciblée.This file contains an ID that is used by the targeted push notifications infrastructure. Assurez-vous que votre application ne modifie pas ou ne supprime pas ce fichier.Make sure that your app does not modify or delete this file. Dans le cas contraire, vos utilisateurs peuvent recevoir plusieurs instances de notifications, ou les notifications peuvent ne pas se comporter correctement d’une autre manière.Otherwise, your users may receive multiple instances of notifications, or the notifications may not behave properly in other ways.

Comment les notifications push ciblées sont routées vers les clientsHow targeted push notifications are routed to customers

Lorsque votre application appelle RegisterNotificationChannelAsync, cette méthode collecte les compte Microsoft du client qui est actuellement connecté à l’appareil.When your app calls RegisterNotificationChannelAsync, this method collects the Microsoft account of the customer who is currently signed in to the device. Plus tard, lorsque vous envoyez une notification push ciblée à un segment qui comprend ce client, l’espace partenaires envoie la notification aux appareils associés à la compte Microsoft de ce client.Later, when you send a targeted push notification to a segment that includes this customer, Partner Center sends the notification to devices that are associated with this customer's Microsoft account.

Si le client qui a démarré votre application envoie son appareil à une autre personne pour qu’il l’utilise alors qu’il est toujours connecté à l’appareil avec son compte Microsoft, sachez que l’autre personne peut voir la notification ciblée sur le client d’origine.If the customer who started your app gives their device to someone else to use while they are still signed in to the device with their Microsoft account, be aware that the other person may see the notification that was targeted at the original customer. Cela peut avoir des conséquences inattendues, en particulier pour les applications qui offrent des services que les clients peuvent utiliser pour se connecter.This can have unintended consequences, particularly for apps that offer services that customers can sign in to use. 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.To prevent other users from seeing your targeted notifications in this scenario, call the UnregisterNotificationChannelAsync method when customers sign out of your app. Pour plus d’informations, consultez Annuler l’inscription aux notifications push plus loin dans cet article.For more information, see Unregister for push notifications later in this article.

Comment votre application répond quand l’utilisateur lance votre applicationHow your app responds when the user launches your app

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é quand l’utilisateur lance votre application en réponse à votre notification push.After your app is registered to receive notifications and you send a push notification to your app's customers from Partner Center, one of the following entry points in your app will be called when the user launches your app in response to your push notification. Si vous possédez du code à exécuter lorsque l’utilisateur lance votre application, vous pouvez l’ajouter à l’un de ces points d’entrée dans votre application.If you have some code that you want to run when the user launches your app, you can add the code to one of these entry points in your app.

  • Si la notification Push présente un type d’activation au premier plan, supprimez la méthode OnActivated de la classe App dans votre projet et ajoutez votre code à cette méthode.If the push notification has a foreground activation type, override the OnActivated method of the App class in your project and add your code to this method.

  • Si la notification Push présente un type d’activation en arrière-plan, ajoutez votre code à la méthode Run de votre tâche en arrière-plan.If the push notification has a background activation type, add your code to the Run method for your background task.

Par exemple, vous pouvez récompenser les utilisateurs de votre application qui ont fait l’acquisition d’extensions payantes en leur octroyant gratuitement une autre extension.For example, you might want to reward the users of your app that have purchased any paid add-ons in your app by granting them a free add-on. Dans ce cas, vous pouvez envoyer une notification Push à un segment de clients ciblant ces utilisateurs.In this case, you can send a push notification to a customer segment that targets these users. Ensuite, vous pouvez ajouter du code afin de leur procurer un achat in-app dans l’un des points d’entrée répertoriés ci-dessus.Then, you can add code to grant them a free in-app purchase in one of the entry points listed above.

Notifier le centre partenaires de votre lancement d’applicationNotify Partner Center of your app launch

Si vous sélectionnez l’option suivre le taux de lancement des applications 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 notifier le Centre des partenaires que votre application a été lancée en réponse à une notification push.If you select the Track app launch rate option for your targeted push notification in Partner Center, call the ParseArgumentsAndTrackAppLaunch method from the appropriate entry point in your app to notify Partner Center that your app was launched in response to a push notification.

Cette méthode renvoie également les arguments de lancement d’origine associés à votre application.This method also returns the original launch arguments for your app. Lorsque vous choisissez d’effectuer le suivi du taux de lancement d’application pour votre notification push, un ID de suivi opaque est ajouté aux arguments de lancement pour faciliter le suivi du lancement de l’application dans l’espace partenaires.When you choose to track the app launch rate for your push notification, an opaque tracking ID is added to the launch arguments to help track the app launch in Partner Center. Vous devez passer 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 dans votre code.You must pass the launch arguments for your app to the ParseArgumentsAndTrackAppLaunch method, and this method sends the tracking ID to Partner Center, removes the tracking ID from the launch arguments, and returns the original launch arguments to your code.

La façon dont vous appelez cette méthode dépend du type d’activation de la notification push :The way you call this method depends on the activation type of the push notification:

  • Si la notification Push présente un type d’activation au premier plan, appelez cette méthode depuis la substitution de méthode OnActivated de votre application et communiquez les arguments disponibles dans l’objet ToastNotificationActivatedEventArgs transmis à cette méthode.If the push notification has a foreground activation type, call this method from the OnActivated method override in your app and pass the arguments that are available in the ToastNotificationActivatedEventArgs object that is passed to this method. 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 .The following code example assumes that your code file has using statements for the Microsoft.Services.Store.Engagement and Windows.ApplicationModel.Activation namespaces.

    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 présente un type d’activation en arrière-plan, appelez cette méthode depuis la méthode Run de votre tâche en arrière-plan et transmettez les arguments qui sont disponibles dans l’objet ToastNotificationActionTriggerDetail transmis à cette méthode.If the push notification has a background activation type, call this method from the Run method for your background task and pass the arguments that are available in the ToastNotificationActionTriggerDetail object that is passed to this method. L’exemple de code suivant suppose que votre fichier de code contient des instructions using pour les espaces de noms Microsoft.Services.Store.Engagement, Windows.ApplicationModel.Background et Windows.UI.Notifications.The following code example assumes that your code file has using statements for the Microsoft.Services.Store.Engagement, Windows.ApplicationModel.Background, and Windows.UI.Notifications namespaces.

    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 aux notifications PushUnregister for push notifications

Si vous souhaitez que votre application cesse de recevoir des notifications push ciblées à partir de l’espace partenaires, appelez la méthode UnregisterNotificationChannelAsync .If you want your app to stop receiving targeted push notifications from Partner Center, call the UnregisterNotificationChannelAsync method.

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

Notez que cette méthode invalide le canal utilisé pour les notifications et donc que l’application ne reçoit plus de notifications Push d’aucun service.Note that this method invalidates the channel that is being used for notifications so the app no longer receives push notifications from any services. Une fois fermé, le canal ne peut plus être réutilisé pour aucun service, y compris les notifications push ciblées de l’espace partenaires et d’autres notifications utilisant WNS.After it has been closed, the channel cannot be used again for any services, including targeted push notifications from Partner Center and other notifications using WNS. Pour réactiver l’envoi des notifications Push à cette application, l’application doit demander un nouveau canal.To resume sending push notifications to this app, the app must request a new channel.