Konfigurieren der App für benutzerorientierte PushbenachrichtigungenConfigure your app for targeted push notifications

Auf der Seite Pushbenachrichtigungen im Partner Center können Sie direkt mit Kunden in Kontakt treten, indem Sie gezielte Pushbenachrichtigungen an die Geräte senden, auf denen ihre universelle Windows-Plattform-app (UWP) installiert ist.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. So können Sie beispielsweise Ihre Kunden mithilfe von benutzerorientierten Pushbenachrichtigungen auffordern, aktiv zu werden, etwa Ihre App zu bewerten oder ein neues Feature auszuprobieren.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. Sie können verschiedene Arten von Pushbenachrichtigungen verwenden, darunter Popupbenachrichtigungen, Kachelbenachrichtigungen und reine XML-Benachrichtigungen.You can send several different types of push notifications, including toast notifications, tile notifications, and raw XML notifications. Sie können auch die Rate der App-Starts nachverfolgen, die durch Ihre Pushbenachrichtigungen ausgelöst wurden.You can also track the rate of app launches that resulted from your push notifications. Weitere Informationen zu diesem Feature finden Sie unter Senden von Pushbenachrichtigungen an den Kunden Ihrer App.For more information about this feature, see Send push notifications to your app's customers.

Bevor Sie gezielte Pushbenachrichtigungen von Partner Center an Ihre Kunden senden können, müssen Sie eine Methode der storeservicesengagementmanager -Klasse im Microsoft Store Services SDK verwenden, um die APP für den Empfang von Benachrichtigungen zu registrieren.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. Sie können mit zusätzlichen Methoden dieser Klasse Partner Center Benachrichtigen, dass Ihre APP als Reaktion auf eine gezielte Pushbenachrichtigung gestartet wurde (wenn Sie die Rate der App-Starts nachverfolgen möchten, die aus Ihren Benachrichtigungen resultieren), und den Empfang von Benachrichtigungen nicht mehr erreichen möchten.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.

Konfigurieren des ProjektsConfigure your project

Gehen Sie vor dem Schreiben von Code wie folgt vor, um in Ihrem Projekt einen Verweis auf das Microsoft Store Services SDK hinzuzufügen:Before you write any code, follow these steps to add a reference to the Microsoft Store Services SDK in your project:

  1. Falls noch nicht geschehen, installieren Sie das Microsoft Store Services SDK auf Ihrem Entwicklungscomputer.If you have not done so already, Install the Microsoft Store Services SDK on your development computer.
  2. Öffnen Sie Ihr Projekt in Visual Studio.Open your project in Visual Studio.
  3. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten Verweise für Ihr Projekt, und wählen Sie anschließend Verweis hinzufügen aus.In Solution Explorer, right-click the References node for your project and click Add Reference.
  4. Erweitern Sie im Verweis-Manager die Option Universelle Windows-App, und klicken Sie auf Erweiterungen.In Reference Manager, expand Universal Windows and click Extensions.
  5. Klicken Sie in der Liste der SDKs auf das Kontrollkästchen neben Microsoft Engagement Framework und anschließend auf OK.In the list of SDKs, click the check box next to Microsoft Engagement Framework and click OK.

Registrieren für PushbenachrichtigungenRegister for push notifications

So registrieren Sie Ihre APP für den Empfang gezielter Pushbenachrichtigungen von Partner Center:To register your app to receive targeted push notifications from Partner Center:

  1. Suchen Sie in Ihrem Projekt einen Code Abschnitt, der während des Starts ausgeführt wird, in dem Sie Ihre APP registrieren können, um Benachrichtigungen zu empfangen.In your project, locate a section of code that runs during startup in which you can register your app to receive notifications.

  2. Fügen Sie zu Beginn der Codedatei die folgende Anweisung ein:Add the following statement to the top of the code file.

    using Microsoft.Services.Store.Engagement;
    
  3. Rufen Sie ein StoreServicesEngagementManager-Objekt ab, und rufen Sie eine der RegisterNotificationChannelAsync-Überladungen in dem zuvor identifizierten Startcode auf.Get a StoreServicesEngagementManager object and call one of the RegisterNotificationChannelAsync overloads in the startup code you identified earlier. Diese Methode sollte bei jedem Start Ihrer App aufgerufen werden.This method should be called each time that your app is launched.

