2016-04-21 10 views
1

Ich schreibe gerade meine erste Android Cordova App mit OneSignal for Push-Benachrichtigungen. Die Einrichtung von OneSignal und die Aktivierung von Cloud Messaging bei Google erwies sich als bemerkenswert einfach. Wenn das getan Ich ging eine einfache jQuery Mobile Cordova App zu erstellen und modifiziert, um die init Funktion app.jsVerwenden von notificationOpenedCallBack Ein Gespräch mit Cordova

function init() 
{ 
window.plugins.OneSignal.setLogLevel({logLevel:4,visualLevel:4}); 
var notificationOpenedCallback = function(jsonData) { 
    alert(JSON.stringify(jsonData)); 
window.plugins.OneSignal.enableVibrate(true); 
window.plugins.OneSignal.enableSound(true); 

};

window.plugins.OneSignal.init ('one-Signal-ID', {googleProjectNumber: 'Projekt no'}, notificationOpenedCallback); }

Nachdem ich die APK erstellt hatte, installierte ich sie auf meinem Android-Gerät und bekam zwei INFO-Nachrichten - eine von Google und eine von OneSignal. Ich nehme an, dass das, weil ich einen Debug-Build mit dem Loglevel auf 4 gesetzt habe.

Ich fuhr dann fort, einen Push über OneSignal zu senden. Die Nachricht wird in der Liste Gesendete Nachrichten angezeigt. Auf meinem Handy passiert jedoch nichts - ich hatte zumindest erwartet, dass es vibriert.

Auch möchte ich in das notificationopened-Ereignis einbinden. Es ist nicht klar aus der OneSignal docs, wie dies getan werden sollte. Ich bin in meiner ersten Stunde mit OneSignal und Push-Benachrichtigungen, so gehe ich davon aus, dass ich hier etwas übersehen habe. Ich wäre jedem dankbar, der mich auf die richtige Spur bringen könnte.

Antwort

1

Wenn Ihre App im Fokus ist, wird die Benachrichtigung standardmäßig nicht angezeigt. Sie können dies ändern, indem Sie enableNotificationsWhenActive auf true setzen.

Step 2.1 im OneSignal Cordova Setup-Handbuch zeigt das Einrichten eines Callback-Handlers, wenn eine Benachrichtigung geöffnet wird.

var notificationOpenedCallback = function(jsonData) { 
    console.log('didReceiveRemoteNotificationCallBack: ' + JSON.stringify(jsonData)); 
}; 

window.plugins.OneSignal.init("b2f7f966-d8cc-11e4-bed1-df8f05be55ba", 
           {googleProjectNumber: "703322744261"}, 
           notificationOpenedCallback); 

Die Struktur wird in jsonDatanotificationOpenedCallback zusammen mit einigen Beispielen documenated.