将GCM升级为FCM时,服务器报告了MismatchSenderId错误。

3

我的当前生产应用程序使用较旧版本的GCM。有关如何将GCM升级到FCM的说明在某些地方不太适用,但我已经完成了大部分迁移,并且它几乎可以正常工作。

我可以从开发者控制台向新的FCM版本的应用程序发送消息。目前为止还好...

将后端服务器端点更改为fcm.googleapis.com/fcm/后,服务器仍然可以像以前一样向我的应用程序的旧GCM版本发送消息。

但是当后端服务器尝试向新的FCM版本的应用程序发送消息时,请求会被拒绝并显示 MismatchSenderId 错误。我们正在使用与应用程序的GCM版本完美配合的相同发送者ID。每个人都在使用相同的项目。我是否需要执行某些操作以导入旧的GCM项目设置?如果我将后端服务器更改为使用新的FCM服务器密钥,它是否仍然能够向旧的GCM版本的应用程序推送消息?


你找到解决方案了吗? - phoenix
2个回答

1
你可能需要下载当前版本的google-services.json并使用这个文件进行身份验证,因为它很可能定义了完全不同的帐户;尽管新的 FCM 端点仍可以使用以前的 GCM 凭据来处理身份验证。

那没什么帮助。而且实际上将应用程序的 FCM 版本作为公开的 Alpha 版本发布也没有帮助。唯一剩下的尝试是使用 FCM 认证密钥,并希望它仍然可以与旧版 GCM 应用程序配合使用。 - kencorbin
可以像有两个不同的JSON和/或调试构建的备用Manifest.xml一样,将多个密钥添加到该JSON中...当然,您需要实际的密钥才能登录...而如果它已发布,则最不重要。 - Martin Zeitler

0

最终,Google支持团队回复并协助跟踪此问题。结果发现我无意中创建了第二个FCM项目,并使用了另一个Sender ID。而且我还将应用程序注册到错误的项目上。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接