0

こんにちは、Android Status Bar にプッシュ通知を表示しようとしています。私はibm-mfp-push プラグインとこ​​のコードを使用しています:

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);

    }

通知を正しく受け取りますが、この通知をステータス バーに表示する方法がわかりません。何か案は?

ありがとうございました

4

2 に答える 2

1

リモート通知が到着したときにアプリケーションが実行されていた場合、アプリケーションによってすぐに処理されるため、通知シェードに自動的に表示されません。通知が届いたときにアプリケーションが実行されていなかった場合にのみ、通知シェードに通知が表示されます。

つまり、リモート通知を受信したら、通知シェードにアイテムを追加する独自のロジックを追加できます。notificationsCallback にこのロジックを追加する必要があります。既存のローカル通知プラグイン ( https://www.npmjs.com/package/de.appplant.cordova.plugin.local-notification ) を使用するか、 https ://developer.android.com を使用して独自に実装できます。 /reference/android/app/Notification.Builder.html

于 2016-05-20T16:19:32.813 に答える
1

私はすでに解決策を見つけました。質問がわかりにくかったらすいません。私の問題は、通知シェードに通知が表示されないことでした。

アプリケーションがフォアグラウンドにある場合、通知はJavaScriptアラートのように表示され、アプリケーションがバックグラウンドにある場合は、フォアグラウンドに配置されるまで何も表示されません。

さまざまなローカル通知プラグインを使用しようとしましたが、イベント onDeviceReady がいっぱいになると、これらのプラグインは読み込まれません。

プラグインを知らない人のために、いくつかのドキュメントを残します: https://www.npmjs.com/package/ibm-mfp-push

解決策は、onDeviceReady イベントにこれを追加することです。

CDVMFPPush.setIgnoreIncomingNotifications (ブール値無視); (無視されている == true)

その関数は、ドキュメントで次のように説明されています。

デフォルトでは、プッシュ通知プラグインは、すべての着信プッシュ通知を JavaScript コールバックにトンネリングすることによって処理します。ネイティブ コードで着信プッシュ通知を手動で処理する場合は、このメソッドを使用してプラグインのデフォルトの動作をオーバーライドします。

BMSClient は、Bluemix のクライアント/サーバー通信へのエントリー・ポイントとして機能するシングルトンです。私の場合、2 つのパラメーターを指定してクライアントを初期化するために使用します。

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

回答ありがとうございます。この素晴らしいコミュニティに所属できて幸せです。

よろしく

于 2016-05-20T16:58:13.973 に答える