您好我是Ionic的新手。 我想对Android手机使用离子推送通知。
的所有说明进行操作为了进行调试,我输入了ionic serve
我看到了
“未捕获的ReferenceError:未定义PushNotification”
在Chrome控制台中。
当然,通知无效。
我缺少什么?
任何评论都会非常有用。谢谢。
以下是我的所作所为
我已将下面的代码放在终端
中ionic add ionic-platform-web-client
ionic plugin add phonegap-plugin-push
ionic io init
我的离子配置信息
dev_push is false,
There is 'app_id'
There is 'api_key'
There is 'gcm_key'
的NodeJS v5.2.0(我也试过v4.2.2)
离子cli v1.7.12
以下代码位于$ionicPlatform.ready
var io = Ionic.io();
var user = Ionic.User.current();
if (!user.id) {
user.id = Ionic.User.anonymousId();
};
// Just add some dummy data..
user.set('name', 'moka');
user.set('bio', 'This is my little bio');
user.save();
var push = new Ionic.Push({
"onNotification": function(notification) {
alert('Received push notification!');
},
"pluginConfig": {
"android": {
"iconColor": "#0000FF"
}
}
});
var callback = function(data) {
push.addTokenToUser(user);
user.save();
};
push.register(callback);
我改变了表格
ionic config set dev_push false
到
ionic config set dev_push true
不再显示
“未捕获的ReferenceError:未定义PushNotification”
但是我不确定这是否正确。 因为它写在this tutorial
上关闭您的开发模式
ionic push --google-api-key your-google-api-key
ionic config set gcm_key your-gcm-project-number
ionic config set dev_push false
所以没关系“Uncaught ReferenceError:PushNotification未定义”,如果我想在真正的Android设备上测试?
答案 0 :(得分:2)
不,没关系。
事实上,正如您所提到的,dev_push
在真实设备中测试时必须是假的。
您可以手动将其设置为ionic config set dev_push false
或在任何地方都不提(默认情况下为false):)
答案 1 :(得分:1)
Cordova& Phonegap插件仅适用于仿真器和设备。它们不适用于任何broswers。
虽然使用Ionic可以将这些错误静音,但是这样做可以很好地包装你的代码:
if (typeof PushNotification === "defined") {
// your code here
}
这样,在编写BDD或E2E测试时,它不会抛出任何错误。
您还可以在以下内容中添加代码:
document.addEventListener("deviceready", function () {
}
答案 2 :(得分:-1)
我能够解决以下错误:
ionic remove ionic-platform-web-client
cordova plugin remove phonegap-plugin-push
ionic add ionic-platform-web-client
ionic plugin add phonegap-plugin-push
ionic io init