2

プッシュ通知を受け取る Ionic 2 アプリを開発しています。サイレント バックグラウンド通知を受信する必要があります。つまり、通知はシステム通知領域に表示されません。代わりに、アプリが開いているときに、通知がアプリに送信され、受信したデータが処理されます。アプリが閉じられている間に送信された最後の通知のみを受信することを除いて、機能します。

おそらく、GCM メッセージ構成が欠落している可能性があります。

予想される動作

複数のバックグラウンド サイレント プッシュ通知を受信します。

実際の動作

最後のバックグラウンド プッシュ サイレント通知のみを受信します。

シナリオの再現 (含むがこれに限定されない)

再現する手順

アプリを閉じている間に、2 つ以上のサイレント バックグラウンド メッセージを送信します。アプリを開きます。最後の通知のみが on receive リスナーによって受信されます。

プラットフォームとバージョン

アンドロイド 5.1.1/6.0

(Android) デバイスのベンダーは?

グーグル

Cordova CLI バージョンと Cordova プラットフォーム バージョン

コルドバ -- バージョン 6.2.0 コルドバ

プラットフォーム バージョン Android 5.1.1

プラグインのバージョン

コルドバ プラグイン バージョン | grep phonegap-plugin-push 1.7.4

プッシュ データ ペイロードの例
{
                "delay_while_idle": true,
                "priority": "high",

                "data": {
                    "content-available": "1",                   
                    "notId": Date.now(),
                    "silenttitle": 'some title',
                    "silentmessage": 'some message'
                }
}

アプリに送信されたすべてのサイレント通知を受け取るにはどうすればよいですか?

4

2 に答える 2

1

このSO questionに基づいて、サイレント通知がデバイスに配信されない場合があります。たとえば、機内モードがオンになっていた場合、それをオフにすると、不足しているすべての通知を受信するのではなく、最後の通知のみを受信します。ほとんどの場合、body と content-available の両方を含むプッシュ通知が配信されます。

このブログでも、一部の通知が受信されたが、すべてではないことがわかりました。複数のプッシュ通知を同時に送信している場合、受信されるのはごくわずかです。それは意図された動作です。APNS は、プッシュ アプリを使用して各デバイスの QoS (サービス品質) キューを維持します。このキューのサイズは 1 であるため、複数の通知を送信すると、最後の通知が上書きされます。

お役に立てれば!

于 2016-08-11T09:21:02.033 に答える
0

https://github.com/firebase/quickstart-android/tree/master/messagingこれを試してください。使ってみたら、プッシュ通知を受け取れるようになりました。

于 2016-08-10T13:21:47.990 に答える