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

Flutter Android端如何彻底禁用Firebase自动screen_view事件追踪

Flutter Android端彻底禁用Firebase自动screen_view追踪方案

你之前在AndroidManifest.xml中添加的配置仅能禁用原生Firebase SDK层基于Activity生命周期监听触发的自动屏幕上报,无法拦截Flutter插件层主动触发的自动上报。你看到的启动时Logging screen view with name, class: /, Flutter日志,就是Flutter版firebase_analytics插件默认开启的自动追踪逻辑触发的,按以下步骤操作即可彻底关闭:

  • 第一步:保留原有Manifest配置
    确认<application>标签下的配置存在,该配置负责拦截原生SDK自身的自动上报逻辑:

    <meta-data 
      android:name="google_analytics_automatic_screen_reporting_enabled" 
      android:value="false" />
    
  • 第二步:关闭Flutter插件层的自动屏幕追踪(核心步骤)
    打开Android入口文件MainActivity,在引擎初始化阶段主动关闭插件的自动上报能力,根据你使用的语言选择对应代码:
    Kotlin版本(默认创建的Flutter项目默认使用Kotlin)

    import io.flutter.embedding.android.FlutterActivity
    import io.flutter.embedding.engine.FlutterEngine
    import io.flutter.plugins.firebase.analytics.FlutterFirebaseAnalyticsPlugin
    
    class MainActivity: FlutterActivity() {
        override fun configureFlutterEngine(flutterEngine: FlutterEngine) {
            super.configureFlutterEngine(flutterEngine)
            // 禁用插件层自动screen_view上报
            flutterEngine.plugins.get(FlutterFirebaseAnalyticsPlugin::class.java)
                ?.setAutomaticScreenReportingEnabled(false)
        }
    }
    

    Java版本

    import io.flutter.embedding.android.FlutterActivity;
    import io.flutter.embedding.engine.FlutterEngine;
    import io.flutter.plugins.firebase.analytics.FlutterFirebaseAnalyticsPlugin;
    import androidx.annotation.NonNull;
    
    public class MainActivity extends FlutterActivity {
        @Override
        public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
            super.configureFlutterEngine(flutterEngine);
            FlutterFirebaseAnalyticsPlugin analyticsPlugin =
                    (FlutterFirebaseAnalyticsPlugin) flutterEngine.getPlugins().get(FlutterFirebaseAnalyticsPlugin.class);
            if (analyticsPlugin != null) {
                analyticsPlugin.setAutomaticScreenReportingEnabled(false);
            }
        }
    }
    
  • 第三步:移除路由配置中的自动上报观察者
    如果你使用了Navigator、GoRouter、AutoRoute等路由方案,检查路由观察者列表,删除FirebaseAnalyticsObserver相关配置,否则路由跳转时该观察者会自动触发屏幕上报。

验证注意事项

必须完全卸载设备上的旧安装包,重新执行全量构建安装再验证,禁止使用热重载、热重启——这类操作不会重新初始化Flutter引擎,配置不会生效。
配置生效后,应用启动阶段不会再出现V/FA级别的自动screen_view日志,后续手动调用FirebaseAnalytics.instance.logScreenView()上报的屏幕事件会正常发送,日志格式和你手动埋点的其他事件保持一致。

内容的提问来源于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 21:36:38