GCM 不同的发件人 ID 不匹配发件人 ID 错误

Posted

技术标签:

【中文标题】GCM 不同的发件人 ID 不匹配发件人 ID 错误【英文标题】:GCM different sender id with mismatchsender id error 【发布时间】:2013-12-10 15:31:52 【问题描述】:

我在两个不同的应用程序中使用了两个不同的发件人 ID。当我将消息第一个应用程序发送到第二个应用程序时,它是成功的,但是当我将第二个应用程序发送到第一个应用程序时,我得到:

"multicast_id":8546528660791862014,"success":0,"failure":1,"canonical_ids":0,"results":["error":"MismatchSenderId"]

【问题讨论】:

【参考方案1】:

您用于发送消息的 API 密钥与 Google API 项目 ID 相关联。该项目 ID 用于将您的应用注册到 GCM。您在注册应用时获得的注册 ID 与该项目 ID 相关联。

现在,如果您使用项目 ID A 的 API 密钥以及与项目 ID B 绑定的注册 ID 发送 GCM 消息,您将收到 MismatchSenderId

您没有指定是否使用相同的 API 密钥向两个应用发送消息,也没有指定是否使用相同的项目 ID 将两个应用注册到 GCM,因此很难解释具体行为您观察到了,但我的一般解释应该为您指明正确的方向。

【讨论】:

@Eran 我还使用了不同的 API 密钥来发送消息。在 APP First 和 second 都有自己的发件人 ID 和 api 密钥,当我从第一个到第二个发送消息时,我在 php 端使用第二个应用程序 api,当我第二个到第一个发送消息时,我使用第一个应用程序 api 密钥。我使用了不同的发件人两个应用程序的关键。我成功地从一侧向另一侧发送消息,但是当我从另一侧向另一侧发送消息时出现不匹配错误【参考方案2】:

我为这两个应用程序使用了相同的发件人 ID,它们也有不同的包名称。不需要为不同的应用程序创建不同的发件人ID。服务器端也使用相同的api密钥

【讨论】:

以上是关于GCM 不同的发件人 ID 不匹配发件人 ID 错误的主要内容,如果未能解决你的问题,请参考以下文章

GCM 可以将相同的服务器密钥与不同的发件人 ID 一起使用

Android GCM:更多应用程序的相同发件人ID

GCM:如何为 android 和 ios 应用程序使用相同的发件人 ID?

对于每个发件人 ID,GCM 允许 1000 个并行连接

自动 GCM 注册?

Twilio 字母数字发件人 ID:ID 不匹配的原因