我正在使用ionic.io向我的应用程序发送推送。我有以下身体
{"tokens":["DeviceToken"],
"profile":"Profile",
"notification":{ "payload": {
"type": "loadCategories"
},
"ios": {
"content_available": 1
},
"android": {
"content_available": "1"
}}}
键入脚本代码。
var push = Push.init({
android: {
senderID: "ID"
},
ios: {
alert: "true",
badge: true,
sound: 'false'
},
windows: {}
});
if((<any>push).error) {
console.log((<any>push).error);
return;
};
push.on('registration', (data)=>{
console.log(data.registrationId);
this.pushToken = data.registrationId;
this.updateToken();
});
push.on("notification", (data)=>{
console.log(data);
// if(data.additionalData.payload && data.additionalData.payload.type == 'categoryEvent') {
// console.log("at date")
// }
});
push.on('error', function(e) {
console.log(e.message);
});
想法是我需要向用户发送推送并从服务器加载数据。但问题是,若应用程序在后台,那个么通知事件就不会被触发。只有当应用程序处于活动状态时,它才能工作。但一旦我从文档中了解到它应该会起作用。
通过设置content_available = 1
解决的已知问题。看见https://github.com/phonegap/phonegap-plugin-push/issues/93了解更多信息。