升级 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 错误的主要内容,如果未能解决你的问题,请参考以下文章

在服务器中从gcm迁移到fcm

Android APP 从 GCM 迁移到 FCM。旧 GCM 令牌不起作用

当您将应用服务器从 GCM 迁移到 FCM 时,旧客户端会发生啥情况?

基于Ionic Cordova的应用程序的GCM到FCM迁移步骤

哪个版本的gcm服务器用于gcm -fcm迁移

Onesignal vs GCM(FCM)