Hinweis

Wenn Sie die registernotificationchannelasync -Methode aufrufen, wird eine Datei mit dem Namen MicrosoftStoreEngagementSDKId.txt im lokalen app-Datenspeicher für Ihre APP erstellt (der Ordner, der von der ApplicationData. localfolder -Eigenschaft zurückgegeben wird).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). Diese Datei enthält eine ID, die von der Ziel Infrastruktur für Pushbenachrichtigungen verwendet wird.This file contains an ID that is used by the targeted push notifications infrastructure. Stellen Sie sicher, dass diese Datei von Ihrer APP nicht geändert oder gelöscht wird.Make sure that your app does not modify or delete this file. Andernfalls erhalten die Benutzer möglicherweise mehrere Instanzen von Benachrichtigungen, oder die Benachrichtigungen Verhalten sich auf andere Weise nicht ordnungsgemäß.Otherwise, your users may receive multiple instances of notifications, or the notifications may not behave properly in other ways.

Weiterleiten gezielter Pushbenachrichtigungen an KundenHow targeted push notifications are routed to customers

Wenn Ihre APP registernotificationchannelasyncaufruft, sammelt diese Methode den Microsoft-Konto des Kunden, der zurzeit am Gerät angemeldet ist.When your app calls RegisterNotificationChannelAsync, this method collects the Microsoft account of the customer who is currently signed in to the device. Wenn Sie später eine gezielte Pushbenachrichtigung an ein Segment senden, das diesen Kunden enthält, sendet Partner Center die Benachrichtigung an Geräte, die mit dem Microsoft-Konto dieses Kunden verknüpft sind.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.

Wenn der Kunde, der Ihre APP gestartet hat, das Gerät an eine andere Person weitergeben soll, während Sie mit Ihrem Microsoft-Konto weiterhin beim Gerät angemeldet sind, sollten Sie beachten, dass die andere Person die Benachrichtigung erhält, die auf den ursprünglichen Kunden gerichtet war.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. Dies kann unbeabsichtigte Folgen haben, insbesondere für apps, die Dienste anbieten, die Kunden für die Verwendung von anmelden können.This can have unintended consequences, particularly for apps that offer services that customers can sign in to use. Um zu verhindern, dass andere Benutzer ihre Ziel Benachrichtigungen in diesem Szenario anzeigen, müssen Sie die unregisternotificationchannelasync -Methode aufrufen, wenn sich Kunden von Ihrer APP abmelden.To prevent other users from seeing your targeted notifications in this scenario, call the UnregisterNotificationChannelAsync method when customers sign out of your app. Weitere Informationen finden Sie weiter unten in diesem Artikel unter Aufheben der Registrierung für Pushbenachrichtigungen .For more information, see Unregister for push notifications later in this article.

Wie Ihre APP reagiert, wenn der Benutzer Ihre APP gestartetHow your app responds when the user launches your app

Nachdem die APP für den Empfang von Benachrichtigungen registriert wurde und Sie eine Pushbenachrichtigung an die Kunden der APP über Partner Center gesendethaben, wird einer der folgenden Einstiegspunkte in ihrer app aufgerufen, wenn der Benutzer die APP als Reaktion auf Ihre Pushbenachrichtigung startet.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. Wenn Sie Code haben, der ausgeführt werden soll, wenn der Benutzer die App startet, können Sie ihn einem dieser Einstiegspunkte in Ihrer App hinzufügen.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.

  • Hat die Pushbenachrichtigung einen Vordergrund-Aktivierungstyp, übergehen Sie die OnActivated-Methode der App-Klasse in Ihrem Projekt, und fügen Sie Ihren Code dieser Methode hinzu.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.

  • Hat die Pushbenachrichtigung einen Hintergrund-Aktivierungstyp, fügen Sie Ihren Code der Run-Methode für Ihre Hintergrundaufgabe hinzu.If the push notification has a background activation type, add your code to the Run method for your background task.

