Java 当使用无效的注册id时,GCM返回错误的请求
我们目前在测试GCM服务时面临一个奇怪的问题 当我们发送一个有效的请求(带有一个有效的注册id)时,一切正常,通知被发送到客户端应用程序 然后我们想测试一种负面的场景,我们使用了一个错误的注册id(我们只交换了一个字母),然后GCM返回400个错误请求或401个未经授权的请求 根据GCM文档,我们应该得到一个“200+错误:无效注册” 编辑1:我们只使用GCM请求中的“收件人”和“内容可用”字段。JSON很好,否则它将无法与有效的 注册号 编辑2:我们发现,如果您手动更改注册id的字母,您将收到一个错误的请求作为响应。这意味着在GCM端可能会有一些验证来检查注册id是否被操纵。如果我们使用来自另一个应用程序的注册id,我们将收到来自GCM的正常错误响应 以前有人遇到过这个问题吗?是的,你说得对 但是 如果只发送一个带有“to”参数的令牌,GCM将返回400 如果您尝试发送多个令牌(其中一些令牌有效,其他令牌无效),GCM返回200,错误列表中有“InvalidRegistration”代码 我可以这样说, 如果使用“to”,GCM返回400 如果使用“注册ID”,GCM将返回200和错误列表作为响应Java 当使用无效的注册id时,GCM返回错误的请求,java,android,push-notification,google-cloud-messaging,Java,Android,Push Notification,Google Cloud Messaging,我们目前在测试GCM服务时面临一个奇怪的问题 当我们发送一个有效的请求(带有一个有效的注册id)时,一切正常,通知被发送到客户端应用程序 然后我们想测试一种负面的场景,我们使用了一个错误的注册id(我们只交换了一个字母),然后GCM返回400个错误请求或401个未经授权的请求 根据GCM文档,我们应该得到一个“200+错误:无效注册” 编辑1:我们只使用GCM请求中的“收件人”和“内容可用”字段。JSON很好,否则它将无法与有效的 注册号 编辑2:我们发现,如果您手动更改注册id的字母,您将收到
您也可以使用测试用例进行检查。文档还提到,应该从服务器中删除标有“InvalidRegistration”代码的注册ID。现在,如果我只发送'to'和GCM return 400,我是否还需要从服务器中删除注册id?作为文档;响应中描述了确切的失败原因,应该在重试请求之前解决问题。但我认为如果返回错误400,则不会有响应,因此如果您确实确定json格式为true,则可以从数据库中删除此令牌。测试库中提到的发送方id是什么?这是在生成注册令牌时生成的发送方id吗?它是服务器api密钥。应更改变量名。例如:Aizasychyrxdwczldvrykgywyvzmzfo31hlbr