如何追踪发送FCM通知的对应Firebase账号用户?
FCM通知发送者溯源解决方案
1. 解决GCP Logger查不到FCM日志的问题
你无法检索到相关日志的核心原因是FCM的操作审计日志默认处于关闭状态,需要手动开启:
- 进入GCP控制台的「IAM与管理」-「审计日志」页面
- 在资源筛选栏搜索
Cloud Messaging API (Firebase),选中对应服务 - 右侧配置栏勾选「Admin Read」「Data Read」「Data Write」三个日志类型,保存配置即可生效
- 配置完成后,所有通过Firebase控制台、FCM服务端API发起的通知发送操作都会被自动记录
2. 已开启审计日志后的溯源操作
在GCP日志浏览器中使用以下过滤条件检索日志:
resource.type="audited_resource" resource.labels.service="fcm.googleapis.com"
- 日志条目里的
protoPayload.authenticationInfo.principalEmail字段即为发起本次发送请求的用户/服务账号邮箱,直接对应你Firebase项目内的协作者身份 - 若要定位指定通知,可额外添加过滤条件匹配通知标题、目标设备token、发送时间等特征,比如添加
protoPayload.request.message.notification.title="你的通知标题"即可快速筛选对应记录
3. 未开启审计日志的历史通知处理方案
如果你要溯源的通知是开启审计日志之前发送的,没有可直接检索的官方日志记录,只能通过以下方式补全后续的溯源能力:
- 在自有服务端调用FCM发送接口的逻辑中新增自定义日志落库规则,每次发送时记录操作人ID、通知内容、发送时间、目标用户/设备等字段,自主维护溯源能力
- 若允许协作者直接在Firebase控制台发送通知,必须保持审计日志长期开启,否则后续操作依然无法溯源
内容的提问来源于stack exchange,提问作者malhobayyeb
相关产品推荐
相关产品推荐

