GCM到FCM迁移

4

我有一个拥有10万+用户的运行中的Android应用程序,这些用户使用一个旧的GCM API密钥接收通知。我想升级我们的服务器以使用FCM,但我不确定是否可以在保留旧的GCM客户端的情况下生成新的Firebase API密钥。 看起来,我必须创建一个新的项目并使用在那里生成的API密钥,但它会禁用我的旧的GCM API密钥吗?


密钥仍然有效,但您需要能够区分FCM密钥和GCM密钥,因为您需要为每个调用不同的端点。 - tyczj
2个回答

2
我们几个月前将应用从GCM迁移到了FCM。当时我们拥有超过100万活跃用户,因此这对我们来说是一次非常紧张的迁移。
按照迁移指南,您需要将GCM项目导入为Firebase项目,并在应用中进行许多更改。
我们使用git-diff/比较生成的google-services.json与之前版本的文件,确认API密钥未更改。
对我们来说,这是一次100%向后兼容、无缝迁移。
截至2019年3月,您还需要迁移后端服务。
2018年1月:

更新这些端点并不是必须的,因为Google将继续支持现有的GCM端点。


2018年11月(感谢@JonEgerton,看起来他们正在逐渐放弃对它的支持):

GCM HTTP协议的FCM等效物仅被标记为“遗留”,以便清楚地与HTTP v1 API区分开来。该API得到了全面支持,Google没有计划在近期淘汰它。

2019年3月:

我们将在2019年4月关闭大部分GCM服务,因此您应该计划在那时之前迁移大部分服务。

请注意,客户端SDK和GCM令牌将继续无限期工作。但是,除非您迁移到FCM,否则您将无法在Android应用程序中针对Google Play服务的最新版本进行目标定位。参考:https://developers.google.com/cloud-messaging/faq


你是否需要更改API密钥?因为我尝试实现FirebaseMessagingService时,当发送到GCM端点时,它无法接收推送通知。 - roybensh
@roybensh 不,我们的情况下API密钥没有改变。 - Yuchen
1
在上述关于持续支持的评论中搜索会得到一些线索,称它们来自以下页面:https://developers.google.com/cloud-messaging/android/android-migrate-fcm。然而,现在(2018年11月6日),该页面不再包含此文本。他们现在说:“注意:“FCM HTTP协议的等效项仅被标记为“传统”,以清楚地将其与HTTP v1 API区分开来。该API得到了充分的支持,Google没有近期计划废弃它。”因此,你想要相信这个还是要正确迁移到新的端点是需要考虑的事情。 - Jon Egerton
1
@JonEgerton 看到这个很有趣。谢谢!我也会在上面添加这一信息。 - Yuchen
1
@YuchenZhong:谢谢。正是使用了“没有近期计划”这样更加谨慎的措辞(而不是像“没有计划”那样更加坚定的表态)才值得我们特别提出来。 - Jon Egerton
显示剩余2条评论

0

在文档中我从未读到过迁移将禁用旧的GCM API密钥。 迁移


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