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

Posted

技术标签:

【中文标题】当您将应用服务器从 GCM 迁移到 FCM 时,旧客户端会发生啥情况?【英文标题】:What happens to older clients when you migrate an app server from GCM to FCM?当您将应用服务器从 GCM 迁移到 FCM 时,旧客户端会发生什么情况? 【发布时间】:2017-08-18 09:44:51 【问题描述】:

我正在考虑迁移到 FCM。事情的客户端相当简单,你移动一些代码并完成它。但是,在应用服务器上,出于显而易见的原因,我还需要支持旧客户端。我需要知道将 GCM 项目迁移到 FCM 时会发生什么。 FCM 是否也会自动将消息转发到基于 GCM 的旧客户端?或者我是否需要将每条消息发送两次,一次发送到 FCM,一次发送到 GCM?这将如何影响特定于实现的内容,例如从 Firebase 的 Web 控制台发送的消息?有什么我应该注意的细节吗?

【问题讨论】:

【参考方案1】:

使用 FCM(导入的项目或使用它的端点,无论您是什么意思)仍然与 GCM 客户端(特别是令牌)兼容。他们仍然可以像往常一样接收消息。

查看这些类似的帖子:

https://***.com/a/37517339/4625829 https://***.com/a/42674121/4625829

【讨论】:

所以,基本上,我只是将主题消息发送到 FCM 端点,它也会自动将其推送到较旧的 GCM 客户端,对吗?不好意思一再问,顺利过渡真的很关键。【参考方案2】:

无论您使用 FCM、Localytics、mixpanel 等作为平台,FCM 都充当触发通知和内部 GCM 控制通知的平台。只要 Api 密钥对于任何 paltform 都是相同的。您不必担心 FCM 或 GCM。

只需确保您为 FCM 使用与 GCM 相同的服务器密钥(Api 密钥)。

或者查看下面的链接以了解 FCM 解决方案的详细信息来处理这种情况。

https://support.pushcrew.com/support/solutions/articles/9000064351-setting-up-your-fcm-keys-previously-called-gcm-

【讨论】:

使用相同的服务器密钥并不能真正使兼容性发挥作用(因此可以重新生成密钥)。另请注意,importing a project to FCM, will generate a new Server Key: "注意:如果 Google 为您的项目创建了一个额外的服务器密钥,标签为“(由 Google 服务自动创建)”,请使用此新密钥而不是您现有的密钥." -- 建议参考官方文档。【参考方案3】:

您可能需要手动向两个版本的客户端发送通知,因为 GCM 和 FCM 并不完全相同。

更好的方法是启用强制升级(如果在应用中实现),以便所有用户群都可以迁移到新版本的应用。

【讨论】:

是的,但是 GCM 用户可能会收到重复的消息。而且我不会因为应该对用户完全透明的更改而强制更新。 "手动发送到两个版本" -- 这表明您需要发送两个单独的消息,而这不是必要的。 @Arshia001,是的。请保持透明。您可以显示为什么要求用户升级的消息。 @AL.,如果 GCM 密钥相同,则没有问题,但如果不是,则需要。 “我们更新了一些你可能永远都不知道存在的东西,所以这里是强制更新!”年度更新日志。

以上是关于当您将应用服务器从 GCM 迁移到 FCM 时,旧客户端会发生啥情况?的主要内容,如果未能解决你的问题,请参考以下文章

升级 GCM 到 FCM 服务器报 MismatchSenderId 错误

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

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

Azure通知中心 - 从GCM迁移到FCM

需要从 GCM 迁移到 FCM?

在服务器中从gcm迁移到fcm