在服务器域过期后发送gcm通知时获取MismatchSenderId

时间:2016-07-02 09:12:46

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

用于Android应用的GCM通知完全有效,直到用于发送通知域的服务器已过期。

域名续订时,gcm通知无效。如果我使用当前的API密钥,它会给出

401 Unauthorizedied Acccess

在生成新的API密钥和新的GCM ID时,它会给出以下错误

{ “multicast_id”:8384021168458344916, “成功”:0, “失败”:1, “canonical_ids”:0 “结果”:[{ “错误”: “MismatchSenderId”}]}

如何解决此问题?

1 个答案:

答案 0 :(得分:2)

基于Official Google Cloud Messaging documentation,注册令牌与某组发件人绑定。当客户端应用程序注册GCM时,它必须指定允许哪些发件人发送消息。在向客户端应用程序发送消息时,您应该使用其中一个发件人ID。如果您切换到其他发件人,现有的注册令牌将无效。

仔细检查Sender IDAPI_KEY,它们必须匹配,否则您将收到MismatchSenderId错误。请参阅Stack Overflow帖子:Why do I get MismatchSenderId from GCM server side?。对于401 Unauthorized Acccess错误,意味着您的API密钥无效。问题 仅适用于在Android设备上生成通知密钥的方法 使用Google auth令牌。