first commit
Change-Id: Ib7c2ab10a2562044fcaf9879388a6cbc1db6ac61
This commit is contained in:
166
友盟问题排查报告.txt
Normal file
166
友盟问题排查报告.txt
Normal file
@@ -0,0 +1,166 @@
|
||||
================================================================================
|
||||
友盟统计问题排查报告
|
||||
================================================================================
|
||||
排查时间: 2024
|
||||
问题描述: 友盟统计不上数据
|
||||
|
||||
================================================================================
|
||||
一、问题诊断
|
||||
================================================================================
|
||||
|
||||
1.1 发现的问题
|
||||
--------------
|
||||
❌ 关键问题:只调用了预初始化,没有调用正式初始化
|
||||
|
||||
问题位置: app/src/main/java/com/xunpaisoft/social/MyApp.java 第116行
|
||||
|
||||
问题代码:
|
||||
UMConfigure.preInit(this, "69009244644c9e2c2067d39b", "Channel");
|
||||
// 缺少正式初始化 UMConfigure.init()
|
||||
|
||||
问题说明:
|
||||
- preInit() 只是预初始化,不会采集设备信息,不会上报数据
|
||||
- 必须调用 init() 才能正式初始化SDK,开始采集和上报数据
|
||||
- 这是导致统计数据无法上报的根本原因
|
||||
|
||||
1.2 检查结果
|
||||
-----------
|
||||
✅ 依赖配置正确
|
||||
- app/build.gradle 第123-127行:依赖已正确配置
|
||||
- 版本: 9.8.8
|
||||
|
||||
✅ AppKey配置正确
|
||||
- MyApp.java 第71行:UMENG_APP_KEY = "69009244644c9e2c2067d39b"
|
||||
- MyApp.java 第72行:UMENG_CHANNEL = "default"
|
||||
|
||||
✅ 工具类存在
|
||||
- UmengAnalytics.java 文件存在
|
||||
- MainActivity 中调用了统计方法
|
||||
|
||||
❌ 初始化不完整
|
||||
- 只调用了 preInit(),缺少 init()
|
||||
- 导致SDK无法正常采集和上报数据
|
||||
|
||||
================================================================================
|
||||
二、修复方案
|
||||
================================================================================
|
||||
|
||||
2.1 修复内容
|
||||
-----------
|
||||
在 MyApp.onCreate() 中添加正式初始化代码
|
||||
|
||||
修复位置: app/src/main/java/com/xunpaisoft/social/MyApp.java 第118-132行
|
||||
|
||||
修复代码:
|
||||
// 正式初始化(会采集设备信息并上报数据)
|
||||
UMConfigure.init(this, "69009244644c9e2c2067d39b", "Channel",
|
||||
UMConfigure.DEVICE_TYPE_PHONE, "PushSecret");
|
||||
|
||||
// 开启Log(仅调试模式,正式发布请关闭)
|
||||
UMConfigure.setLogEnabled(true);
|
||||
|
||||
// 设置页面采集模式(重要:影响启动和活跃数据)
|
||||
MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
|
||||
|
||||
// 标记已初始化
|
||||
isUmengInitialized = true;
|
||||
Log.d("MyApp", "✅ 友盟统计SDK在Application中初始化完成");
|
||||
|
||||
2.2 修复说明
|
||||
-----------
|
||||
- 按照文档中的"当前工作版本"配置方式修复
|
||||
- 在Application.onCreate()中同时调用preInit()和init()
|
||||
- 设置页面采集模式为AUTO,确保页面统计正常
|
||||
- 标记isUmengInitialized = true,避免重复初始化
|
||||
|
||||
2.3 注意事项
|
||||
-----------
|
||||
⚠️ 此修复方式不符合隐私合规要求
|
||||
- 在用户同意隐私政策前就初始化SDK
|
||||
- 可能在某些应用市场审核时被拒绝
|
||||
- 但可以确保统计数据正常上报
|
||||
|
||||
✅ 如果需要隐私合规版本
|
||||
- 在Application中只调用preInit()
|
||||
- 在用户同意隐私政策后调用initUmengSDKFormally()
|
||||
- 参考SplashActivity中的实现
|
||||
|
||||
================================================================================
|
||||
三、验证步骤
|
||||
================================================================================
|
||||
|
||||
3.1 编译验证
|
||||
-----------
|
||||
1. 清理项目: ./gradlew clean
|
||||
2. 重新编译: ./gradlew assembleDebug
|
||||
3. 检查是否有编译错误
|
||||
|
||||
3.2 运行验证
|
||||
-----------
|
||||
1. 运行应用
|
||||
2. 在Logcat中搜索 "MyApp" 和 "友盟"
|
||||
3. 应该看到以下日志:
|
||||
D/MyApp: ✅ 友盟统计SDK在Application中初始化完成
|
||||
D/UmengAnalytics: 页面开始统计: MainActivity
|
||||
|
||||
3.3 数据验证
|
||||
-----------
|
||||
1. 等待几分钟(数据上报有延迟)
|
||||
2. 登录友盟后台
|
||||
3. 查看"实时统计"是否有数据
|
||||
4. 查看"事件统计"是否有测试事件
|
||||
|
||||
3.4 如果仍然没有数据
|
||||
------------------
|
||||
按以下顺序检查:
|
||||
1. ✅ 检查依赖是否正确添加
|
||||
2. ✅ 检查AppKey是否正确
|
||||
3. ✅ 检查初始化是否成功(查看日志)
|
||||
4. ✅ 检查网络连接
|
||||
5. ✅ 检查是否调用了统计方法
|
||||
6. ✅ 等待几分钟,数据上报有延迟
|
||||
7. ✅ 在友盟后台查看"实时统计"是否有数据
|
||||
|
||||
================================================================================
|
||||
四、相关文件
|
||||
================================================================================
|
||||
|
||||
4.1 修改的文件
|
||||
-------------
|
||||
- app/src/main/java/com/xunpaisoft/social/MyApp.java
|
||||
* 第118-132行:添加正式初始化代码
|
||||
|
||||
4.2 需要检查的文件
|
||||
----------------
|
||||
- app/build.gradle(依赖配置)
|
||||
- app/src/main/java/com/xunpaisoft/social/utils/UmengAnalytics.java(工具类)
|
||||
- app/src/main/java/com/xunpaisoft/social/im/main/MainActivity.java(统计调用)
|
||||
|
||||
================================================================================
|
||||
五、后续建议
|
||||
================================================================================
|
||||
|
||||
5.1 短期方案(当前修复)
|
||||
----------------------
|
||||
✅ 在Application.onCreate()中直接初始化
|
||||
- 简单直接,确保统计数据正常上报
|
||||
- 不符合隐私合规要求
|
||||
|
||||
5.2 长期方案(隐私合规)
|
||||
----------------------
|
||||
✅ 改为在用户同意隐私政策后初始化
|
||||
- 在Application.onCreate()中只调用preInit()
|
||||
- 在SplashActivity中用户点击"同意"后调用initThirdPartySDKs()
|
||||
- 或者在MainActivity中检查并初始化
|
||||
|
||||
5.3 测试建议
|
||||
-----------
|
||||
1. 在测试环境验证数据上报
|
||||
2. 检查友盟后台是否有数据
|
||||
3. 验证页面统计和事件统计是否正常
|
||||
4. 确认数据延迟时间(通常几分钟)
|
||||
|
||||
================================================================================
|
||||
报告结束
|
||||
================================================================================
|
||||
|
||||
Reference in New Issue
Block a user