You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter项目中如何读取Firebase Cloud Messaging数据及已发送消息数量

FCM消息统计数据获取方案

首先明确:Flutter侧的FCM客户端SDK未提供直接获取已发送消息数量、送达率等统计指标的API,这类属于服务端/平台侧的统计数据,可通过以下三种可行方案实现:

方案1:服务端自行埋点统计

  • 你所有的FCM消息发送请求都需要通过你自己的服务端调用Firebase Admin SDK触发,不要在客户端直接发消息
  • 服务端每次调用FCM发送接口时,在自有数据库中新增发送记录,记录发送时间、目标用户、消息类型、FCM接口返回的发送状态等字段
  • 按需写统计逻辑,即可得到任意维度的已发送消息数、发送成功率等指标,客户端通过调用你自己的业务接口即可获取对应统计数据

方案2:通过BigQuery同步FCM事件做统计

  • 在Firebase控制台开启FCM数据同步到BigQuery的功能,所有FCM的发送、送达、打开、失败等全链路事件都会自动同步到BigQuery表中
  • 你可以在BigQuery中通过SQL语句自定义统计规则,比如统计某一时间段内全量已发送消息数、分渠道的送达率等
  • 服务端封装BigQuery查询结果,提供接口给Flutter客户端调用即可

方案3:调用Google Cloud Monitoring API拉取官方统计

  • Google Cloud Monitoring原生集成了FCM的核心指标,包括已发送消息数、送达数、失败数、送达率等现成的统计数据
  • 你可以在服务端通过Cloud Monitoring API拉取这些官方统计的指标数据,不需要自行埋点,适合不需要自定义维度统计的场景

注意事项

  • 所有统计数据的获取都必须经过你自己的服务端处理,禁止将Google Cloud的管理密钥、Firebase Admin密钥放到客户端中使用,避免出现权限泄露风险
  • 如果需要统计单用户维度的消息接收数量,可以在客户端本地存储收到的消息计数,也可以在服务端为每个用户维护消息收发记录,按需拉取即可

内容的提问来源于stack exchange,提问作者Erkan Kılıç

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 08:57:01