2

我正在开发一个接收推送通知的 Ionic 2 应用程序。它必须接收静默背景通知,这意味着通知在系统通知区域中不可见。相反,当应用程序打开时,通知会发送到应用程序,然后它会处理接收到的数据。它的工作原理是它只接收应用程序关闭时发送的最后一个通知。

也许是缺少 GCM 消息配置。

预期行为

接收多个后台静默推送通知。

实际行为

仅接收最后一个后台推送静默通知。

重现场景(包括但不限于)

重现步骤

在应用程序关闭时发送两条或更多条无声背景消息。打开应用程序。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,在某些情况下,静默通知可能不会发送到设备。例如,如果开启了飞行模式,关闭它后,您将不会收到所有丢失的通知,而只会收到最后一个。在大多数情况下,将发送带有正文和内容可用的推送通知。

我还在此博客中看到收到了一些通知,但不是全部。如果您同时发送多个推送通知,通常只会收到几个。那是预期的行为。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 回答