Firebase 云信息传递
Firebase 云信息传递 (FCM) 是一种跨平台消息传递解决方案,可供您免费、可靠地传递消息。
本文旨在对FCM连接配置做一个快速、简短有效的说明,了解FCM在项目中的使用。
主要功能
- 发送通知消息或数据消息
- 通用消息定位
- 从客户端应用发送消息
工作原理:FCM 实现包括用于发送和接收的两个主要组件
- 一个可信赖的环境,例如 Cloud Functions for Firebase 或用于构建、定位和发送消息的应用服务器
- 接收消息的 iOS、Android 或网页 (JavaScript) 客户端应用
您可以通过 Admin SDK 或 HTTP API 和 XMPP API
发送消息。为了测试或发送具有强大内置定位和分析功能的营销或互动消息,您还可以使用通知编辑器。
IOS
面向 iOS 应用的设置
对于 iOS 客户端应用,您可通过两种互补的方式实现 Firebase 云消息传递:
- 通过 Firebase 云消息传递 APNs 接口接收不超过 4KB 的基本推送消息。
- 在前台应用中发送上行消息和/或接收下行数据负载,最高 4KB。
Firebase 云消息传递中的方法调配
FCM SDK 在两个关键环节执行方法调配:映射 APNs 令牌到 FCM 注册令牌,以及在下行消息回调处理期间捕获分析数据。
将 Firebase 添加至您的 iOS 项目
- 将 Firebase 添加至您的应用
- 添加 SDK
- 上传您的 APNs 身份验证密钥
- 在您的应用中初始化 Firebase
- 注册以接收远程通知
获取注册令牌
- 检索当前注册令牌
- 监控令牌的生成
- 导入现有的用户 APNs 令牌
Android
- 设置 Firebase 和 FCM SDK
- 修改您的应用清单
- 获取设备注册令牌
- 检查 Google Play 服务
FCM服务器
Firebase 云消息传递的服务器端包含两个组件
- 由 Google 提供的 FCM 服务器
- 应用服务器或其他受信任的环境,例如 Cloud Functions for Firebase
受信任的服务器环境的作用
为了能编写使用 Firebase 云消息传递的客户端应用,您必须拥有一个满足以下标准的服务器环境
- 能够与您的客户端通信。
- 能够向 FCM 服务器发送格式正确的消息请求。
- 能够使用指数退避算法处理请求和重新发送请求。
- 能够安全存储服务器密钥和客户端注册令牌。请注意,切勿在任何客户端代码中包含服务器密钥。
- 对于 XMPP,服务器必须能生成消息 ID 来唯一标识它发送的每条消息(FCM HTTP 连接服务器会生成消息 ID
并在响应时返回这些 ID)。XMPP 消息 ID 对于每个发送者 ID 而言都应是唯一的。