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

FCM推送场景下Firebase Analytics未采集notification_open/dismiss事件咨询

FCM通知:notification_open与notification_dismiss事件未自动采集的排查方案

我来帮你梳理下可能导致notification_open和notification_dismiss事件没被自动采集的几个常见原因,都是实际排查中经常遇到的:

  • 通知Payload格式不符合要求
    Firebase Analytics自动采集这两个事件的前提是,你发送的是标准的FCM通知消息(包含notification字段),而不是纯数据消息。如果你的服务器只发送了data字段,系统不会自动在通知栏展示消息,自然也就没有用户打开或关闭的交互动作。要确保Payload里包含notification模块,比如:

    {
      "notification": {
        "title": "你的通知标题",
        "body": "你的通知内容"
      },
      "to": "用户设备令牌"
    }
    
  • 后台消息被应用自行处理,未让系统展示通知
    如果你的应用在后台时,通过onMessageReceived自行处理了FCM消息(比如自定义弹窗而非用系统通知栏),Analytics不会自动采集这些交互事件。只有系统自动展示的通知,用户点击或关闭时才会触发自动采集。这种场景下,你需要手动调用Analytics的日志方法来记录事件,比如:

    // 通知被打开时
    firebaseAnalytics.logEvent(FirebaseAnalytics.Event.NOTIFICATION_OPEN, null)
    // 通知被关闭时
    firebaseAnalytics.logEvent("notification_dismiss", null)
    
  • 设备端的通知权限或系统限制
    有些用户可能关闭了应用的通知权限,或者将通知设置为静默模式,导致通知不会出现在通知栏,自然没有交互事件。另外,部分厂商定制的Android系统(比如小米、华为)可能会对通知做拦截或优化,导致Analytics无法捕获这些事件。建议在不同设备上测试,确认通知能正常显示在通知栏。

  • Analytics事件的延迟或过滤
    Firebase Analytics的事件并不是实时同步到控制台的,有时候需要等待1-2小时才能看到数据。另外,检查控制台的事件过滤器,有没有误将notification_open和notification_dismiss排除在外。同时确保你的应用已经正确初始化了Analytics(启动时调用FirebaseAnalytics.getInstance(context))。

  • 通知点击动作是自定义Intent
    如果你的通知设置了自定义的点击动作(比如打开网页、其他应用,而非默认打开当前应用),Analytics也不会自动触发notification_open事件。这种情况下同样需要手动记录该事件。

你可以按照上面的顺序逐一排查,先从Payload格式和通知展示情况入手,这两个是最常见的问题。

内容的提问来源于stack exchange,提问作者HEE JAE CHOI

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 03:31:44