更正 URL 以发送给 GCM 设备的消息?
Correct URL for message to GCM device?
GCM 的文档说应用服务器应该使用 https://gcm-http.googleapis.com/cloud-messaging/send, yet the sample program (in GcmSender class) uses https://android.googleapis.com/gcm/send 向 GCM 设备发送消息。
哪一个是正确的?
几年来我在现场有一个 GCM 应用程序,它使用后者 URL,而客户端使用旧的 类,而不是当前记录的 类.我想这意味着我的实现是 C2DM,而不是 GCM,但是上面的 URL 不一致让我有点不确定。除了 URL,我的应用程序服务器实现与今天记录的内容相匹配,例如,它使用这种格式向 GCM 设备发送消息:
内容类型:application/json
Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA
{
"registration_id" : "APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx...",
"data":{
...
},
}
这也很奇怪 - 示例应用使用 "to",而不是 "registration_id",而我自己的应用使用 "registration_ids".
此外,我的应用服务器从未使用过文档让我相信所有 C2DM 应用都使用的 "ClientLogin Auth token"。这让我更加困惑我的实现是 C2DM 还是 GCM,因此它会在 10/20/2015 停止工作还是继续工作。
有人可以澄清一下吗?
谢谢,
马克
目的地url
这似乎是示例代码跟不上 API 最新发展的经典案例。 Google
经常发生
https://gcm-http.googleapis.com/gcm/send is the correct url for sending messages via HTTP. AFAIK https://gcm-http.googleapis.com/cloud-messaging/send,不正确。
https://android.googleapis.com/gcm/send 适用于以前的版本,但仍然有效。
和registration_ids
要将消息发送给单个收件人时,将使用收件人字段。当您要为一个或多个收件人发送消息时,将使用 registration_ids 字段。因此,如果只发送给一个人,则两者都可以使用。然而后者期望它的输入是一个数组。
如果您一次发送给一个收件人,使用 XMPP 可能更有效。 XMPP 还具有能够从设备接收消息的额外好处。
GCM 的文档说应用服务器应该使用 https://gcm-http.googleapis.com/cloud-messaging/send, yet the sample program (in GcmSender class) uses https://android.googleapis.com/gcm/send 向 GCM 设备发送消息。
哪一个是正确的?
几年来我在现场有一个 GCM 应用程序,它使用后者 URL,而客户端使用旧的 类,而不是当前记录的 类.我想这意味着我的实现是 C2DM,而不是 GCM,但是上面的 URL 不一致让我有点不确定。除了 URL,我的应用程序服务器实现与今天记录的内容相匹配,例如,它使用这种格式向 GCM 设备发送消息:
内容类型:application/json Authorization:key=AIzaSyZ-1u...0GBYzPu7Udno5aA
{ "registration_id" : "APA91bHun4MxP5egoKMwt2KZFBaFUH-1RYqx...", "data":{ ... }, }
这也很奇怪 - 示例应用使用 "to",而不是 "registration_id",而我自己的应用使用 "registration_ids".
此外,我的应用服务器从未使用过文档让我相信所有 C2DM 应用都使用的 "ClientLogin Auth token"。这让我更加困惑我的实现是 C2DM 还是 GCM,因此它会在 10/20/2015 停止工作还是继续工作。
有人可以澄清一下吗?
谢谢,
马克
目的地url
这似乎是示例代码跟不上 API 最新发展的经典案例。 Google
经常发生https://gcm-http.googleapis.com/gcm/send is the correct url for sending messages via HTTP. AFAIK https://gcm-http.googleapis.com/cloud-messaging/send,不正确。
https://android.googleapis.com/gcm/send 适用于以前的版本,但仍然有效。
和registration_ids
要将消息发送给单个收件人时,将使用收件人字段。当您要为一个或多个收件人发送消息时,将使用 registration_ids 字段。因此,如果只发送给一个人,则两者都可以使用。然而后者期望它的输入是一个数组。
如果您一次发送给一个收件人,使用 XMPP 可能更有效。 XMPP 还具有能够从设备接收消息的额外好处。