当前位置 : 主页 > 手机开发 > cordova >

Cordova推送通知(PhoneGap PushPlugin)未触发ecb回调(onNotificationAPN)

来源:互联网 收集:自由互联 发布时间:2021-06-10
我正在使用 Cordova Push Notifications Plugin 1.3.4和我的Cordova / Phonegap应用程序.不幸的是,当收到推送通知时,我的JavaScript中的ecb回调从未被触发,我无法处理推送通知(即使应用程序在前台运行也
我正在使用 Cordova Push Notifications Plugin 1.3.4和我的Cordova / Phonegap应用程序.不幸的是,当收到推送通知时,我的JavaScript中的ecb回调从未被触发,我无法处理推送通知(即使应用程序在前台运行也是如此).

我正在使用演示中的example code:

pushNotification.register(tokenHandler, errorHandler, {"badge": "true", "sound": "true", "alert": "true", "ecb": "onNotificationAPN"});

注册成功,但永远不会触发以下回调:

function onNotificationAPN (event) {
    if (event.alert)
    {
        navigator.notification.alert(event.alert);
    }
 }
问题是您定义回调函数的方式,导致Push Plugin对您的回调的评估(即,通过[webView stringByEvaluatingJavaScriptFromString)失败,因为它不会意识到它.

如果您将回调函数定义为全局对象,则每次收到新通知时插件都会正确触发回调:

onNotificationAPN = function(event) {
    if (event.alert)
    {
        navigator.notification.alert(event.alert);
    };
};

对于Android,您可以用同样的方式定义onNotificationGCM回调.

网友评论