我们目前在测试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的正常错误回复。
以前有人遇到过这个问题吗?
答案 0 :(得分:1)
是的,你是对的。
但;
如果您只发送一个带有'的标记。参数,GCM返回400。
如果您尝试发送多个令牌(其中一些是有效的而其他令牌没有),则GCM返回200并且错误列表具有“无效注册”'代码。
在这种情况下,我可以说;
如果使用'到',GCM返回400。
如果使用' registration_ids',GCM会在回复时返回200和错误列表。
您还可以使用this library's测试用例进行检查。