Google FCM

最近更新时间:2026-05-29 17:12:01

我的收藏
本文将介绍如何完成 Google FCM 离线推送服务厂商配置。

前提条件

开始前,请确认您已具备以下条件:
条件
说明
Google 账号
用于登录 Firebase 控制台。
Android App 包名
Firebase Android 应用包名必须与 Android 工程的 applicationId 保持一致。包名区分大小写,且 Firebase 应用注册后无法更改。Google FCM 推送服务不要求应用先上架应用市场。
Android 运行环境
目标设备或模拟器需支持 Android 6.0(API 23)及以上,并安装 Google Play 服务。
可访问 Google 服务的网络环境
用于访问 Firebase 控制台、下载配置文件、生成服务账号私钥,并在运行时连接 Google Play 服务和 FCM。
腾讯云账号和即时通信 IM 应用权限
用于在腾讯云控制台添加 Google FCM 厂商证书。
后续 Android 工程接入权限
用于在 SDK 接入 阶段集成 TIMPush 和 FCM 推送依赖。

Firebase 控制台配置

提示:
本文配置流程可对照 Firebase 官方 将 Firebase 添加到 Android 项目 操作。

进入 Firebase 控制台

进入 Firebase 控制台,登录 Google 账号。

创建项目并注册 Android 应用

1. 单击创建项目,添加一个新的项目。
说明:
Firebase 会根据项目名称生成项目 ID。项目创建后,项目 ID 无法更改,请在创建前确认命名和用途。创建项目时,建议启用 Google Analytics,以便后续使用 FCM 消息传送报告能力。

2. 进入 Android 应用注册入口。

3. 输入应用信息,注册 Android 应用。
注意:
Android 软件包名称区分大小写,且 Firebase Android 应用注册后无法更改。请确保填写的包名与 Android 工程的 applicationId 完全一致。

4. 下载 google-services.json 配置文件,完成注册。
注意:
后续 SDK 接入时,需将 google-services.json 放置到 Android 工程的模块(应用级)根目录,例如 app/google-services.json,不要放到项目根目录。


生成服务账号私钥

1. 单击应用,进入应用管理。

2. 项目设置中单击服务账号 > 生成新的密钥,生成并下载服务账号私钥 JSON 文件。

注意:
服务账号私钥用于服务端向 FCM 鉴权,请妥善保存。不要将私钥提交到代码仓库、客户端安装包或公开渠道。

确认 FCM API V1 状态

在 Firebase 控制台项目设置 > Cloud Messaging 中,确认 Firebase Cloud Messaging API (V1)已启用。新接入场景请使用 HTTP v1 API 和服务账号私钥进行 FCM 鉴权。
注意:
FCM 旧版 Server Key(HTTP/XMPP)已被弃用。TIMPush 的 Google FCM 通道应使用 HTTP v1 API 和服务账号私钥,请勿混用旧版 Server Key 凭据。

腾讯云控制台配置

添加 Google FCM 厂商证书

登录腾讯云 即时通信 IM 控制台,在推送服务 Push > 推送设置 > 厂商配置中添加 Google FCM 厂商证书,并按控制台要求上传或填写服务账号私钥相关配置。
厂商推送平台
腾讯云即时通信 IM 控制台



选择 FCM 消息类型

FCM 支持通知消息和数据消息。腾讯云控制台默认选择通知消息,可根据业务场景切换消息类型。
消息类型
处理方式
适用建议
通知消息
应用在后台时,FCM SDK 可自动将通知显示到通知面板。
适用于只需要展示基础离线通知的场景,新接入建议优先使用。
数据消息
由客户端应用代码自行处理,FCM 不会自动展示通知。
适用于需要自定义处理业务数据、路由或展示逻辑的场景,接入后需在目标设备上充分测试。
通知消息 + 数据载荷
后台展示通知,同时携带业务参数。
适用于既要展示通知,又要在用户单击通知后传递业务参数的场景。
控制台可通过消息类型选项进行切换:

注意:
FCM 数据消息能力仅支持 TIMPush 7.8 及以上版本的 Pixel 手机,其他厂商设备需自测支持情况。

配额和限频对推送效果的影响

Google FCM 没有国内厂商的私信、公信、服务通讯等消息分类体系,但会对项目、单设备和可折叠消息进行配额和限频管理。若发送频率过高,可能出现限流、延迟、失败或被判定为滥用。
限制维度
官方规则
配置建议
项目级下行配额
FCM HTTP v1 API 默认按项目、按分钟计量,下行消息默认配额为每项目每分钟 60 万 条。超限可能返回 429 RESOURCE_EXHAUSTED / QUOTA_EXCEEDED
服务端发送链路需处理限流、退避和重试,避免短时间流量激增。
单设备发送速率
Android 单设备限制为 240 条/分钟、5000 条/小时。
同一用户的多条业务提醒建议在业务侧合并或降频。
可折叠消息
每台设备、每个应用可突发发送 20 条可折叠消息,之后每 3 分钟补充 1 条。
同步类、状态刷新类消息不要高频重复发送,避免被延迟。
消息类型
通知消息适合基础离线通知;数据消息支持更灵活的自定义处理,但需要客户端完整实现处理逻辑。
新接入优先使用通知消息;需要自定义处理时再评估数据消息。
如果业务需要设置 FCM 通知渠道,后续发送离线推送时可在 SDK API 中设置 Android 8.0 及以上系统的通知渠道 ID。具体 API 使用方式请参见 Android SDK 接入文档中的 配置消息分类(可选)"。具体配额以 Firebase 消息限频 为准。

配置完成检查

完成本篇配置后,请按顺序检查:
检查项
预期结果
包名一致性
Firebase Android 应用包名与 Android 工程 applicationId 完全一致,且大小写一致。
Android 运行环境
目标设备或模拟器满足 Android 6.0(API 23)及以上,并可使用 Google Play 服务。
Firebase 项目
项目 ID 已确认,项目创建后不再需要修改;如需消息传送报告,已启用 Google Analytics。
配置文件
已下载最新 google-services.json,并准备在 SDK 接入阶段放置到模块(应用级)根目录,例如 app/google-services.json
服务账号私钥
已生成并妥善保存服务账号私钥 JSON 文件,未提交到代码仓库或公开渠道。
FCM API V1
已在 Firebase 控制台确认 Firebase Cloud Messaging API (V1) 启用。
腾讯云厂商证书
已在腾讯云控制台添加 Google FCM 证书,并填写或上传正确配置。
消息类型
已根据业务需要选择通知消息或数据消息;使用数据消息时已了解版本和设备限制。
配额和限频
已评估项目级下行配额、单设备发送速率和可折叠消息限制,并在服务端发送链路中处理限流和重试。
旧凭据迁移
未使用已弃用的旧版 Server Key,已使用 HTTP v1 API 和服务账号私钥。
下一步请前往 Android SDK 接入,集成 TIMPush。