Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 谷歌云消息不适用于Phonegap_Android_Cordova_Google Cloud Messaging - Fatal编程技术网

Android 谷歌云消息不适用于Phonegap

Android 谷歌云消息不适用于Phonegap,android,cordova,google-cloud-messaging,Android,Cordova,Google Cloud Messaging,在我的基于Phonegap的应用程序中,要让谷歌云消息正常工作,我遇到了很多麻烦 我按照你的指示去做。 它使用PushPlugin,我根据说明将其安装在我的应用程序中 不知何故,我在注册后没有得到任何响应,当我执行以下操作时,什么也没有发生(没有出现console.log): window.plugins.pushNotification.register( pushSuccessHandler, pushErrorHandler, {

在我的基于Phonegap的应用程序中,要让谷歌云消息正常工作,我遇到了很多麻烦

我按照你的指示去做。 它使用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;
        }
    }
};
我在GoogleDeveloper控制台中设置了一个API项目,获得了一个用作SenderID的项目编号,并对Phonegap清单和配置xml文件进行了所有修改。 我的应用尚未在Play store中发布

这对于让云消息正常工作是必要的吗

上面的代码是否足以获取“注册id”,或者我是否首先需要从服务器上推送一些东西,但是使用什么“注册id”


我在某个地方读到,推送通知仅在Phonegap应用程序运行时或单击通知时有效,因此在从正常图标启动应用程序时无效。但是,我不明白这一点,因为当应用程序未运行时,通知不应该工作吗?

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

有关更多详细信息,请查看此处

我正在使用它,它在安卓和iOS上都运行良好更新:

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

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


在此之前,我只直接将它们添加到模块的依赖项中,范围为“提供”,但显然不起作用(尽管已编译)。

如果您的应用程序已“强制停止”,则您的应用程序无法接收推送通知。您需要确保在物理设备而不是模拟器中运行应用程序。如果未打印console.log,则表示您尚未获得注册ID。注册ID是GCM服务器向允许其接收消息的客户端应用程序颁发的ID。你需要确保你的服务器设置正确,并且你的应用程序清单文件有正确的字段。所以它应该只与测试应用程序一起工作(不发布)?根本没有办法验证它是否试图获取注册ID?现在我甚至不知道请求是否被发送。。。。