前端之家收集整理的这篇文章主要介绍了
ios – Cordova推送通知操作,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
您的
通知可以包含操作按钮.对于iOS 8,您必须在初始化
插件时设置可能的操作:
@H_
502_7@
@H_
502_7@
var push = PushNotification.init({
"ios": {
"sound": true,"vibration": true,"badge": true,"categories": {
"invite": {
"yes": {
"callback": "app.accept","title": "Accept","foreground": true,"destructive": false
},"no": {
"callback": "app.reject","title": "Reject","maybe": {
"callback": "app.maybe","title": "Maybe","destructive": false
}
},"delete": {
"yes": {
"callback": "app.doDelete","title": "Delete","destructive": true
},"no": {
"callback": "app.cancel","title": "Cancel","destructive": false
}
}
}
}
});
@H_
502_7@您会注意到我们已经在名为categories的init
代码的iOS对象中
添加了一个新参数.在这种情况下,每个类别都是一个命名对象,邀请和
删除.如果您希望
显示操作按钮,这些
名称将需要与您通过有效
负载发送的
名称相匹配.每个类别最多可以有三个按钮,必须
标记为yes,no和maybe.反过来这些按钮中的每一个都有四个
属性,回调你要
调用的javascript
函数,
标题按钮的
标签,前景是否将你的应用程序带到
前台和破坏性实际上没有做任何破坏性的只是颜色红色按钮作为警告
用户该动作可能具有破坏性.
@H_
502_7@就像
后台通知一样,在成功处理按钮回调时
调用push.finish()是绝对关键的.例如:
@H_
502_7@
app.accept = function(data) {
// do something with the notification data
push.finish(function() {
console.log('accept callback finished');
},function() {
console.log('accept callback Failed');
},data.additionalData.notId);
};
@H_
502_7@您可能会注意到finish
方法现在需要成功,失败和id参数. id参数让操作系统知道要停止的
后台进程.您将在下一步中进行设置.
@H_
502_7@然后,您需要在aps有效
负载中设置类别值,以匹配categories对象中的一个对象.您还应该在payload对象的根目录中设置notId
属性.这是传递给finish
方法的参数,以告诉操作系统推送事件的处理已完成.
@H_
502_7@
{
"aps": {
"alert": "This is a notification that will be displayed ASAP.","category": "invite"
},"notId": "1"
}
@H_
502_7@如果您的
用户点击了
通知主体,您的应用就会被打开.但是,如果他们点击任一操作按钮,应用程序将打开(或启动),并执行指定的JavaScript回调.
@H_
502_7@
Note: Action buttons are only supported on iOS when you send directly to APNS. If you are using GCM to send to iOS devices you will lose this functionality.
@H_
502_7@我刚刚将文档粘贴在
https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/PAYLOAD.md#action-buttons-1上