0

Hallo, ich versuche zu zeigen, Push-Benachrichtigungen in Android-Statusleiste. Ich verwende ibm-mfp-Push-Plugin und diesen Code:IBM Mfp Push-Benachrichtigungen in der Statusleiste (Cordova)

onDeviceReady: function() { 
     app.receivedEvent('deviceready'); 

      BMSClient.initialize("xxxxx","xxxxx"); 

     MFPPush.registerDevice({}, function(data){ 

      alert("Success ::" + data) 
     }, function(error){ 
      alert("Failure ::" + error); 
     }); 

     var notificationsCallback = function(notification){ 
      alert("Incoming notification :: " + JSON.stringify(notification))   
     }; 

     MFPPush.registerNotificationsCallback(notificationsCallback); 

    } 

I Mitteilungen korrekt empfangen, aber ich habe keine Ahnung, wie zeigen diese Benachrichtigungen in der Statusleiste. Irgendwelche Ideen?

Danke

+0

Per Statusleiste, beziehen Sie sich auf die Benachrichtigung Schatten?Wenn sich die Anwendung im Hintergrund befindet, wird die Benachrichtigung im Schatten angezeigt? –

+0

Ja, ich beziehe mich auf den Benachrichtigungsschirm, sorry. Wenn sich die Anwendung im Hintergrund befindet, werden keine Benachrichtigungen angezeigt. Nur wenn die Anwendung geöffnet ist, werden Benachrichtigungen in Warnungen angezeigt. –

+0

Wenn die Anwendung im Hintergrund läuft und Sie eine Benachrichtigung versenden, sehen Sie irgendetwas in logcat? –

Antwort

1

Falls Sie Anwendung ausgeführt wurde, als Remote-Benachrichtigung nicht automatisch in Benachrichtigungsleiste angezeigt angekommen werden, da sie sofort durch die Anwendung verarbeitet werden. Sie werden die Benachrichtigung im Benachrichtigungsschirm nur sehen, wenn die Anwendung nicht ausgeführt wurde, wenn die Benachrichtigung angekommen ist.

Das heißt, Sie können Ihre eigene Logik hinzufügen, um Elemente zum Benachrichtigungsfarbton hinzuzufügen, sobald die Remote-Benachrichtigung empfangen wurde. Sie müssen diese Logik in Ihrem notificationsCallback hinzufügen. Sie können ein vorhandenes lokales Benachrichtigungs-Plugin (https://www.npmjs.com/package/de.appplant.cordova.plugin.local-notification) verwenden oder es selbst implementieren mit https://developer.android.com/reference/android/app/Notification.Builder.html

1

Ich habe bereits die Lösung gefunden. Sorry, wenn ich in der Frage unklar war. Mein Problem war, dass ich keine Benachrichtigungen im Benachrichtigungsschirm bekommen konnte.

Wenn die Anwendung im Vordergrund angezeigt wird, erscheint mir Benachrichtigungen als ob JavaScript-Warnung und wenn die Anwendung im Hintergrund ist nichts erscheint bis in den Vordergrund gestellt.

Ich habe versucht, verschiedene lokale Benachrichtigungs-Plugins zu verwenden, aber wenn das Ereignis onDeviceReady voll ist, werden diese Plugins nicht geladen.

Für diejenigen, die nicht wissen, das Plugin lasse ich eine Dokumentation: https://www.npmjs.com/package/ibm-mfp-push

Die Lösung ist in der onDeviceReady Veranstaltung dieser hinzuzufügen:

CDVMFPPush.setIgnoreIncomingNotifications (boolean ignorieren); (Wesen ignorieren == true)

Diese Funktion wird in der Dokumentation beschrieben als:

standardmäßig Push-Benachrichtigungen Plugin kümmert sich um alle eingehenden Push- Benachrichtigung per Tunneling sie JavaScript Rückruf. Verwenden Sie diese Methode , um das Standardverhalten des Plug-Ins zu überschreiben, falls Sie manuell eingehende Push-Benachrichtigungen in systemeigenem Code verarbeiten möchten.

BMSClient ist ein Singleton, der als Einstiegspunkt für die Client-Server-Kommunikation von bluemix dient. In meinem Fall verwende ich es, um den Client zu initialisieren, indem ich zwei Parameter vorschlage:

BMSClient.initialize ("APPROUTE", "APPGUID");

Vielen Dank für Ihre Antworten. Glücklich, zu dieser großartigen Gemeinschaft zu gehören.

grüße