Files
zhini_im/友盟问题排查报告.txt
rw0067680 c01808ac21 first commit
Change-Id: Ib7c2ab10a2562044fcaf9879388a6cbc1db6ac61
2025-12-23 10:00:49 +08:00

167 lines
5.6 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
================================================================================
友盟统计问题排查报告
================================================================================
排查时间: 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. 确认数据延迟时间(通常几分钟)
================================================================================
报告结束
================================================================================