0

因此,我一直在关注Google的教程,在Android模拟器上设置GCM演示应用程序(此处为http://developer.android.com/guide/google/gcm/demo.html)。我得到了服务器端的工作 - 我有一个tomcat服务器,显示“没有设备注册!”在GCM演示页面上。我已经在带有目标Google API的Android模拟器上安装了客户端应用程序(试图让GCM在针对4.1的应用程序中工作只是简单地吐出“不幸的是,GCM Demo每次运行应用程序都停止运行) - 应用程序运行成功,但无法连接到服务器以注册设备(全部尝试5次)。我没有编辑SERVER_URL,SENDER_ID和api.key到正确的值(我按照教程的每一步) - 我在这里错过了什么?模拟器上的浏览器也显示正常工作。试图设置GCM演示应用程序 - 设备注册不起作用

编辑:固定的URL演示 - NICKL

哪里是你的Tomcat服务器的运行,以及什么是SERVER_URL您在Android应用提供
+2

这些都是有效的答案,因此,如果没有的他们帮助你必须给我们更多的信息。你在什么网址看到“没有设备注册”?你可以从Android浏览器,在模拟器,在哪个网址访问服务器?你从测试中看到的输出是什么?你究竟在哪里更新了SERVER_URL和SENDER_ID以及它们的值是什么?你提供的细节越少,我们必须在黑暗中刺中。请帮助我们来帮助你。 – 2012-08-22 16:46:09

回答

7

?我在尝试演示时遇到了问题,因为我的tomcat本地运行,但请记住,模拟器每个说明都有一个“虚拟路由器”,因此您无法通过Android应用程序使用http://localhost:8080来访问您的tomcat服务器。你将不得不使用运行Tomcat服务器的机器的IP,所以它会像http://[tomcat-machine's ip]:8080/gcm-demo

2

这个问题可以来自很多来源,在我的这是因为我使用了错误的服务器URL,你应该停止在http://yourserveraddress.com/gcm-demo的,而不是.../GCM-DEMO /家

SERVER_URL = "http://yourserveraddress.com/gcm-demo" 

另外,你检查,你用来构建WAR文件中的API密钥是Web服务器,而不是appsengine(有2时产生寄存器通过Google控制台API)?

2

我有完全相同的问题。我意识到我在家里的网络上建立了这些文件,并试图在我进入工作网络时编译这些文件。这改变了我的电脑的IP。在将CommonURItilities.java文件中的SERVER_URL更改为新的IP后,我忘记重新编译我的代码。