Konfigurieren der App für benutzerorientierte Pushbenachrichtigungen

Sie können die Seite "Pushbenachrichtigungen" im Partner Center verwenden, um direkt mit Kunden zu interagieren, indem Sie gezielte Pushbenachrichtigungen an die Geräte senden, auf denen Ihre Universelle Windows-Plattform -App (UWP) installiert ist. Sie können beispielsweise gezielte Pushbenachrichtigungen verwenden, um Ihre Kunden dazu zu ermutigen, eine Aktion auszuführen, z. B. die Bewertung Ihrer App oder das Ausprobieren eines neuen Features. Sie können verschiedene Arten von Pushbenachrichtigungen senden, einschließlich Popupbenachrichtigungen, Kachelbenachrichtigungen und unformatierten XML-Benachrichtigungen. Sie können auch die Rate der App-Starts nachverfolgen, die sich aus Ihren Pushbenachrichtigungen ergeben haben. Weitere Informationen zu diesem Feature finden Sie unter Senden von Pushbenachrichtigungen an die Kunden Ihrer App.

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 Ihre App für den Empfang von Benachrichtigungen zu registrieren. Sie können zusätzliche Methoden dieser Klasse verwenden, um Partner Center zu benachrichtigen, dass Ihre App als Reaktion auf eine gezielte Pushbenachrichtigung gestartet wurde (wenn Sie die Rate der App-Starts nachverfolgen möchten, die sich aus Ihren Benachrichtigungen ergeben haben) und um den Empfang von Benachrichtigungen zu beenden.

Konfigurieren des Projekts

Bevor Sie Code schreiben, führen Sie die folgenden Schritte aus, um einen Verweis auf das Microsoft Store Services SDK in Ihrem Projekt hinzuzufügen:

  1. Falls noch nicht geschehen, installieren Sie das Microsoft Store Services SDK auf Ihrem Entwicklungscomputer.
  2. Öffnen Sie Ihr Projekt in Visual Studio.
  3. Klicken Sie in Projektmappen-Explorer mit der rechten Maustaste auf den Knoten "Verweise" für Ihr Projekt, und klicken Sie auf "Verweis hinzufügen".
  4. Erweitern Sie im Verweis-Manager universelle Windows-Geräte, und klicken Sie auf Erweiterungen.
  5. Klicken Sie in der Liste der SDKs auf das Kontrollkästchen neben Microsoft Engagement Framework , und klicken Sie auf OK.

Registrieren für Pushbenachrichtigungen

So registrieren Sie Ihre App, um gezielte Pushbenachrichtigungen vom Partner Center zu erhalten:

  1. Suchen Sie in Ihrem Projekt einen Codeabschnitt, der während des Starts ausgeführt wird, in dem Sie Ihre App für den Empfang von Benachrichtigungen registrieren können.

  2. Fügen Sie die folgende Anweisung am Anfang der Codedatei hinzu.

    using Microsoft.Services.Store.Engagement;
    
  3. Rufen Sie ein StoreServicesEngagementManager-Objekt ab, und rufen Sie eine der RegisterNotificationChannelAsync-Überladungen im zuvor identifizierten Startcode auf. Diese Methode sollte jedes Mal aufgerufen werden, wenn Ihre App gestartet wird.

Hinweis

Wenn Sie die RegisterNotificationChannelAsync-Methode aufrufen, wird eine Datei namens MicrosoftStoreEngagementSDKId.txt im lokalen App-Datenspeicher für Ihre App erstellt (der von der ApplicationData.LocalFolder-Eigenschaft zurückgegebene Ordner). Diese Datei enthält eine ID, die von der Zielinfrastruktur für Pushbenachrichtigungen verwendet wird. Stellen Sie sicher, dass Ihre App diese Datei nicht ändert oder löscht. Andernfalls erhalten Ihre Benutzer möglicherweise mehrere Instanzen von Benachrichtigungen, oder die Benachrichtigungen verhalten sich möglicherweise nicht ordnungsgemäß auf andere Weise.

So werden gezielte Pushbenachrichtigungen an Kunden weitergeleitet

Wenn Ihre App RegisterNotificationChannelAsync aufruft, erfasst diese Methode das Microsoft-Konto des Kunden, der derzeit am Gerät angemeldet ist. 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 dem Microsoft-Konto dieses Kunden zugeordnet sind.

Wenn der Kunde, der Ihre App gestartet hat, einem anderen Benutzer das Gerät zur Verfügung stellt, während er noch mit dem Microsoft-Konto angemeldet ist, beachten Sie, dass die andere Person möglicherweise die Benachrichtigung sehen kann, die an den ursprünglichen Kunden gerichtet war. Dies kann unbeabsichtigte Folgen haben, insbesondere für Apps, die Dienste anbieten, die Kunden anmelden können. Um zu verhindern, dass andere Benutzer Ihre gezielten Benachrichtigungen in diesem Szenario sehen, rufen Sie die UnregisterNotificationChannelAsync-Methode auf, wenn Kunden sich von Ihrer App abmelden. Weitere Informationen finden Sie unter "Aufheben der Registrierung für Pushbenachrichtigungen" weiter unten in diesem Artikel.

