谷歌云消息不适用于Phonegap



我很难在基于Phonegap的应用程序中使用谷歌云消息。

我遵循这里的指示。它使用PushPlugin,我根据说明将其安装在我的应用程序中。

不知怎的,我在注册后没有得到任何响应,当我注册时什么都没发生(没有控制台日志显示):

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;
        }
    }
};

我在GoogleDeveloperConsole中设置了一个API项目,获得了一个用作SenderID的项目编号,并对Phonegap清单和配置xml文件进行了所有修改。我的应用程序尚未在Play商店中发布。

这是让云消息工作所必需的吗?

上面的代码是否足以获得"reg id",或者我是否首先需要从服务器推送一些东西,然后使用什么"reg id?"??

在某个地方,我读到推送通知只在Phonegap应用程序运行时或点击通知时才起作用,所以当应用程序从正常图标启动时就不起作用了。然而,我不明白这一点,因为当应用程序不运行时,通知不应该工作吗?

推送通知将在不发布的情况下工作,不需要发布。只需要从开发人员控制台获取发件人ID。Sender Id-开发人员控制台中的项目编号

有关更多详细信息,您可以在这里查看

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

我正在使用它,它对android和iOS都很好。

更新:

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

我不得不在IDEA项目的项目设置中添加"android-support-v13.jar"one_answers"gcm.jar"文件作为库,以使其正常工作。这些库需要添加到作用域为"Compile"的主模块的依赖项中。

之前,我只是在模块的Dependencies中直接添加它们,Scope为"Provided",但显然这不起作用(尽管它已编译)。

最新更新