只接收来自GCM的最后一个后台静音推送通知



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

可能是缺少GCM消息配置。

预期行为

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

实际行为

只接收最后一次后台推送静音通知。

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

繁殖的步骤

在应用程序关闭时发送两个或多个静音后台消息。打开应用程序。只有最后一个通知被接收听众。

平台和版本
Android 5.1.1/6.0

(Android)哪个设备厂商

谷歌

Cordova CLI版本和Cordova平台版本

cordova——version 6.2.0

平台版本android 5.1.1

插件版本

cordova插件版本| 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'
                }
}

我如何接收所有发送到我的应用程序的静音通知?

根据这个SO问题,在某些情况下,静音通知可能不会发送到设备。例如,如果打开了飞行模式,关闭后,你将不会收到所有丢失的通知,而只会收到最后一个通知。在大多数情况下,将同时提供正文和内容的推送通知。

我也在这个博客中看到收到了一些通知,但不是全部。通常情况下,如果你同时发送多个推送通知,你只会收到几个。这是有意为之的行为。APNS为每个推送应用的设备维护一个QoS(服务质量)队列。该队列的大小为1,因此如果您发送多个通知,最后一个通知将被覆盖。

希望这对你有帮助!

https://github.com/firebase/quickstart-android/tree/master/messaging试试这个。

相关内容

  • 没有找到相关文章

最新更新