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:
- Stellen Sie sicher, dass Sie die folgenden Lernprogramme durchgearbeitet haben:
- MobileFirst Server wird lokal oder fern ausgeführt.
- Die MobileFirst CLI ist auf der Entwicklerworkstation installiert.
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
- Wählen Sie “Extras → NuGet Package Manager → Package Manager Console” aus.
- Wählen Sie das Projekt aus, in dem Sie die MobileFirst-Push-Komponente installieren wollen.
- Fügen Sie das MobileFirst-Push-SDK hinzu, indem Sie den Befehl Install-Package IBM.MobileFirstPlatformFoundationPush ausführen.
Vorausgesetzte WNS-Konfiguration
- Stellen Sie sicher, dass die Anwendung über die Popup-Benachrichtigungsfunktion (Toast) verfügt. Sie können die Funktion in Package.appxmanifest aktivieren.
Identitätsname des Pakets
undPublisher
müssen mit den registrierten Werten aus dem WNS aktualisiert worden sein.- 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.
-
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 } }
- Definieren Sie die Klasse als Listener, indem Sie
MFPPush.GetInstance().listen(new NotificationListner())
aufrufen. - In der Methode onReceive empfangen Sie die Push-Benachrichtigung und können für die Benachrichtigung das gewünschte Verhalten festlegen.
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.