我正在开发一个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试试这个。