我正在尝试构建一个可用于获取推送通知数据并在angularJS范围内处理它的应用。推送到设备,我把它们显示在托盘上。当我点击推送 - 应用程序打开。但我无法在JS中收到数据。 已安装这些插件:https://github.com/phonegap-build/PushPlugin和https://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;
});
}
这有什么问题?我能将数据推送到应用程序吗?
答案 0 :(得分:0)
我不知道您的代码是否可行,但我注意到一个错误。 对于$ cordovaPush.register,您的“ecb”值为“onNotificationGCM”;但是之前你宣布了“onNotification”(var onNotification = function(e)..........)
将“ecb”值更改为“onNotification”。
我希望它有帮助!!!!!