升级 GCM 到 FCM 服务器报 MismatchSenderId 错误
Posted
技术标签:
【中文标题】升级 GCM 到 FCM 服务器报 MismatchSenderId 错误【英文标题】:Upgrading GCM to FCM server reports MismatchSenderId error 【发布时间】:2018-08-16 00:36:40 【问题描述】:我当前的生产应用使用旧版本的 GCM。关于如何将 GCM 升级到 FCM 的说明在一些地方不太合适,但我已经完成了大部分迁移,并且几乎可以工作。
我可以将消息从开发者控制台发送到应用的新 FCM 版本。好的,到目前为止...
将后端服务器端点更改为 fcm.googleapis.com/fcm/ 后,服务器可以继续向我的应用的旧 GCM 版本发送消息。就像以前一样。
但是,当后端服务器尝试向新的 FCM 版本的应用发送消息时,请求被拒绝并出现 MismatchSenderId 错误。我们使用与应用程序的 GCM 版本完美配合的相同发件人 ID。每个人都在使用同一个项目。我需要做些什么来导入旧的 GCM 项目设置吗?如果我将后端服务器更改为使用新的 FCM 服务器密钥,它是否仍能够将消息推送到旧 GCM 版本的应用?
【问题讨论】:
您找到解决方案了吗? 【参考方案1】:您可能需要下载google-services.json
的当前版本并使用此版本进行身份验证,因为它很可能定义了其他所有帐户;尽管新的 FCM 端点仍然可以使用以前的 GCM 凭据处理身份验证。
【讨论】:
这没有帮助。实际上也没有将应用程序的 FCM 版本发布为开放的 alpha 版本。唯一需要尝试的是使用 FCM 身份验证密钥,并希望它仍然适用于旧版 GCM 应用。 认为可以将多个键添加到该 JSON 中,就像一个可以具有两个不同的 JSON 和/或用于调试构建的备用 Manifest.xml 一样...当然您需要实际的键才能登录...而如果它被释放,最不重要。【参考方案2】:Google 支持人员最终做出了回应,并帮助追踪了这一点。事实证明,我在不知情的情况下使用另一个发件人 ID 创建了第二个 FCM 项目。并且用错误的项目注册了应用程序。
【讨论】:
以上是关于升级 GCM 到 FCM 服务器报 MismatchSenderId 错误的主要内容,如果未能解决你的问题,请参考以下文章
Android APP 从 GCM 迁移到 FCM。旧 GCM 令牌不起作用
当您将应用服务器从 GCM 迁移到 FCM 时,旧客户端会发生啥情况?