So können Sie beispielsweise die Benutzer Ihrer App, die kostenpflichtige Add-Ons gekauft haben, mit einem kostenlosen Add-On belohnen.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. In diesem Fall können Sie eine Pushbenachrichtigung an ein Kundensegment senden, die auf diese Benutzer ausgerichtet ist.In this case, you can send a push notification to a customer segment that targets these users. Dann können Sie in einem der oben aufgeführten Einstiegspunkte Code hinzufügen, um diesen Kunden einen kostenlosen In-App-Kauf zu gewähren.Then, you can add code to grant them a free in-app purchase in one of the entry points listed above.

Benachrichtigen von Partner Center über Ihren app-StartNotify Partner Center of your app launch

Wenn Sie die Option App-Start Rate nachverfolgen für Ihre gezielte Pushbenachrichtigung im Partner Center auswählen, rufen Sie die ParseArgumentsAndTrackAppLaunch -Methode vom entsprechenden Einstiegspunkt in Ihrer APP auf, um Partner Center zu benachrichtigen, dass Ihre APP als Reaktion auf eine Pushbenachrichtigung gestartet wurde.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.

Diese Methode gibt auch die ursprünglichen Startargumente für Ihre App zurück.This method also returns the original launch arguments for your app. Wenn Sie die APP-Start Rate für Ihre Pushbenachrichtigung nachverfolgen möchten, wird den Start Argumenten eine nicht transparente Überwachungs-ID hinzugefügt, um den App-Start in Partner Center zu verfolgen.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. Sie müssen die Start Argumente für Ihre APP an die ParseArgumentsAndTrackAppLaunch -Methode übergeben, und diese Methode sendet die Überwachungs-ID an Partner Center, entfernt die Überwachungs-ID aus den Launch-Argumenten und gibt die ursprünglichen Start Argumente an Ihren Code zurück.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.

Die Art und Weise, wie diese Methode aufgerufen wird, hängt vom Aktivierungs Typ der Pushbenachrichtigung ab:The way you call this method depends on the activation type of the push notification:

  • Hat die Pushbenachrichtigung einen Vordergrund-Aktivierungstyp, rufen Sie diese Methode aus der OnActivated-Methodenüberschreibung in Ihrer App auf, und übergeben Sie die Argumente, die im ToastNotificationActivatedEventArgs-Objekt verfügbar sind, an das Objekt, das an diese Methode übergeben wird.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. Im folgenden Codebeispiel wird davon ausgegangen, dass Ihre Codedatei using-Anweisungen für die Namespaces Microsoft.Services.Store.Engagement und Windows.ApplicationModel.Activation enthält.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.
        }
    }
    
  • Wenn die Pushbenachrichtigung einen Hintergrundaktivierungstyp hat, rufen Sie diese Methode aus der Run-Methode für Ihre Hintergrundaufgabe auf, und übergeben Sie die Argumente, die im ToastNotificationActionTriggerDetail-Objekt verfügbar sind, das an diese Methode übergeben wird.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. Im folgenden Codebeispiel wird davon ausgegangen, dass Ihre Codedatei using-Anweisungen für die Namespaces Microsoft.Services.Store.Engagement, Windows.ApplicationModel.Background und Windows.UI.Notifications enthält.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.
        }
    }
    

Aufheben der Registrierung für PushbenachrichtigungenUnregister for push notifications

Wenn Sie möchten, dass Ihre APP keine gezielten Pushbenachrichtigungen mehr von Partner Center empfängt, können Sie die unregisternotificationchannelasync -Methode aufrufen.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();

Beachten Sie, dass diese Methode den Kanal, der für Benachrichtigungen verwendet wird, ungültig macht, damit die App keine Pushbenachrichtigungen irgendwelcher Dienste mehr empfängt.Note that this method invalidates the channel that is being used for notifications so the app no longer receives push notifications from any services. Nachdem Sie geschlossen wurde, kann der Kanal für keine Dienste erneut verwendet werden, einschließlich gezielter Pushbenachrichtigungen aus Partner Center und anderen Benachrichtigungen mithilfe von 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. Damit wieder Pushbenachrichtigungen an diese App gesendet werden können, muss die App einen neuen Kanal anfragen.To resume sending push notifications to this app, the app must request a new channel.