我正在尝试向运行相同应用的所有设备发送GCM通知,而不使用后端服务器。
我有一个在客户端(手机)上生成用户通知密钥的应用程序。我原以为我会在使用相同Google帐户的每台设备上取回相同的用户通知密钥。
请注意,我说的是notification_key而不是registration_id(我知道registration_id是特定于设备的)。
但是,我在所有设备上都没有获得相同的notification_key。我传入相同的notification_key_name并使用相同的帐户生成id_token但我在每台设备上都返回了不同的notification_key。
更糟糕的是,如果我的应用版本发生变化,我必须为设备添加新的注册ID,我会收到一个新的通知密钥。
我对这应该如何运作有一些基本的误解吗?
请求:
{
"operation":"add",
"notification_key":"APA...cxU",
"notification_key_name":"<user>",
"id_token":"ey...",
"registration_ids":["APA...wQ"]
}
响应:
{
"notification_key":"APA...-QQ"
}
以上是实际交换,显示我收到的notification_key的尾随字节与请求中提交的notification_key的尾随字节不同。
Android API等级19。 Windows上的Eclipse ADT