【问题标题】:New senderID does not work on GCM mismatchedSenderID新的发件人 ID 不适用于 FCM mismatchSenderID
【发布时间】:2013-05-23 00:28:23
【问题描述】:

几个月前,我从 Google API 控制台激活了我的 GCM,并在我的 Android 项目中实现了它,一切正常。我能够使用我的服务器 API 密钥注册、获取 regId 并从我的服务器发送通知。一切正常。

昨天我用我的另一个 gmail 帐户创建了一个新的 senderID,但是当我用新信息替换 senderID 和服务器 API 密钥时,Google 回复了烦人的 mismatchedSenderID 错误消息,并且不会发送 GCM!

项目中没有其他任何变化,只是一个新的发件人ID!可能是什么问题?

【问题讨论】:

  • 您是否更换了服务器应用上的服务器密钥?
  • 如果您的senderId 发生更改,用户必须重新注册该特定senderId 才能接收通知。

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


【解决方案1】:

好吧,如果您开始使用新的 API 密钥发送通知,则为旧的 senderID 生成的所有注册 ID 都将停止工作。您应该清除您的数据库并开始从您的用户那里收集新的注册 ID(基于新的发件人 ID)。

发件人不匹配

注册 ID 与特定的发件人组相关联。当应用程序注册使用 GCM 时,它必须指定允许哪些发送者发送消息。确保您在尝试向设备发送消息时使用其中之一。如果您切换到其他发件人,现有的注册 ID 将不起作用。当错误代码为 MismatchSenderId 时发生。

【讨论】:

  • 我也有同样的问题。您如何建议我“开始收集新的注册 ID”?我的目标是让设备调用 getRegistrationId() 并返回 id = ""。然后服务器将存储新的registrationId。为此,设备必须先取消注册,但我不希望设备在每次运行应用程序时都取消注册并重新注册。最好的解决方案是,如果我的服务器可以告诉 GCM 服务器使用某些旧的 registrationId 重新注册设备......所以问题是设备/应用程序如何知道它的registrationId 何时过时(因为它属于旧的senderId)。
猜你喜欢
  • 2018-06-26
  • 2016-10-18
  • 1970-01-01
  • 2017-12-09
  • 1970-01-01
  • 2023-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多