Handhabung von Push-Benachrichtigungen in Windows 8.1 Universal und Windows 10 UWP

improve this page | report issue

Übersicht

Sie können die MobileFirst-API für Benachrichtigungen verwenden, um Geräte zu registrieren und Geräteregistrierungen aufzuheben und um Tags zu abonnieren und Tagabonnements zu beenden. In diesem Lernprogramm werden Sie lernen, wie Push-Benachrichtigungen in universellen Windows-8.1-Anwendungen und Windows-10-UWP-Anwendungen mit C# gehandhabt werden.

Voraussetzungen:

Fahren Sie mit folgenden Abschnitten fort:

Benachrichtigungskonfiguration

Erstellen Sie ein neues Visual-Studio-Projekt oder verwenden Sie ein vorhandenes Projekt.
Wenn das native MobileFirst-Windows-SDK noch nicht im Projekt enthalten ist, folgen Sie den Anweisungen im Lernprogramm MobileFirst-SDK zu Windows-Anwendungen hinzufügen.

Push-SDK hinzufügen

  1. Wählen Sie “Extras → NuGet Package Manager → Package Manager Console” aus.
  2. Wählen Sie das Projekt aus, in dem Sie die MobileFirst-Push-Komponente installieren wollen.
  3. Fügen Sie das MobileFirst-Push-SDK hinzu, indem Sie den Befehl Install-Package IBM.MobileFirstPlatformFoundationPush ausführen.

Vorausgesetzte WNS-Konfiguration

  1. Stellen Sie sicher, dass die Anwendung über die Popup-Benachrichtigungsfunktion (Toast) verfügt. Sie können die Funktion in Package.appxmanifest aktivieren.
  2. Identitätsname des Pakets und Publisher müssen mit den registrierten Werten aus dem WNS aktualisiert worden sein.
  3. Löschen Sie die Datei TemporaryKey.pfx (optional).

API für Benachrichtigungen

MFPPush-Instanz

Alle API-Aufrufe müssen für eine Instanz von MFPPush ausgeführt werden. Zu diesem Zweck können Sie eine Variable erstellen, z. B. private MFPPush PushClient = MFPPush.GetInstance();, und dann in der gesamten Klasse PushClient.methodName() aufrufen.

Alternativ dazu könen Sie MFPPush.GetInstance().methodName() für jede Instanz aufrufen, in der Sie auf die Push-API-Methoden zugreifen müssen.

Abfrage-Handler

Wenn der Bereich push.mobileclient einer Sicherheitsüberprüfung zugeordnet ist, müssen Sie sicherstellen, dass passende Abfrage-Handler registriert sind, bevor Push-APIs verwendet werden.

Weitere Informationen zu Abfrage-Handlern enthält das Lernprogramm Berechtigungsnachweise validieren.

Clientseite

C-Sharp-Methoden Beschreibung
Initialize() Initialisiert MFPPush für den angegebenen Kontext
IsPushSupported() Unterstützt das Gerät Push-Benachrichtigungen?
RegisterDevice(JObject options) Registriert das Gerät beim Push-Benachrichtigungsservice
GetTags() Ruft die verfügbaren Tags einer Instanz des Push-Benachrichtigungsservice ab
Subscribe(String[] Tags) Richtet das Geräteabonnement für die angegebenen Tags ein
GetSubscriptions() Ruft die derzeit vom Gerät abonnierten Tags ab
Unsubscribe(String[] Tags) Beendet das Abonnement bestimmter Tags
UnregisterDevice() Hebt die Registrierung des Geräts beim Push-Benachrichtigungsservice auf

Initialisierung

Die Initialisierung ist erforderlich, damit die Clientanwendung eine Verbindung zum Service MFPPush herstellen kann.

  • Die Methode Initialize muss aufgerufen werden, bevor andere MFPPush-APIs verwendet werden.
  • Die Callback-Funktion wird für die Handhabung empfangener Push-Benachrichtigungen registriert.
MFPPush.GetInstance().Initialize();

Wird Push unterstützt?

