Firebase prod环境Flutter应用无分析数据显示问题求助
Firebase Prod环境分析数据不显示的排查方案(Flutter Android)
1. 核对Prod环境的google-services.json配置
- 确保文件是从Firebase控制台Prod项目单独下载的,而非复用dev/qa环境的配置文件
- 检查文件内
project_info节点的project_id、project_number、firebase_url是否与Prod项目完全匹配 - 确认
client节点中的package_name和Prod构建的正式包名完全一致(注意Flutter多环境配置下,Prod包名可能不带.dev/.qa后缀)
2. 验证Prod Flavor构建配置
如果项目用Flavor区分环境,检查android/app/build.gradle中的Prod配置:
flavorDimensions "environment" productFlavors { prod { dimension "environment" applicationId "com.yourcompany.yourapp" // 正式包名 resValue "string", "firebase_performance_collection_enabled", "true" } }
- 打包时确认指定了Prod flavor,比如执行
flutter build apk --flavor prod,或在IDE中选择Prod构建变体
3. 检查Firebase控制台Prod项目设置
- 进入Prod项目的分析模块,确认服务已启用(部分新创建项目可能需手动开启)
- 查看数据共享设置,确保未限制分析数据的收集权限
4. 排查代码中的Prod环境限制
- 确认代码中未针对Prod/Release模式禁用分析收集:
// 错误示例:别在Release模式下关闭分析 // if (kReleaseMode) FirebaseAnalytics.instance.setAnalyticsCollectionEnabled(false); // 正确配置 void main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); FirebaseAnalytics.instance.setAnalyticsCollectionEnabled(true); runApp(MyApp()); }
- 检查是否遗漏Firebase初始化代码,确保
Firebase.initializeApp()在runApp()前执行
5. 设备与网络环境验证
- 使用物理设备测试Prod版本(模拟器可能存在数据上报延迟或权限限制)
- 确保设备无代理/VPN拦截Firebase请求,且已授予应用网络权限
- Android 13+设备需确认已申请
APP_TRACKING_TRANSPARENCY权限,且用户允许应用跟踪
6. 查看调试日志
- 连接Prod版本设备,执行命令过滤Firebase日志:
adb logcat -s FirebaseAnalytics FirebaseCore
- 查找是否存在认证失败、配置错误、数据发送失败等报错信息
- 开启Firebase调试模式验证上报:
adb shell setprop debug.firebase.analytics.app com.yourcompany.yourapp
然后在Firebase控制台事件调试页面查看是否有Prod设备的事件数据
7. 等待数据延迟
Firebase分析数据存在几小时到24小时的延迟,刚发布的Prod版本无需立即排查,等待一段时间后再确认数据是否显示
内容的提问来源于stack exchange,提问作者Mari Selvan
相关产品推荐
相关产品推荐