Reaktion der App beim Starten der App durch den Benutzer

Nachdem Ihre App für den Empfang von Benachrichtigungen registriert wurde und Sie eine Pushbenachrichtigung an die Kunden Ihrer App vom Partner Center senden, wird einer der folgenden Einstiegspunkte in Ihrer App aufgerufen, wenn der Benutzer Ihre App als Reaktion auf Ihre Pushbenachrichtigung startet. Wenn Sie code haben, den Sie ausführen möchten, wenn der Benutzer Ihre App startet, können Sie den Code zu einem dieser Einstiegspunkte in Ihrer App hinzufügen.

  • Wenn die Pushbenachrichtigung über einen Vordergrundaktivierungstyp verfügt, überschreiben Sie die OnActivated-Methode der App-Klasse in Ihrem Projekt, und fügen Sie ihren Code dieser Methode hinzu.

  • Wenn die Pushbenachrichtigung über einen Hintergrundaktivierungstyp verfügt, fügen Sie Ihren Code der Run-Methode für Ihre Hintergrundaufgabe hinzu.

Sie können beispielsweise die Benutzer Ihrer App belohnen, die kostenpflichtige Add-Ons in Ihrer App erworben haben, indem Sie ihnen ein kostenloses Add-On gewähren. In diesem Fall können Sie eine Pushbenachrichtigung an ein Kundensegment senden, das auf diese Benutzer ausgerichtet ist. Anschließend können Sie Code hinzufügen, um ihnen einen kostenlosen In-App-Kauf in einem der oben aufgeführten Einstiegspunkte zu gewähren.

Benachrichtigen des Partner Centers über den App-Start

Wenn Sie die Option zum Nachverfolgen der App-Startrate 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.

Diese Methode gibt auch die ursprünglichen Startargumente für Ihre App zurück. Wenn Sie die App-Startrate für Ihre Pushbenachrichtigung nachverfolgen möchten, wird der Startargumente eine undurchsichtige Nachverfolgungs-ID hinzugefügt, um den App-Start im Partner Center nachzuverfolgen. Sie müssen die Startargumente für Ihre App an die ParseArgumentsAndTrackAppLaunch-Methode übergeben, und diese Methode sendet die Tracking-ID an Partner Center, entfernt die Tracking-ID aus den Startargumenten und gibt die ursprünglichen Startargumente an Ihren Code zurück.

Die Art und Weise, wie Sie diese Methode aufrufen, hängt vom Aktivierungstyp der Pushbenachrichtigung ab:

  • Wenn die Pushbenachrichtigung über einen Vordergrundaktivierungstyp verfügt, rufen Sie diese Methode aus der OnActivated-Methodenüberschreibung in Ihrer App auf, und übergeben Sie die Argumente, die im AnastNotificationActivatedEventArgs-Objekt verfügbar sind, das an diese Methode übergeben wird. Im folgenden Codebeispiel wird davon ausgegangen, dass Ihre Codedatei Anweisungen für die Namespaces "Microsoft.Services.Store.Engagement" und "Windows.ApplicationModel.Activation" verwendet.

    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 über einen Hintergrundaktivierungstyp verfügt, rufen Sie diese Methode aus der Run-Methode für Die Hintergrundaufgabe auf, und übergeben Sie die Argumente, die im ToastNotificationActionTriggerDetail-Objekt verfügbar sind, das an diese Methode übergeben wird. Im folgenden Codebeispiel wird davon ausgegangen, dass Ihre Codedatei Anweisungen für die Namespaces "Microsoft.Services.Store.Engagement", "Windows.ApplicationModel.Background" und "Windows.UI.Notifications" verwendet.

    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 Pushbenachrichtigungen

Wenn Ihre App den Empfang gezielter Pushbenachrichtigungen vom Partner Center beenden soll, rufen Sie die UnregisterNotificationChannelAsync-Methode auf.

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

Beachten Sie, dass diese Methode den Kanal ungültig macht, der für Benachrichtigungen verwendet wird, sodass die App keine Pushbenachrichtigungen mehr von diensten empfängt. Nachdem er geschlossen wurde, kann der Kanal nicht mehr für dienste verwendet werden, einschließlich gezielter Pushbenachrichtigungen aus Partner Center und anderen Benachrichtigungen mit WNS. Um das Senden von Pushbenachrichtigungen an diese App fortzusetzen, muss die App einen neuen Kanal anfordern.