【发布时间】:2013-10-24 18:07:13
【问题描述】:
Web 上列出的大多数解决方案都使用已弃用的 GCMRegistrar。我从https://code.google.com/p/gcm/ 下载了客户端和服务器的源代码,并按照https://developer.android.com/google/gcm/server.html 和client.html 中提到的指南替换客户端上的SENDER_ID 和服务器上的api.key。然后将客户端和服务器转移到具有 Internet 访问权限的同一本地网络,并在 Google API 控制台中删除 IP 限制。当我运行客户端时,它显示设备已注册,注册 ID 成功。但问题是服务器(Tomcat)显示“没有注册设备!”
【问题讨论】:
-
您是否已将设备/项目的注册 ID 存储在您的服务器上,并且您是否将其与您的消息一起发送到 Google 服务器?
-
我从您的描述中假设您的客户端无法连接到您的服务器以便向其发送从 Google 收到的注册 ID(或者您没有执行此操作的客户端代码发送)。
-
@NickT 不,我不是。但根据演示服务器文档,您可以将消息发送到设备。
-
@Eran 因为我没有在客户端的任何地方提供有关我的服务器的信息。 GCM 服务器处理来自我的服务器的推送消息。
-
@2600th 但是如何将注册 ID 从客户端传输到服务器?如果您不这样做,您的服务器显示“未注册设备”也就不足为奇了。
标签: android google-cloud-messaging