【发布时间】:2017-06-04 05:35:24
【问题描述】:
我正在为 Android 和 iOS 使用 Ionic 推送通知。
在 Android 上,无论是手动触发还是通过 API 以编程方式触发,它们都可以正常工作。在 iOS 上,它们似乎只能通过 Ionic Cloud 手动进入。到目前为止,我不确定是什么原因造成的,但是我在文档中注意到了一些我不确定的东西。
在推送通知的 Ionic Docs 中,当通知进入应用程序时,似乎有两个不同的事件处理程序。一个是我目前正在使用的:
$scope.$on('cloud:push:notification', function(event, data) {
var msg = data.message;
alert(msg.title + ': ' + msg.text);
});
和另一个人
push.on('notification', function(data) {
// do something with the push data
// then call finish to let the OS know we are done
push.finish(function() {
console.log("processing of push data is finished");
}, function() {
console.log("something went wrong with push.finish for ID = " + data.additionalData.notId)
}, data.additionalData.notId);
});
前者需要$ionicPush注入,而后者初始化如下:
var push = PushNotification.init({
"android": {
"senderID": "XXXXXXXXXXX",
"sound": "true",
"vibrate": "true"
},
"ios": {
"alert": "true",
"badge": "true",
"sound": "true"
},
"windows": {}
})
谁能告诉我应该使用哪个事件处理程序?我认为这可能与我在 iOS 上没有收到程序化推送有关
注意:是的,我在 Xcode 上启用了推送通知和远程通知。请记住,我在 iOS 上收到手动推送,而不是程序化推送。
【问题讨论】:
-
ios 手动推送是什么意思?
-
使用仪表板上的 Ionic Cloud 界面发送
-
哦,程序化正在通过 APNS 发送?
标签: android ios ionic-framework push-notification apple-push-notifications