Anpassen des Cordova-Plugins
Push-Benachrichtigungen im Vordergrund
Anchor link toWenn 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 anALERT– Alert-Benachrichtigung
ANDROID_FOREGROUND_PUSH
true– Vordergrund-Pushes nicht automatisch behandelnfalse– 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 toUm 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 toDas 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 toBenutzerdefinierte 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 toUm 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 SDKERROR– nur Fehler in der Konsole anzeigenWARNING– Warnungen anzeigenINFO– informative Nachrichten anzeigenDEBUG– alles anzeigen, einschließlich Debug-Informationen (Standard)
Beispiel:
cordova plugin add pushwoosh-cordova-plugin --variable LOG_LEVEL="INFO"Deep Linking
Anchor link toWir 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 toSie 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 toWenn 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 toIhr 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.