需要从GCM迁移到FCM吗?

时间:2016-05-18 22:35:29

标签: android firebase google-cloud-messaging firebase-cloud-messaging

谷歌刚刚宣布Google Cloud Messaging现在是Firebase云消息传递。这对GCM的现有用户意味着什么以及需要迁移(如果有的话)?

5 个答案:

答案 0 :(得分:107)

什么是FCM?我们为什么要使用它?

FCM(Firebase云消息传递)是Firebase品牌下的新版Google云消息传递API。它具有GCM的所有功能以及一些附加功能。根据{{​​3}},它"继承了GCM的核心基础架构,使用新的SDK来简化云消息传递和#34; 。谷歌解释了他们在Firebase FAQ发布FCM的决定,他们写道:

  

Firebase以跨平台而闻名,因此FCM现在非常适合专为Android,iOS和移动网络设计的Firebase套件

Google建议在其适用于Android Cloud Messaging FAQ的API中从GCM升级到FCM。这样做的原因在Release Notes

中给出
  

升级到FCM SDK的好处包括:

     
      
  • 更简单的客户端开发。您不再需要编写自己的注册或订阅重试逻辑。
  •   
  • 开箱即用的通知解决方案。您可以使用Firebase Notifications,这是一种无服务器通知解决方案,其中包含一个Web控制台,可让任何人根据Firebase Analytics数据分析向特定目标用户发送通知。
  •   

GCM已被弃用吗?

GCM的某些功能已被弃用(例如,请参阅Firebase FAQ),现在在未来几天内,GCM将完全弃用。 https://developers.google.com/cloud-messaging/android/legacy-regid

  

我们将继续支持当前版本的GCM Android和iOS SDK,因为我们知道很多开发人员现在都在使用GCM SDK来处理通知,而客户端应用升级需要时间。

     

但是所有新的客户端功能都将仅添加到FCM SDK中。强烈建议您升级到FCM SDK。

如何将旧的Android应用程序从GCM更新到FCM

来自Google says

  

将您的GCM项目导入为Firebase项目:

     

在Firebase控制台中,选择导入Google项目

     

从现有项目列表中选择您的GCM项目,然后选择   添加Firebase

     

在Firebase欢迎屏幕中,选择将Firebase添加到Android   应用

     

提供您的包裹名称和SHA-1,然后选择添加应用。一个新的   您的Firebase应用程序的google-services.json文件已下载。

     

选择继续,然后按照添加详细说明进行操作   Android Studio中的Google服务插件。

答案 1 :(得分:32)

更新:最近通过电子邮件宣布GCM现已弃用,将于明年(2019年)完全删除,所有GCM用户都应开始迁移到FCM。有关详细信息,请参阅我的回答here

除了Pritam Baral's answer之外,请注意FCM的核心由GCM本身组成。没有实际需要迁移到它,但鼓励它,因为迁移到FCM时,所有与它相关的功能都可以使用。在提及Firebase Official Pricings Page时,免费所包含的功能包括:

  

分析,应用索引,身份验证,动态链接,FCM,邀请,通知,崩溃报告,&远程配置

GCM and FCM FAQs中所述,预IO GCM实施在未来仍应保留更长时间:

  

我们将继续支持当前版本的GCM Android和iOS SDK,因为我们知道很多开发人员现在都在使用GCM SDK来处理通知,而客户端应用升级需要时间。

     

但是所有新的客户端功能都将仅添加到FCM SDK中。强烈建议您升级到FCM SDK。

根据最近的highlights

  

Firebase Cloud Messaging构建并改进了Google Cloud Messaging API。您可以继续使用com.google.android.gms.gcm使用Google Cloud Messaging,但我们建议您将upgrading用于com.google.firebase:firebase-messaging。

答案 2 :(得分:4)

云基础架构大多保持不变,因此现有的GCM应用程序应继续正常运行。虽然我还没有发现谷歌提出的弃用政策,但Google(以及他们没有理由)打破现有的GCM基础设施/ SDK /代码是不寻常的。

FCM似乎是更好的GCM版本,可在多个平台上使用(甚至是网络!),并且设置更简单(与GCM相比)。移植指南适用于AndroidiOS

答案 3 :(得分:2)

Google已扩展GCM,以便向Android以外的多个平台发送消息:iOS和Chrome。 Firebase以跨平台而闻名,因此FCM现在非常适合Firebase专为Android,iOS和移动网络设计的功能。

FCM

  • 它是GCM的预先/改进版本,但使用新品牌名称Firebase
  • 非常简单/简化客户端开发
  • 无服务器控制台,任何人都可以向特定设备发送通知
  • 通知有效载荷:4KB,消息有效载荷:2KB。请注意,该通知也包括设备和应用信息。
  • 如果设备处于离线状态,则每台设备存储100条通知/消息。

答案 4 :(得分:-1)

  

Firebase云消息传递(FCM)是GCM的新版本。它继承了   可靠且可扩展的GCM基础架构以及新功能!看到   常见问题解答了解更多。如果要在新应用中集成消息,   从FCM开始。强烈建议GCM用户升级到FCM,   为了从今天和未来的新FCM功能中受益。

  1. FCM是Firebase品牌下的新版GCM。它继承了GCM的核心基础架构,以确保我们继续在Android,iOS和Chrome上可靠地传递消息。

  2. 是的,GCM的某些功能已被弃用,但它们支持所有以前的客户。

  3. 要从GCM SDK升级到FCM SDK,请参阅迁移指南Android
  4. 了解更多信息。https://developers.google.com/cloud-messaging/faq