我在使用基于Phonegap的应用程序中使用Google Cloud Messaging时遇到了很多麻烦。
我按照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'然后??
某处我读到推送通知仅在Phonegap应用程序运行时或单击通知时起作用,因此不是从正常图标启动应用程序时。但是,我不明白这一点,因为当应用未运行时,通知是否有效?
答案 0 :(得分:0)
推送通知无需发布即可使用,不需要发布。 只有您必须从开发人员控制台获取发件人ID。 发件人ID - 在开发者控制台中的项目编号
有关详细信息,请查看此处
https://github.com/phonegap-build/PushPlugin
我正在使用它对于Android和iOS来说都很好用
答案 1 :(得分:0)
<强> 更新 强>
我使用Intellij IDEA构建应用程序。当我使用phonegap build android
进行编译时,推送通知 正常工作。
我必须添加&#39; android-support-v13.jar
&#39;和&#39; gcm.jar
&#39;将文件作为IDEA项目的“项目设置”中的库,以使其正常工作。需要将这些库添加到主模块的依赖关系中,并使用范围&#39;编译&#39;。
在我只在模块的依赖项中直接添加它们之前,使用Scope&#39;提供了&#39;但显然这不起作用(虽然它已编译)。