GCM的文档说应用服务器应该使用https://gcm-http.googleapis.com/cloud-messaging/send向GCM设备发送消息,但示例程序(在GcmSender类中)使用https://android.googleapis.com/gcm/send。正确的URL到GCM设备的消息?
哪一个是正确的?
我已经在现场使用了后者的URL几年的GCM应用程序,客户端使用旧的类,而不是当前记录的类。我想这意味着我的实现是C2DM,而不是GCM,但上面的URL不一致使我有点不确定。除了URL,我的应用服务器实现与今天记录的内容相匹配,例如,它使用这种格式向GCM设备发送消息:
Content-Type:application/json 授权:key = AIzaSyZ-1u ... 0GBYzPu7Udno5aA
{ “registration_id”: “APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx ...”, “数据”:{ ... }, }
这也是奇 - 示例应用程序的用途“,以“,而不是”registration_id“,我的应用使用”registration_ids“。
此外,我的应用程序服务器从未使用过文档使我相信所有C2DM应用程序都使用的“ClientLogin身份验证令牌”。这增加了我对我的实施是C2DM还是GCM的疑惑,因此是否会在10/20/2015停止工作或继续工作。
有人可以澄清吗?
感谢,
马克
谢谢 - 澄清了URL问题。总之,记录的URL(很可能)是错误的(应该是https://gcm-http.googleapis.com/gcm/send),但示例代码使用的仍然有效的URL是为以前版本引入的(GCM或C2DM?)。 但是,这仍然让我想知道我的实现是C2DM还是GCM。 –
如果您可以注册正在使用GCM的设备,因为C2DM不再接受新的注册。 – e4c5
是的,我可以注册一个新设备。我想GCM仍然与旧的客户端类(例如GCMBaseIntentService,GCMRegistrar等)兼容。 –