Flutter安卓应用中Firebase Analytics无法自动采集数据问题
Android端Firebase Analytics无法自动采集
user_engagement、first_open数据的排查方案 问题场景
iOS应用可自动采集user_engagement、first_open等Firebase Analytics事件,但安卓端完全无法采集这类自动事件。除firebase_analytics外,firebase_auth、firebase_storage、firebase_messaging等其他Firebase模块在iOS和安卓端均能正常工作。
当前代码配置
main.dart初始化代码
await Firebase.initializeApp( options: DefaultFirebaseOptions.currentPlatform, );
即使移除options参数仅调用Firebase.initializeApp(),问题依然存在。
pubspec.yaml依赖
dependencies: firebase_core: ^2.15.0 firebase_analytics: ^10.4.5 firebase_auth: ^4.7.2 firebase_storage: ^11.2.5 firebase_messaging: ^14.6.5 firebase_app_check: ^0.1.5+1
排查修复步骤
- 检查安卓端Google服务配置
确保android/app/google-services.json是从Firebase控制台正确下载的文件,且文件中包名与安卓应用的applicationId完全一致。若包名有变更,需重新下载配置文件替换。 - 验证安卓Manifest配置
确认AndroidManifest.xml中已添加必要权限及Analytics相关配置:<!-- 网络权限,用于上报分析数据 --> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 启用Analytics数据采集 --> <application ...> <meta-data android:name="firebase_analytics_collection_enabled" android:value="true" /> </application> - 核对Firebase控制台安卓应用配置
确认控制台中安卓应用的SHA-1、SHA-256指纹已正确添加。即使其他模块正常,Analytics的自动采集可能依赖正确的签名配置。 - 手动触发事件验证
在安卓端手动触发自定义事件,测试Analytics是否能正常上报:
若自定义事件能在Firebase控制台实时收到,说明自动采集的配置存在问题;若自定义事件也收不到,说明Analytics基础初始化有故障。FirebaseAnalytics.instance.logEvent( name: 'test_analytics_event', parameters: {'test_param': 'sample_value'}, ); - 检查安卓原生SDK版本兼容性
查看android/build.gradle中com.google.firebase:firebase-analytics的版本,确保与Flutter插件依赖的版本匹配,避免版本冲突导致采集失败。 - 验证App Check配置(若启用)
若使用firebase_app_check,确保安卓端已正确配置验证提供者(如SafetyNet或Play Integrity),且Firebase控制台已允许对应的验证来源。错误的App Check配置可能拦截Analytics数据上报。 - 查看Logcat日志定位问题
过滤Logcat中的FirebaseAnalytics关键字,查看是否存在权限报错、网络异常或配置错误的提示,日志信息可直接定位问题根源。
内容的提问来源于stack exchange,提问作者Yesterday BetterThan
相关产品推荐
相关产品推荐

