2013-01-17 65 views
0

我正在尝试启动并运行Google GCM演示应用。我的android模拟器成功连接到GCM服务器,并继续成功连接到我自己的服务器,该服务器位于http://localhost:8080/gcm-demo-server(即,模拟器将请求发送到http://10.0.2.2:8080/gcm-demo-server)。Google GCM演示应用 - 未收到服务器消息

但是,当我点击服务器网页上的“发送消息”时,消息不会传递给模拟器。 Logcat中没有任何内容显示,并且GCMIntentService类中的onMessage()中的断点不受影响。

我不明白它如何能够成功地向服务器注册,传递它的registrationId,但是当使用registrationId将消息发送回模拟器时,它不会收到。我没有更改演示应用程序代码。

任何想法什么可能会去哪里或哪里我可以开始寻找问题,因为我甚至不知道从哪里开始。

回答

0

原来,这是我使用的网络连接的问题。

1

首先,我没有丝毫的想法,您可以按照教程/步骤来使GCM演示运行。 我reccomendation是一步您的工作与此链接一步比较ň日子会把你回家:-)

http://androidv5.wordpress.com/2012/08/15/how-to-implement-google-cloud-messaging/

此外,你应该说明的是,当UR设备/仿真器连接到服务器呢服务器页说,像

1设备服用点注册

如果确实如此,那么乌尔服务器已达到 那么在这种情况下 您需要验证您是否向服务器提供了正确的信息才能到达目标设备/仿真器

可能需要一段时间不宽松的耐心;-)

更新:

公开赛在GCM演示应用程序文件CommonUtilities.java

更换 静态最终字符串的值SENDER_ID = “your_sender_id_from_api_console_url”; 与乌尔设备的发件人IDü从这个链接

https://code.google.com/apis/console/#project:4815162342

4815162342在这种情况下

进一步的协助下获得的: 在链接我提到向下滚动到客户端实现

+0

我使用谷歌iteself的GCM演示代码 - http://developer.android.com/google/gcm/demo.html服务器确实说“1设备注册”,但当我点击“发送消息”没有得到回到模拟器。 – sonicboom

+0

您是否收到Goolge服务器的回复?如果没有,则连接到Google服务器时出现问题(也许您使用的是错误的API密钥)。如果您收到回复,Google会报告成功还是失败?如果你得到了失败的答复,它应该告诉你问题是什么。如果您获得了成功的响应,那么问题可能出在您的客户端代码(Android应用程序)中。 – Eran

+0

okayyyyy !!! 明白了! 检查我更新的答案! – khurram