Google 云消息无法与 Phonegap 一起使用

Google Cloud Messaging not working with Phonegap

我在使用基于 Phonegap 的应用程序中使用 Google 云消息时遇到了很多麻烦。

我正在按照 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 应用程序处于 运行 或单击通知时才有效,因此当应用程序从普通图标启动时无效。但是我不明白这一点,因为当应用程序不是 运行 时通知不应该工作吗?

推送通知无需发布即可工作,发布不是必需的。 只有您需要从开发人员控制台获取发件人 ID。 发件人 ID - 它在开发者控制台中的项目编号

有关详细信息,您可以在此处查看

https://github.com/phonegap-build/PushPlugin

我正在使用它,它对 android 和 iOS

都很好

更新:

我正在使用 Intellij IDEA 构建应用程序。当我使用 phonegap build android 编译时,推送通知 工作正常。

我必须在 IDEA 项目的项目设置中添加“android-support-v13.jar”和“gcm.jar”文件作为库,才能使其正常工作。这些库需要添加到范围为 'Compile'.

的主模块的依赖项中

之前我只是直接将它们添加到模块的依赖项中,使用范围 'Provided' 但显然这不起作用(尽管它已编译)。