【发布时间】:2015-02-23 18:46:29
【问题描述】:
让 Google Cloud Messaging 在我的基于 Phonegap 的应用程序中运行时遇到了很多麻烦。
我正在按照here 的说明进行操作。 它使用了我根据说明安装在我的应用程序中的 PushPlugin。
注册后不知何故我没有得到任何回应,当我这样做时没有任何反应(没有出现 console.log):
window.plugins.pushNotification.register(
pushSuccessHandler,
pushErrorHandler, {
"senderID":"12345678",
"ecb":"onNotificationGCM"
}
);
var pushSuccessHandler = function(result) {
console.log(result);
};
var pushErrorHandler = function(error) {
console.log(error);
};
var onNotificationGCM = function(e) {
console.log(e);
switch(e.event) {
case 'registered' : {
console.log('android reg id: ' + e.regid);
break;
}
}
};
我在 Google Developer Console 中设置了一个 API 项目,获得了一个用作 SenderID 的项目编号,并对 Phonegap 清单和配置 xml 文件进行了所有修改。 我的应用尚未在 Play 商店中发布。
这对于让云消息传递正常工作有必要吗?
上面的代码是否足以获得“reg id”,还是我首先需要从服务器推送一些东西,然后用什么“reg id”??
在某处我读到推送通知仅在 Phonegap 应用程序运行时或单击通知时有效,因此当应用程序从正常图标启动时无效。但是我不明白这一点,因为当应用程序未运行时通知不应该工作吗?
【问题讨论】:
-
如果您的应用已被“强制停止”,您的应用将无法收到推送通知。您需要确保在物理设备而非模拟器中运行您的应用程序。如果没有打印console.log,这意味着你没有得到一个reg ID。 Reg ID 是 GCM 服务器向客户端应用程序发出的允许其接收消息的 ID。您需要确保您的服务器设置正确,并且您的应用清单文件具有正确的字段。
-
所以它应该只与一个测试应用程序一起工作(不发布)?有没有办法验证它是否甚至试图获得一个 Reg ID ?现在我什至不知道请求是否正在发送....
标签: android cordova google-cloud-messaging