我们在FCM主题方面遇到了一些麻烦:并非所有设备都随机收到通知。对于同一主题,同一台设备有时会显示推送信息,有时却不会。
不包括服务器代码,因为已发送通知,所以我们只能使用应用程序代码。这是不一致的,因为同一设备可能会显示通知也可能不会显示通知,但是...
在某些情况下,我们几乎同时(在几秒钟内)发送类似三个通知的消息,而在大多数情况下,设备只是(随机)发送其中一个。
该应用是使用Ionic框架开发的,而推送处理则由 phonegap-plugin-push 管理。
这是我们用于使cordova插件订阅该主题的代码:
.service('PushNotificationsService', function($rootScope, NodePushServer, GCM_SENDER_ID, $state, ionicToast, getElencoCategorieService, $ionicLoading, CATEGORIE_NOTIZIE){
[...]
// Registering this device to 'elenco_categorie' topics
var push = PushNotification.init({
android: {
senderID: GCM_SENDER_ID,
topics: elenco_categorie
},
ios: {
alert: "true",
badge: "true",
sound: "true",
senderID: GCM_SENDER_ID,
topics: elenco_categorie
},
windows: {}
});
[...]
除了通知本身上的一个可处理的轻触,注册和注销外,我们没有太多其他与通知相关的代码。
是否可以更深入地研究phonegap的push插件以记录是否收到通知,然后为什么不显示通知?
一些环境信息:
phonegap-plugin-push:2.1.3“ PushPlugin”
离子框架:ionic1 1.3.1
@ ionic / v1-toolkit:1.0.4
Cordova平台:android 7.0.0