您的服务器环境和 FCM

Firebase Cloud Messaging 的服务器端包含两个组件:

  • 由 Google 提供的 FCM 后端
  • 您的应用服务器或运行服务器逻辑的其他可信服务器环境,例如 Cloud Functions for Firebase 或由 Google 管理的其他云环境。

应用服务器或受信任的服务器环境向 FCM 后端发送消息请求,然后该后端再将消息发送到用户设备上运行的客户端应用。

受信任的服务器环境的要求

您的应用服务器环境必须符合以下条件:

  • 能够向 FCM 后端发送格式正确的消息请求。
  • 能够使用指数退避算法处理请求和重新发送请求。
  • 能够安全地存储服务器授权凭据和客户端注册令牌。

选择服务器选项

您需要决定与 FCM 服务器进行交互的方式:使用 Firebase Admin SDK 或使用原始协议。建议使用 Firebase Admin SDK,因为它支持各种流行的编程语言,而且处理身份验证和授权的方法非常便捷。

FCM 服务器交互的选项包括:

FCMFirebase Admin SDK

Admin FCM API 可处理后端身份验证工作,同时便于发送消息和管理主题订阅。借助 Firebase Admin SDK,您可以执行以下操作:

  • 向单个设备发送消息
  • 向主题和与一个或多个主题匹配的条件语句发送消息。
  • 为设备订阅和退订主题
  • 针对不同目标平台构建量身定制的消息载荷。

Admin Node.js SDK 提供了用于向设备组发送消息的方法。

如需设置 Firebase Admin SDK,请参阅Firebase Admin SDK 添加到您的服务器。如果您已有 Firebase 项目,请从添加 SDK 开始。此外,请务必在项目的 Cloud Messaging 设置页面中启用 Cloud Messaging API。然后,安装 Firebase Admin SDK 后,您就可以开始将逻辑写入构建发送请求 (send request)

FCM 服务器协议

FCM 为喜欢原始服务器协议的开发者提供了 FCM HTTP v1 API

如需发送消息,应用服务器需发出包含 HTTP 标头和 HTTP 正文(由 JSON 键值对组成)的 POST 请求。 如需详细了解标头和正文选项,请参阅构建应用服务器发送请求