Google 刚刚宣布 Google Cloud Messaging 现在更名为 Firebase Cloud Messaging。这对 GCM 的现有用户意味着什么以及需要进行哪些迁移(如果有)?
5 回答
什么是 FCM,我们为什么要使用它?
FCM(Firebase Cloud Messaging)是 Firebase 品牌下的 Google Cloud Messaging API 的新改进版本。它具有 GCM 的所有功能以及一些附加功能。根据Firebase 常见问题解答,它“继承了 GCM 的核心基础架构,使用新的 SDK 使云消息传递开发更容易”。谷歌在他们的Cloud Messaging FAQ中解释了他们发布 FCM 的决定,他们写道:
Firebase 以跨平台而著称,因此 FCM 现在非常适合为 Android、iOS 和移动网络设计的 Firebase 功能套件
Google 建议在其 APIs for Android Release Notes中从 GCM 升级到 FCM 。Firebase 常见问题解答中给出了这样做的原因:
升级到 FCM SDK 的好处包括:
- 更简单的客户端开发。您不再需要编写自己的注册或订阅重试逻辑。
- 开箱即用的通知解决方案。您可以使用 Firebase Notifications,这是一种带有 Web 控制台的无服务器通知解决方案,任何人都可以根据 Firebase Analytics 见解向特定受众发送通知。
GCM 是否已弃用?
GCM 的一些功能已经被弃用(例如,参见https://developers.google.com/cloud-messaging/android/legacy-regid),现在在未来几天 GCM 将被完全弃用。谷歌说:
我们将继续支持当前版本的 GCM Android 和 iOS SDK,因为我们知道现在很多开发人员都在使用 GCM SDK 来处理通知,并且客户端应用程序升级需要时间。
但是所有新的客户端功能都将被添加到 FCM SDK 中,只会向前发展。强烈建议您升级到 FCM SDK。
如何将旧的 Android 应用程序从 GCM 更新到 FCM
来自https://developers.google.com/cloud-messaging/android/android-migrate-fcm:
将您的 GCM 项目导入为 Firebase 项目:
在 Firebase 控制台中,选择Import Google Project。
从现有项目列表中选择您的 GCM 项目,然后选择 Add Firebase。
在 Firebase 欢迎屏幕中,选择Add Firebase to your Android App。
提供您的包名称和 SHA-1,然后选择Add App。为您的 Firebase 应用下载一个新的 google-services.json 文件。
选择继续并按照在 Android Studio 中添加 Google 服务插件的详细说明进行操作。
更新:最近通过电子邮件宣布 GCM 现已弃用并将在明年(2019 年)完全删除,所有 GCM 用户都应开始迁移到 FCM。有关更多详细信息,请在此处查看我的答案。
除了什么Pritam Baral 的回答,请注意 FCM 的核心是由 GCM 本身组成的。没有实际需要迁移到它,但鼓励这样做,因为当迁移到 FCM 时,与之相关的所有功能都将可供使用。参考Firebase 官方定价页面时,免费提供的功能包括:
分析、应用索引、身份验证、动态链接、FCM、邀请、通知、崩溃报告和远程配置
如GCM 和 FCM 常见问题解答中所述,Pre-IO GCM 实现在未来应该仍然可以工作更长的时间:
我们将继续支持当前版本的 GCM Android 和 iOS SDK,因为我们知道现在很多开发人员都在使用 GCM SDK 来处理通知,并且客户端应用程序升级需要时间。
但是所有新的客户端功能都将被添加到 FCM SDK 中,只会向前发展。强烈建议您升级到 FCM SDK。
根据最近的亮点:
Firebase Cloud Messaging 建立在 Google Cloud Messaging API 之上并对其进行了改进。您可以通过 com.google.android.gms.gcm 继续使用 Google Cloud Messaging,但我们建议升级到 com.google.firebase:firebase-messaging。
谷歌已扩展 GCM 以将消息发送到 Android 以外的多个平台:iOS 和 Chrome。Firebase 以跨平台而著称,因此 FCM 现在非常适合为 Android、iOS 和移动网络设计的 Firebase 功能套件。
流式细胞仪
- 它是 GCM 的高级/改进版本,但具有新品牌 Firebase
- 非常容易/简化的客户端开发
- 无服务器控制台,任何人都可以将通知发送到特定设备
- 通知负载:4KB,消息负载:2KB。请注意,通知还包括设备和应用程序信息。
- 如果设备离线,每台设备存储 100 条通知/消息。
Firebase 云消息传递 (FCM) 是 GCM 的新版本。它继承了可靠且可扩展的 GCM 基础架构,以及新功能!请参阅常见问题解答以了解更多信息。如果您要在新应用程序中集成消息传递,请从 FCM 开始。强烈建议 GCM 用户升级到 FCM,以便从现在和将来的新 FCM 功能中受益。
FCM 是 Firebase 品牌下的新版 GCM。它继承了 GCM 的核心基础架构,以确保我们继续在 Android、iOS 和 Chrome 上可靠地传递消息。
是的,GCM 的某些功能已被弃用,但它们支持所有以前的客户端。
- 要从 GCM SDK 升级到 FCM SDK,请参阅Android迁移指南