首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么我从GCM服务器端得到"MismatchSenderId“?

为什么我从GCM服务器端得到"MismatchSenderId“?
EN

Stack Overflow用户
提问于 2012-07-03 22:41:12
回答 11查看 142.1K关注 0票数 77

我正在尝试为我的Android应用程序创建一个推送服务,我遵循了Google GCM的文档和示例:

我可以注册/注销我的Android应用程序。在我的服务器端,我可以看到我注册了一个订阅,但当我尝试从服务器向我的Android应用程序发送消息时,我总是收到以下错误:

向设备#0发送消息时出现

错误: MismatchSenderId

对于我的安卓应用程序,我使用SENDER_ID = 200000000001。

对于我的服务器端,正如谷歌所说的那样,我使用API_KEY = AIzxxxxxxxxxxxxxxxxXxxXxxXxxxXXXXXxxxxs

我遵循了这个文档:

http://developer.android.com/guide/google/gcm/demo.html

我也在我的Google API面板中启用了GCM,但我仍然会收到令人讨厌的错误消息。

我如何解决这个问题?

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2012-07-03 23:07:29

您的服务器是否使用了GCM服务器返回给您的应用程序的新注册ID?如果我试图向旧的C2DM服务器提供的注册ID发送消息,我就遇到了这个问题。

还要仔细检查发件人ID和API_KEY,它们必须匹配,否则您将收到MismatchSenderId错误。在Google API控制台中,查看项目的URL:

https://code.google.com/apis/console/#project:xxxxxxxxxxx

xxxxxxxxx是项目ID,即发送方ID。

并确保API密钥属于'Key for server apps (with IP locking)‘

票数 68
EN

Stack Overflow用户

发布于 2016-04-08 14:15:45

不使用数字ID时出现不匹配。项目ID不是发件人ID!!我花了9个小时才弄明白。对于google造成的所有混淆,请检查以下链接以获取数字id。

https://console.cloud.google.com

而不是

https://console.developers.google.com

希望它能有所帮助!!

更新:-事情再次发生了变化。现在发送者id是firebase。

转到https://console.firebase.google.com并选择您的项目。在settings -> cloud messaging下,您可以找到发件人id。

而且它起作用了!

票数 24
EN

Stack Overflow用户

发布于 2015-12-24 14:01:25

请在您的终端中运行以下脚本

curl -X POST \
-H "Authorization: key=  write here api_key" \
-H "Content-Type: application/json" \
-d '{ 
"registration_ids": [ 
"write here reg_id generated by gcm"
], 
"data": { 
"message": "Manual push notification from Rajkumar"
},
"priority": "high"
}' \
https://android.googleapis.com/gcm/send

如果成功或失败,都会给出消息

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11313342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档