Ionic 2推送通知操作按钮使用打字稿单击回调

时间:2017-08-04 05:39:28

标签: typescript ionic-framework push-notification ionic2 phonegap-pushplugin

我正在我的离子应用程序中探索Ionic 2推送插件。我添加了推送插件并向我的应用发送通知。现在我的要求是单击通知操作按钮以及如何在我的代码中链接回调。在这里,我提到了我的通知JSON示例以通过操作按钮推送通知。

"data":{
"title":"Data title",
"message":"Data message",
"information": "Information",
"actions": [
            { "icon": "approve_icon", "title": "APPROVE", "callback": "", "foreground": true},
            { "icon": "reject_icon", "title": "REJECT", "callback": "", "foreground": true}
        ]
}

这里我将callback参数留空。如何将我的批准和拒绝方法链接到此回调参数中。请帮帮我。

2 个答案:

答案 0 :(得分:0)

我正在查看文档,我假设this是您所指的插件。如果没有,那么链接相关插件的github页面会很有帮助。

阅读这些例子,似乎没有立竿见影的帮助,但不要害怕,有人在离子论坛上had the same issue。从其中一个示例中可以看出,您可以将函数放在JSON中,如下所示:

{
  "data": {
    "title": "You have unread chats!",
    "message": "Click here to read them.",
    "actions": [
        { "title": "VIEW CHATS", "callback": "pushListener.callbacks.viewChats", "foreground": true},
        { "title": "SNOOZE", "callback": "pushListener.callbacks.snooze", "foreground": true}
    ]
  },
  "registration_ids":["foobar"]
}

基本上,根据我的理解,如果将classname.functionname放在callback参数中,那就是要调用的函数。

希望这有帮助!

答案 1 :(得分:0)

我已经达到了所需的解决方案。通知操作按钮回调应该在您的启动器类中是这样的。 (即)您必须将回调放在app.component.ts中。它工作得很好。

(<any>Window).approve = function (data: any) {
  alert('Approve called); 
};

(<any>Window).reject = function (data: any) {
  alert('Reject called);   
}

//适用于Android的Payload

"data": {
    "title": "Push notification",
    "message": "Push notification with action button",
    "actions": [
        { "icon": "approve_icon", "title": "Approve", "callback": "Window.approve", "foreground": true},
        { "icon": "reject_icon", "title": "Reject", "callback": "Window.reject", "foreground": true}
    ]
}