当使用无效注册ID时,GCM返回BAD请求

时间:2016-01-08 07:42:33

标签: java android push-notification google-cloud-messaging

我们目前在测试GCM服务时遇到一个奇怪的问题。

当我们发送有效请求(具有有效的registration_id)时,一切正常,通知将发送到客户端应用程序。

然后我们想测试一种负面情况,我们使用了错误的registration_id(我们只交换了一个字母),然后GCM返回400 BAD REQUEST或401 UNAUTHORIZED。

根据GCM文档,我们应该收到“200 +错误:InvalidRegistration”。

  

编辑1:我们只使用GCM请求中的“to”和“content_available”字段。 JSON很好,否则它无法使用有效的   registration_id。

     

编辑2:我们发现如果您手动更改注册ID的字母,您将收到错误请求作为回复。这意味着GCM端可能会有一些验证来检查是否操作了registration_id。如果我们使用其他应用的registration_id,我们会收到来自GCM的正常错误回复。

以前有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:1)

是的,你是对的。

但;

如果您只发送一个带有'的标记。参数,GCM返回400。

如果您尝试发送多个令牌(其中一些是有效的而其他令牌没有),则GCM返回200并且错误列表具有“无效注册”'代码。

在这种情况下,我可以说;

如果使用'到',GCM返回400。

如果使用' registration_ids',GCM会在回复时返回200和错误列表。

您还可以使用this library's测试用例进行检查。