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

手动追踪屏幕时无法覆盖Firebase screen_view参数报错

报错根因

Firebase Analytics 对所有以firebase_为前缀的参数做了保留限制,不允许开发者在自定义埋点中手动传入、覆写这类内置参数。你看到的报错是SDK的内置拦截逻辑触发的——手动上报屏幕视图事件时,直接把firebase_screen、firebase_screen_class作为自定义参数传入了logEvent方法,这两个字段都属于保留前缀的内置参数,会被SDK直接拦截丢弃,无法上报成功。

正确手动实现屏幕追踪的方法

不要在通用事件上报方法里手动拼接firebase_开头的屏幕参数,使用SDK提供的专属屏幕设置API即可,SDK会自动填充对应的内置保留字段,不会触发保留字报错:

  • Android 端实现
    调用FirebaseAnalytics实例的setCurrentScreen方法,传入对应参数即可,示例代码:
    FirebaseAnalytics analytics = FirebaseAnalytics.getInstance(context);
    // 入参依次为:当前页面Activity实例、自定义屏幕名称、自定义屏幕类名
    analytics.setCurrentScreen(currentActivity, "order_pay_page", "PayActivity", null);
    
  • iOS 端实现
    调用Analytics的setScreenName:screenClass:方法即可,示例代码:
    Analytics.setScreenName("order_pay_page", screenClass: "PayViewController")
    
  • 规则说明
    • 自定义的屏幕名、类名不需要加firebase_前缀,SDK内部会自动映射到对应的内置参数字段
    • 屏幕名称长度不能超过40字符,仅支持字母、数字、下划线,首字符必须为字母
    • 调用该API设置屏幕后,后续所有上报的事件都会自动携带当前设置的屏幕参数,不需要在每个事件里重复附加
    • 所有firebase_前缀的内置参数都有对应的专属设置API,永远不要尝试在自定义事件参数列表里直接传入这类保留字段

触发的拦截日志属于SDK正常校验逻辑:

E/FA      (22878): Name starts with reserved prefix. Type, name: event param, firebase_screen
E/FA      (22878): Name starts with reserved prefix. Type, name: event param, firebase_screen_class

替换为专属API调用后,该报错会消失,屏幕数据也会正常同步到Firebase Analytics后台。

内容的提问来源于stack exchange,提问作者BlueLighthouse

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 11:06:18