📜  Firebase云消息传递

📅  最后修改于: 2021-01-02 03:56:23             🧑  作者: Mango

Firebase云消息传递

Firebase Cloud Messaging(FCM)是一种跨平台的消息传递解决方案,可以可靠地免费发送消息。它正式称为Google Cloud Messaging,用于Android,iOS和Web应用程序。

该服务由Google的子公司Firebase提供,并且在2014年10月21日,Firebase宣布已被Google收购(未披露金额)。官方的Google Cloud Messaging网站演示了Firebase Cloud Messaging(FCM)作为GCM的新版本。

如果我们使用的是Google Cloud Messaging(GCM)服务器和客户端API,则有一个坏消息,那就是该服务已被删除,Google计划在2019年4月停止“大多数” GCM服务。使用GCM,那么我们应该立即开始将项目迁移到FCM,并在2019年4月之前完成迁移。

FCM是一种免费的跨平台消息传递解决方案,它使我们能够向用户发送推送通知,而不必担心服务器代码。通过将FCM与Firebase的Notification Composer配合使用(如下面的屏幕快照所示),用户可以创建针对用户群特定部分的通知,而通常无需编写任何特定代码。使用FCM:

  • 我们可以发送数据消息和通知消息。
  • 我们可以为单个设备,设备组或订阅某个主题的设备分发消息。
  • 我们可以通过FCM的节电型连接和可靠的通道将聊天,确认和其他消息从设备发送回服务器。

FCM与GCM有何不同?

  • 在FCM中,无需编写我们自己的注册或订阅重试逻辑。
  • 无需在FCM中明确声明“接收器”。
  • 无需初始化注册令牌,因为注册令牌的生成由库本身处理。
  • FCM通过Web控制台-Firebase通知提供了无服务器通知解决方案。该Web控制台将使我们想起Parse Push控制台。

它是如何工作的?

FCM实现包含两个主要组件,用于发送和接收。第一个是受信任的环境,例如用于Firebase的Cloud Function或在其上构建,定位和发送消息的应用服务器(本质上是服务器端),另一个是可接收消息的android客户端应用。如果我们使用Cloud Function或Java代码实现自己的服务器代码,则可以通过Firebase Admin SDK或FCM服务器协议发送消息。

我们还可以使用Notification Composer进行测试,或通过强大的内置定位和分析功能发送市场营销或参与度消息。

实施路径

1)设置FCM SDK

根据我们平台的设置说明,在我们的应用程序上设置Firebase和FCM。

2)开发我们的客户应用

在我们的客户端应用程序中,我们必须添加消息处理,主题订阅逻辑或其他可选功能。在开发过程中,我们可以轻松地从Notification Composer发送文本消息。

3)开发我们的应用服务器

我们需要决定是否要使用Firebase Admin SDK或服务器协议之一来创建我们的发送逻辑,即用于身份验证,构建发送请求,处理响应等的逻辑,并在我们受信任的环境中构建该逻辑。

4)关于我们自己的应用服务器的开发

它将为我们提供服务器环境的基础知识,但是我们不会编写任何代码。