Es wird überprüft, ob das Gerät Push-Benachrichtigungen unterstützt.

Boolean isSupported = MFPPush.GetInstance().IsPushSupported();

if (isSupported ) {
    // Push wird unterstützt.
} else {
    // Push wird nicht unterstützt.
}

Gerät registrieren und Gerätetoken senden

Registrieren Sie das Gerät beim Push-Benachrichtigungsservice.

JObject Options = new JObject();
MFPPushMessageResponse Response = await MFPPush.GetInstance().RegisterDevice(Options);         
if (Response.Success == true)
{
    // Erfolgreich registriert
     } else {
         // Registrierung mit Fehler fehlgeschlagen
     }

Tags abrufen

Rufen Sie alle verfügbaren Tags vom Push-Benachrichtigungsservice ab.

MFPPushMessageResponse Response = await MFPPush.GetInstance().GetTags();
if (Response.Success == true)
{
    Message = new MessageDialog("Avalibale Tags: " + Response.ResponseJSON["tagNames"]);
} else{
    Message = new MessageDialog("Failed to get Tags list");
}

Abonnement

Abonnieren Sie die gewünschten Tags.

string[] Tags = ["Tag1" , "Tag2"];

// Abonnementtag abrufen
MFPPushMessageResponse Response = await MFPPush.GetInstance().Subscribe(Tags);
if (Response.Success == true)
{
    // Push-Tag erfolgreich abonniert
}
else
{
    // Abonnement von Push-Tags fehlgeschlagen
}

Abonnements abrufen

Rufen Sie die derzeit vom Gerät abonnierten Tags ab.

MFPPushMessageResponse Response = await MFPPush.GetInstance().GetSubscriptions();
if (Response.Success == true)
{
    Message = new MessageDialog("Avalibale Tags: " + Response.ResponseJSON["tagNames"]);
}
else
{
    Message = new MessageDialog("Failed to get subcription list...");
}

Abonnement beenden

Beenden Sie das Tagabonnement.

string[] Tags = ["Tag1" , "Tag2"];

// Tagabonnement beenden
MFPPushMessageResponse Response = await MFPPush.GetInstance().Unsubscribe(Tags);
if (Response.Success == true)
{
    // Erfolg
}
else
{
    // Tagabonnement fehlgeschlagen
}

Registrierung aufheben

Sie können die Registrierung des Geräts bei der Instanz des Push-Benachrichtigungsservice aufheben.

MFPPushMessageResponse Response = await MFPPush.GetInstance().UnregisterDevice();         
if (Response.Success == true)
{
    // Erfolgreich registriert
     } else {
         // Registrierung mit Fehler fehlgeschlagen
     }

Handhabung von Push-Benachrichtigungen

Für die Handhabung von Push-Benachrichtigungen müssen Sie einen MFPPushNotificationListener einrichten. Zu diesem Zweck können Sie die folgende Methode implementieren.

  1. Erstellen Sie eine Klasse. Verwenden Sie dazu eine Schnittstelle vom Typ MFPPushNotificationListener.

    internal class NotificationListner : MFPPushNotificationListener
    {
         public async void onReceive(String properties, String payload)
    {
         // Hier Behandlung von Push-Benachrichtigungen
    }
    }
    
  2. Definieren Sie die Klasse als Listener, indem Sie MFPPush.GetInstance().listen(new NotificationListner()) aufrufen.
  3. In der Methode onReceive empfangen Sie die Push-Benachrichtigung und können für die Benachrichtigung das gewünschte Verhalten festlegen.

Beispielanwendung

Universeller Windows-Push-Benachrichtigungsservice

In Ihrer Serverkonfiguration muss kein bestimmter Port offen sein.

WNS verwendet reguläre HTTP- oder HTTPS-Anforderungen.

Beispielanwendung

Klicken Sie hier, um das universelle Windows-8.1-Projekt herunterzuladen.
Klicken Sie hier, um das Windows-10-UWP-Projekt herunterzuladen.

Verwendung des Beispiels

Anweisungen finden Sie in der Datei README.md zum Beispiel.

Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on July 23, 2018