Zum Inhalt springen

Anpassen des Cordova-Plugins

Push-Benachrichtigungen im Vordergrund

Anchor link to

Wenn eine Push-Benachrichtigung im Hintergrund empfangen wird, werden keine Ereignisse ausgelöst, bis auf die Push-Benachrichtigung geklickt wird. Nachdem sie geöffnet wurde, löst das Pushwoosh-Plugin die Ereignisse push-receive und push-notification aus.

Wenn eine Push-Benachrichtigung im Vordergrund empfangen wird, löst das Plugin automatisch push-receive aus und erstellt eine Benachrichtigung im Notification Center. Wenn diese Benachrichtigung geöffnet wird, wird push-notification ausgelöst.

Sie können auf das push-receive-Ereignis lauschen, um sofort auf eine Push-Benachrichtigung zu reagieren, falls sie im Vordergrund empfangen wird, z. B. um Inhalte auf einer aktuellen Seite in Ihrer App zu aktualisieren. push-notification wird andererseits verwendet, um auf ein Klickereignis einer Benachrichtigung zu reagieren, das eine Benutzerinteraktion erfordert, z. B. um innerhalb Ihrer App zu navigieren, einen neuen Prozess in Ihrer App auszulösen usw.

Um das Erscheinungsbild von Push-Benachrichtigungen im Vordergrund zu ändern, können Sie die Einstellungen IOS_FOREGROUND_ALERT_TYPE und ANDROID_FOREGROUND_PUSH verwenden:

IOS_FOREGROUND_ALERT_TYPE

  • NONE – keine Benachrichtigung anzeigen, wenn die App im Vordergrund ist (Standard)
  • BANNER – zeigt eine Banner-In-App-Benachrichtigung an
  • ALERT – Alert-Benachrichtigung

ANDROID_FOREGROUND_PUSH

  • true – Vordergrund-Pushes nicht automatisch behandeln
  • false – Vordergrund-Pushes automatisch behandeln (Standard)

Beispiel:

cordova plugin add pushwoosh-cordova-plugin --variable IOS_FOREGROUND_ALERT_TYPE="ALERT" --variable ANDROID_FOREGROUND_PUSH="true"

Benutzerdefinierter Push-Ton

Anchor link to

Um einen benutzerdefinierten Benachrichtigungston auf Android zu aktivieren, legen Sie die Tondateien im Ordner www/res ab und geben Sie jeden Ton in der config.xml an:

<?xml version=‘1.0’ encoding=‘utf-8’?>
<widget id="YOUR_ID" version="1.0.0" xmlns="http://www.w3.org/ns/widgets” xmlns:cdv=“http://cordova.apache.org/ns/1.0">
...
<platform name="android">
<allow-intent href="market:*" />
...
<-- Fügen Sie diese Zeile für jeden Ton hinzu -->
<resource-file src="www/res/push.wav" target="res/raw/push.wav" />
</platform>
</widget>

Die Töne sind im Dropdown-Menü Ton des Push senden-Panels zugänglich.

Auf iOS werden Tondateien noch nicht automatisch mit der Pushwoosh-Anwendung verknüpft, können aber manuell verwendet werden, z. B. www/res/sound_name.wav.

Benutzerdefiniertes Push-Symbol

Anchor link to

Das Symbol für Push-Benachrichtigungen kann auf Android lokal angepasst werden, indem pw_notification als Ressourcenname für ein solches Symbol verwendet wird (siehe Beispiel 1 2); oder remote, indem auf einen beliebigen Ressourcennamen in der Einstellung Symbol im Push senden-Panel verwiesen wird.

Benutzerdefinierte Push-Daten

Anchor link to

Benutzerdefinierte Push-Daten können über die Einstellung Aktion im Push senden-Panel gesendet werden. Um solche Daten zu empfangen und zu verarbeiten, verwenden Sie den folgenden Code:

document.addEventListener('push-notification',
function(event) {
var message = event.notification.message; // Push-Nachricht
var userData = event.notification.userdata; // Benutzerdefinierte Push-Daten
if (userData) {
// hier benutzerdefinierte Push-Daten verarbeiten
}
}
);

Steuerung des Log-Levels

Anchor link to

Um bei der Fehlersuche und Integration zu helfen, gibt das SDK standardmäßig alle Anfragen an die Konsole aus. Wenn Sie für den Produktions-Build bereit sind, setzen Sie die Variable LOG_LEVEL auf einen der folgenden Werte:

  • NONE – keine Logs vom SDK
  • ERROR – nur Fehler in der Konsole anzeigen
  • WARNING – Warnungen anzeigen
  • INFO – informative Nachrichten anzeigen
  • DEBUG – alles anzeigen, einschließlich Debug-Informationen (Standard)

Beispiel:

cordova plugin add pushwoosh-cordova-plugin --variable LOG_LEVEL="INFO"

Deep Linking

Anchor link to

Wir empfehlen die Verwendung von https://github.com/EddyVerbruggen/Custom-URL-scheme
Es ist super einfach, Deep Links für Cordova einzurichten, und es funktioniert sofort mit der Deep-Linking-Funktionalität von Pushwoosh.

Installations- und Nutzungshinweise finden Sie in dieser Anleitung oder in der Dokumentation des Plugins.

Rich Media JS Bridge

Anchor link to

Sie können Ihre JS-Funktionen von Rich Media in der Cordova WebView über Javascript-Schnittstellen aufrufen.
Ein Aufruf von einer Rich Media muss das folgende Format haben:

<interface>.callFunction(‘<function_name>’, <params_string>)

Beispiel:

1. Erstellen Sie eine Rich Media mit einem Javascript-Aufruf:

testBridge.callFunction('testFunction', JSON.stringify({'param1' : 1, 'param2':'test'}))

2. Fügen Sie Ihrem Projekt eine Javascript-Schnittstelle hinzu:

pushNotification.addJavaScriptInterface('testBridge');

3. Fügen Sie eine Funktion hinzu:

function testFunction(params) {
alert("Bridge is working! " + params.param1 + " " + params.param2);
}

Verwendung des Pushwoosh-Plugins mit anderen FCM-Diensten

Anchor link to

Wenn Ihre App andere Plugins verwendet, die auf firebase-messaging basieren, kann dies zu Konflikten führen oder dazu, dass eines der Plugins nicht wie erwartet funktioniert. Um diesen Konflikt zu lösen, können Sie eine benutzerdefinierte FirebaseMessagingService-Klasse hinzufügen, die Push-Benachrichtigungen zwischen den Plugins weiterleitet. Das Pushwoosh Cordova-Plugin enthält eine Vorlage dieser Klasse, die Sie unverändert verwenden können, um alle Benachrichtigungen durch die Pushwoosh-Handler zu leiten, oder sie anpassen können, um auch Benachrichtigungen von anderen Anbietern zu verarbeiten. Um die Vorlage zu aktivieren, entfernen Sie die Kommentarzeichen der folgenden Zeilen in der plugin.xml des Plugins:

<service android:name="com.pushwoosh.plugin.pushnotifications.CustomFirebaseMessagingService" android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>

Teilen Sie Ihr Feedback mit uns

Anchor link to

Ihr Feedback hilft uns, eine bessere Erfahrung zu schaffen. Daher würden wir uns freuen, von Ihnen zu hören, wenn Sie während des SDK-Integrationsprozesses auf Probleme stoßen. Sollten Sie auf Schwierigkeiten stoßen, zögern Sie bitte nicht, uns Ihre Gedanken über dieses Formular mitzuteilen.