为什么我要从GCM服务器端获得“MismesSenderId”?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (34)

我正试图为我的Android应用程序创建一个推送服务,并遵循GoogleGCM的文档和示例:

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

将消息发送到设备#0:MismedieSenderId时出错

对于我的Android应用程序,我使用发件人_ID=200000000001。

对于我的服务器端,正如Google所说,我使用api_Key=

我遵循了这份文件:

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

我也在我的GoogleAPI面板中启用了GCM,但是我会得到那个恼人的错误消息。

我怎样才能解决这个问题?

提问于
用户回答回答于

你的服务器是否使用GCM服务器返回给你的应用程序的新注册ID?如果尝试将消息发送到旧的C2DM服务器发出的注册ID,我遇到了这个问题。

并且仔细检查发件人ID和API_KEY,它们必须匹配,否则你将得到那个MismatchSenderId错误。在Google API控制台中,查看你项目的网址:

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

xxxxxxxxx是项目ID,它是发件人ID。

并确保API密钥属于'服务器应用程序密钥(带IP锁定)'

用户回答回答于

当你不使用数字ID时会发生不匹配。项目ID不是发件人ID!我花了很久才弄明白这一点。对于谷歌创建的所有困惑,请检查以下链接以获取数字ID。

https://console.cloud.google.com

代替

https://console.developers.google.com

希望能帮助到你!!

更新: - 事情又改变了。现在,发件人ID与Firebase一起使用。

转到https://console.firebase.google.com并选择你的项目。在设置 - >云消息传递下,可以找到发件人ID。

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励