Push-Benachrichtigungen in Cordova

improve this page | report issue

Übersicht

Bevor iOS-, Android- und Windows-Cordova-Anwendungen Push-Benachrichtigungen empfangen und anzeigen können, muss das Cordova-Plug-in cordova-plugin-mfp-push zu dem Cordova-Projekt hinzugefügt werden. Wenn eine Anwendung konfiguriert ist, kann die MobileFirst-API für Benachrichtigungen verwendet werden, um Geräte zu registrieren und Geräteregistrierungen aufzuheben, um Tags zu abonnieren und Tagabonnements zu beenden und um Benachrichtigungen handhaben zu können. In diesem Lernprogramm werden Sie lernen, wie Push-Benachrichtigungen in Cordova-Anwendungen gehandhabt werden.

Hinweis: Authentifizierte Benachrichtigungen werden wegen eines Defects zurzeit nicht in Cordova unterstützt. Es gibt jedoch eine Ausweichlösung. Jeder MFPPush-API-Aufruf kann in WLAuthorizationManager.obtainAccessToken("push.mobileclient").then( ... ); eingeschlossen werden. Die bereitgestellte Beispielanwendung macht von dieser Ausweichlösung Gebrauch.

Informationen zu Benachrichtigungen im Hintergrund und interaktiven Benachrichtigungen in iOS finden Sie in folgenden Abschnitten:

Voraussetzungen:

Fahren Sie mit folgenden Abschnitten fort:

Benachrichtigungskonfiguration

Erstellen Sie ein neues Cordova-Projekt oder verwenden Sie ein vorhandenes Cordova-Projekt. Fügen Sie mindestens eine der untersützten Plattformen (iOS, Android, Windows) zu dem Projekt hinzu.

Wenn das MobileFirst-Cordova-SDK noch nicht im Projekt enthalten ist, folgen Sie den Anweisungen im Lernprogramm SDK der Mobile Foundation zu Cordova-Anwendungen hinzufügen.

Push-Plug-in hinzufügen

  1. Navigieren Sie in einem Befehlszeilenfenster zum Stammverzeichnis des Cordova-Projekts.

  2. Fügen Sie das Push-Plug-in hinzu, indem Sie den folgenden Befehl ausführen:

    cordova plugin add cordova-plugin-mfp-push
    
  3. Erstellen Sie das Cordova-Projekt mit folgendem Befehl:

    cordova build
    

iOS-Plattform

Für die iOS-Plattform ist ein zusätzlicher Schritt erforderlich.
In Xcode müssen Sie Push-Benachrichtigungen für Ihre Anwendung in der Anzeige Capabilities aktivieren.

Wichtiger Hinweis: Die für die Anwendung ausgewählte Bundle-ID (bundleId) muss mit der App-ID (AppId) übereinstimmen, die Sie zuvor auf der Apple-Developer-Site erstellt haben. Sehen Sie sich dazu das Lernprogramm [Übersicht über Push-Benachrichtigungen] an.

Funktionalität in Xcode

Android-Plattform

Für die Android-Plattform ist ein zusätzlicher Schritt erforderlich.
Fügen Sie in Android Studio die folgende Aktivität (activity) zum Tag application hinzu:

<activity android:name="com.ibm.mobilefirstplatform.clientsdk.android.push.api.MFPPushNotificationHandler" android:theme="@android:style/Theme.NoDisplay"/>

API für Benachrichtigungen

Clientseite

JavaScript-Funktion Beschreibung
MFPPush.initialize(success, failure) MFPPush-Instanz initialisieren
MFPPush.isPushSupported(success, failure) Unterstützt das Gerät Push-Benachrichtigungen?
MFPPush.registerDevice(options, success, failure) Registriert das Gerät beim Push-Benachrichtigungsservice
MFPPush.getTags(success, failure) Ruft alle verfügbaren Tags einer Instanz des Push-Benachrichtigungsservice ab
MFPPush.subscribe(tag, success, failure) Abonniert einen bestimmten Tag
MFPPush.getSubsciptions(success, failure) Ruft die derzeit vom Gerät abonnierten Tags ab
MFPPush.unsubscribe(tag, success, failure) Beendet das Abonnement eines bestimmten Tags
MFPPush.unregisterDevice(success, failure) Hebt die Registrierung des Geräts beim Push-Benachrichtigungsservice auf

API-Implementierung

Initialisierung

Initialisieren Sie die MFPPush-Instanz.

  • Die Initialisierung ist erforderlich, damit die Clientanwendung mit dem richtigen Anwendungskontext eine Verbindung zum Service MFPPush herstellen kann.
  • Die API-Methode muss aufgerufen werden, bevor andere MFPPush-APIs verwendet werden.
  • Die Callback-Funktion wird für die Handhabung empfangener Push-Benachrichtigungen registriert.
MFPPush.initialize(function(successResponse){
alert("Successfully intialized");
        MFPPush.registerNotificationsCallback(notificationReceived);
    },
    function(failureResponse) {
        alert("Failed to initialize");
    }
);

Wird Push unterstützt?

Überprüfen Sie, ob das Gerät Push-Benachrichtigungen unterstützt.

MFPPush.isPushSupported (function(successResponse) {
alert("Push Supported: " + successResponse);
    },
    function(failureResponse) {
        alert("Failed to get push support status");
    }
);

Gerät registrieren

Registrieren Sie das Gerät beim Push-Benachrichtigungsservice. Wenn keine Optionen erforderlich sind, kann “options” auf null gesetzt werden.

var options = { };
MFPPush.registerDevice(
    options,
    function(successResponse) {
        alert("Successfully registered");
    },
    function(failureResponse) {
        alert("Failed to register");
    }
);

Tags abrufen

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

MFPPush.getTags (
    function(tags) {
        alert(JSON.stringify(tags));
},
    function() {
        alert("Failed to get tags");
    }
);

Abonnement

Abonnieren Sie die gewünschten Tags.

var tags = ['sample-tag1','sample-tag2'];

MFPPush.subscribe(
    tags,
    function(tags) {
        alert("Subscribed successfully");
    },
    function() {
        alert("Failed to subscribe");
    }
);

Abonnements abrufen

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

MFPPush.getSubscriptions (
    function(subscriptions) {
        alert(JSON.stringify(subscriptions));
    },
    function() {
        alert("Failed to get subscriptions");
    }
);

Abonnement beenden

Beenden Sie das Tagabonnement.

var tags = ['sample-tag1','sample-tag2'];

MFPPush.unsubscribe(
    tags,
    function(tags) {
        alert("Unsubscribed successfully");
    },
    function() {
        alert("Failed to unsubscribe");
    }
);

Registrierung aufheben

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

MFPPush.unregisterDevice(function(successResponse) {
alert("Unregistered successfully");
    },
    function() {
        alert("Failed to unregister");
    }
);

Handhabung von Push-Benachrichtigungen

Für die Handhabung einer empfangenen Push-Benachrichtigung können mit dem Antwortobjekt der Benachrichtigung in der registrierten Callback-Funktion arbeiten.

var notificationReceived = function(message) {
    alert(JSON.stringify(message));
};

Beispielanwendung

Beispielanwendung

Klicken Sie hier, um das Cordova-Projekt herunterzuladen.

Hinweis: Für die Ausführung des Beispiels muss auf jedem Android-Gerät die neueste Version der Google Play Services installiert sein.

Verwendung des Beispiels

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

Last modified on September 22, 2017