Firebase推送通知analytics_label接收、曝光、打开数均为0,求排查
问题排查:FCM通知analytics_label数据无统计记录
可能遗漏的步骤及排查要点
1. 补充Android端FCM核心依赖
你当前的依赖清单缺少FCM核心SDK,通知相关的分析事件需要依赖它完成上报,需添加:
implementation 'com.google.firebase:firebase-messaging'
2. 确认Firebase Analytics初始化完成
在应用的Application类中确保Analytics已初始化:
import com.google.firebase.analytics.FirebaseAnalytics; public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); // 初始化Analytics FirebaseAnalytics.getInstance(this); } }
同时检查google-services.json文件是否正确放置在app/目录下,文件内的项目ID、应用ID等配置需与Firebase控制台完全一致。
3. 检查通知处理逻辑的事件上报
- 若应用处于后台时由系统自动展示通知:FCM会自动上报
notification_received、notification_opened等事件,但前提是FCM和Analytics SDK配置正常。 - 若你自定义了通知接收逻辑(重写
FirebaseMessagingService的onMessageReceived),需要手动触发Analytics事件:
@Override public void onMessageReceived(RemoteMessage remoteMessage) { super.onMessageReceived(remoteMessage); // 上报通知接收事件 FirebaseAnalytics analytics = FirebaseAnalytics.getInstance(this); Bundle params = new Bundle(); params.putString("analytics_label", remoteMessage.getFcmOptions().getAnalyticsLabel()); analytics.logEvent(FirebaseAnalytics.Event.NOTIFICATION_RECEIVED, params); // 处理通知点击时,在跳转页面中上报打开事件 // analytics.logEvent(FirebaseAnalytics.Event.NOTIFICATION_OPEN, params); }
4. 注意Analytics数据的延迟特性
Firebase Analytics数据存在1-24小时的统计延迟,不要刚发送通知就查看报告,等待一段时间后再刷新控制台。
5. 核对analytics_label的准确性
确保控制台筛选的标签与发送时的test-label完全匹配(大小写、特殊字符均需一致),避免因拼写错误导致数据无法匹配。
6. 确认设备的Analytics上报状态
- 测试设备未开启「限制广告跟踪」功能,该选项会阻止Analytics数据上报
- 设备处于联网状态,能正常与Firebase服务器通信
- 前往Firebase控制台「Analytics」->「事件」页面,查看是否有
notification_received、notification_opened等基础事件产生,确认底层上报链路是否正常
内容的提问来源于stack exchange,提问作者theboyonfire
相关产品推荐
相关产品推荐

