科尔多瓦当然有发送推送通知的选项,但是否有任何插件包括直接向通知添加操作的功能?科尔多瓦推送通知操作
我试着搜索'交互式通知'和'通知动作'插件,但没有得到任何结果。我也试着看看API reference for phonegap-plugin-push,但没有找到合适的选项或方法。
什么,我正在寻找一个例子是,当的iMessage允许用户对文章作出回应,甚至无需打开应用程序时会发生什么:
任何科尔多瓦插件可以添加动作推送通知?
科尔多瓦当然有发送推送通知的选项,但是否有任何插件包括直接向通知添加操作的功能?科尔多瓦推送通知操作
我试着搜索'交互式通知'和'通知动作'插件,但没有得到任何结果。我也试着看看API reference for phonegap-plugin-push,但没有找到合适的选项或方法。
什么,我正在寻找一个例子是,当的iMessage允许用户对文章作出回应,甚至无需打开应用程序时会发生什么:
任何科尔多瓦插件可以添加动作推送通知?
您的通知可以包含操作按钮。对于iOS 8+必须在安装了可能采取的行动,当你初始化插件:
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", "foreground": true, "destructive": false
},
"maybe": {
"callback": "app.maybe", "title": "Maybe", "foreground": true, "destructive": false
}
},
"delete": {
"yes": {
"callback": "app.doDelete", "title": "Delete", "foreground": true, "destructive": true
},
"no": {
"callback": "app.cancel", "title": "Cancel", "foreground": true, "destructive": false
}
}
}
}
});
你会发现,我们增加了一个新的参数,我们的初始化代码iOS的对象称为类。在这种情况下,每个类别都是一个命名对象,邀请和删除。如果您希望显示操作按钮,这些名称将需要与您通过有效负载发送给APNS的名称匹配。每个类别最多可以有三个按钮,其中必须标有“是”,“否”或“可能”。反过来,这些按钮中的每一个都有四个属性,回调你想要调用的javascript函数,为按钮标题标题,前景是否让你的应用程序到达前景和破坏性,它实际上没有任何破坏性,它只是颜色该按钮红色警告用户该操作可能具有破坏性。
就像背景通知一样,当您成功处理按钮回调时,调用push.finish()是绝对关键的。例如:
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);
};
您可能会注意到完成方法现在的成功,失败和id参数。 id参数让操作系统知道停止哪个后台进程。你会在下一步中设置它。
然后,您需要在您的aps有效负载中设置类别值以匹配类别对象中的一个对象。你也应该在有效载荷对象的根中设置一个notId属性。这是您传递给完成方法的参数,以便告诉操作系统推送事件的处理已完成。
{
"aps": {
"alert": "This is a notification that will be displayed ASAP.",
"category": "invite"
},
"notId": "1"
}
如果你的用户点击通知的主体,你的应用程序将被打开。但是,如果他们点击任一操作按钮,应用程序将打开(或启动),并执行指定的JavaScript回调。
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.
我只是贴在https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/PAYLOAD.md#action-buttons-1
大的文档这正是我一直在寻找。感谢您的深入解释。 –
我刚刚复制了文档。我将在插件repo上打开一个问题,指出这应该在API.md中提及,而不仅仅是在PAYLOAD.md上 – jcesarmobile