使用cordova push插件处理解析推送通知

时间:2014-12-18 17:35:31

标签: javascript android cordova parse-platform

我正在尝试构建一个可用于获取推送通知数据并在angularJS范围内处理它的应用。推送到设备,我把它们显示在托盘上。当我点击推送 - 应用程序打开。但我无法在JS中收到数据。 已安装这些插件:https://github.com/phonegap-build/PushPluginhttps://github.com/avivais/phonegap-parse-plugin

parsePlugin.initialize('xxxxxxxxxxxxxxx', 'xxxxxxxxxxxxx', function() {
    //okay, we are registered!
    parsePlugin.getInstallationObjectId(function(data) {
        alert('Okay!');
    }, function(e) {
        alert('error');
    });
}, function(e) {
    alert('error while authenticating!');
});

嗯,它正在注册。我还有一个onNotification函数,由PushPlugin调用

var onNotification = function(e) // This never happens :(
{
            alert("Push came!");
            angular.element(document.getElementById('pushCtrl')).scope().getMessage(e);
            angular.element(document.getElementById('pushCtrl')).scope().$apply();
};

没有任何反应。典型的应用行为是“好的!”#39;并且在推送之后它只到达设备。

此外,如果我插入PushPlugin注册功能,应用程序在尝试解决regid时崩溃:

   $cordovaPush.register({"senderID": "xxxxxxxxxx","ecb": "onNotificationGCM"}).then(function(token) {
        if(token="OK"){
            $scope.net=true; //show a net icon in the top of the screen
        }
    }, function(err) {
        $scope.token = err;
    });
}

这有什么问题?我能将数据推送到应用程序吗?

1 个答案:

答案 0 :(得分:0)

我不知道您的代码是否可行,但我注意到一个错误。 对于$ cordovaPush.register,您的“ecb”值为“onNotificationGCM”;但是之前你宣布了“onNotification”(var onNotification = function(e)..........)

将“ecb”值更改为“onNotification”。

我希望它有帮助!!!!!