513 lines
18 KiB
Plaintext
513 lines
18 KiB
Plaintext
|
|
================================================================================
|
|||
|
|
友盟统计SDK集成配置文档
|
|||
|
|
================================================================================
|
|||
|
|
文档版本: 1.0
|
|||
|
|
创建日期: 2024
|
|||
|
|
用途: 用于排查友盟统计SDK集成问题,适用于项目分支切换时的配置检查
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
一、基本信息
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
1.1 SDK版本
|
|||
|
|
-----------
|
|||
|
|
- 友盟统计SDK版本: 9.8.8
|
|||
|
|
- 必选依赖库版本:
|
|||
|
|
* com.umeng.umsdk:common:9.8.8
|
|||
|
|
* com.umeng.umsdk:asms:1.8.7
|
|||
|
|
- 可选依赖库版本:
|
|||
|
|
* com.umeng.umsdk:uyumao:1.1.4 (高级运营分析功能)
|
|||
|
|
* com.umeng.umsdk:abtest:1.0.1 (ABTest能力)
|
|||
|
|
|
|||
|
|
1.2 AppKey配置
|
|||
|
|
--------------
|
|||
|
|
- AppKey: 69009244644c9e2c2067d39b
|
|||
|
|
- 渠道标识: default (或 "Channel")
|
|||
|
|
- 配置位置: app/src/main/java/com/xunpaisoft/social/MyApp.java
|
|||
|
|
* 常量定义: UMENG_APP_KEY = "69009244644c9e2c2067d39b"
|
|||
|
|
* 常量定义: UMENG_CHANNEL = "default"
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
二、依赖配置 (app/build.gradle)
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
2.1 必需依赖
|
|||
|
|
-----------
|
|||
|
|
在 app/build.gradle 的 dependencies 块中添加:
|
|||
|
|
|
|||
|
|
// 友盟统计SDK - 使用具体版本确保兼容性
|
|||
|
|
implementation 'com.umeng.umsdk:common:9.8.8' // 必选,版本9.4.0以上
|
|||
|
|
implementation 'com.umeng.umsdk:asms:1.8.7' // 必选
|
|||
|
|
implementation 'com.umeng.umsdk:uyumao:1.1.4' // 高级运营分析功能依赖库(可选)
|
|||
|
|
implementation 'com.umeng.umsdk:abtest:1.0.1' // U-App中ABTest能力(可选)
|
|||
|
|
|
|||
|
|
2.2 注意事项
|
|||
|
|
-----------
|
|||
|
|
- 确保依赖版本与SDK版本匹配
|
|||
|
|
- 如果使用Gradle 7.0+,可能需要添加仓库配置
|
|||
|
|
- 检查是否有依赖冲突(特别是与高德地图、腾讯地图SDK的冲突)
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
三、初始化流程
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
3.1 Application中的初始化 (MyApp.java) - 当前工作版本
|
|||
|
|
---------------------------------------------------
|
|||
|
|
位置: app/src/main/java/com/xunpaisoft/social/MyApp.java
|
|||
|
|
方法: onCreate()
|
|||
|
|
行号: 第109-117行
|
|||
|
|
|
|||
|
|
关键代码:
|
|||
|
|
// 预初始化(不会采集设备信息,不会上报数据)
|
|||
|
|
UMConfigure.preInit(this, "69009244644c9e2c2067d39b", "Channel");
|
|||
|
|
|
|||
|
|
// 正式初始化(会采集设备信息并上报数据)
|
|||
|
|
UMConfigure.init(this, "69009244644c9e2c2067d39b", "Channel",
|
|||
|
|
UMConfigure.DEVICE_TYPE_PHONE, "PushSecret");
|
|||
|
|
|
|||
|
|
// 开启Log(仅调试模式,正式发布请关闭)
|
|||
|
|
UMConfigure.setLogEnabled(true);
|
|||
|
|
|
|||
|
|
重要说明(当前工作版本):
|
|||
|
|
- ✅ 预初始化和正式初始化都在 Application.onCreate() 中直接调用
|
|||
|
|
- ✅ 这是老版本的实现方式,简单直接
|
|||
|
|
- ✅ 初始化时机:应用启动时立即初始化,不等待用户同意隐私政策
|
|||
|
|
- ⚠️ 注意:这种方式不符合隐私合规要求,但当前版本可以正常工作
|
|||
|
|
- ⚠️ 如果切换到新版本,需要改为在用户同意隐私政策后初始化
|
|||
|
|
|
|||
|
|
3.2 正式初始化方法 (MyApp.java)
|
|||
|
|
-------------------------------
|
|||
|
|
位置: app/src/main/java/com/xunpaisoft/social/MyApp.java
|
|||
|
|
方法: initUmengSDKFormally()
|
|||
|
|
|
|||
|
|
关键代码:
|
|||
|
|
public static void initUmengSDKFormally() {
|
|||
|
|
if (isUmengInitialized) {
|
|||
|
|
Log.d("MyApp", "友盟统计SDK已经初始化,跳过重复初始化");
|
|||
|
|
return;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
try {
|
|||
|
|
// 正式初始化(会采集设备信息并上报数据)
|
|||
|
|
UMConfigure.init(getApplication(), UMENG_APP_KEY, UMENG_CHANNEL,
|
|||
|
|
UMConfigure.DEVICE_TYPE_PHONE, null);
|
|||
|
|
|
|||
|
|
// 设置日志开关
|
|||
|
|
UMConfigure.setLogEnabled(true);
|
|||
|
|
|
|||
|
|
// 设置页面采集模式(重要:影响启动和活跃数据)
|
|||
|
|
MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO);
|
|||
|
|
|
|||
|
|
// 统计SDK是否支持采集在子进程中打点的自定义事件
|
|||
|
|
UMConfigure.setProcessEvent(true); // 支持多进程打点
|
|||
|
|
|
|||
|
|
// 获取OAID(Android Q设备标识)
|
|||
|
|
UMConfigure.getOaid(getApplication(), new OnGetOaidListener() {
|
|||
|
|
@Override
|
|||
|
|
public void onGetOaid(String oaid) {
|
|||
|
|
Log.d("MyApp", "获取到OAID: " + oaid);
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
isUmengInitialized = true;
|
|||
|
|
|
|||
|
|
// 立即发送一个测试事件
|
|||
|
|
sendTestEvent();
|
|||
|
|
|
|||
|
|
} catch (Exception e) {
|
|||
|
|
Log.e("MyApp", "❌ 友盟统计SDK正式初始化失败", e);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
3.3 初始化状态检查
|
|||
|
|
-----------------
|
|||
|
|
位置: app/src/main/java/com/xunpaisoft/social/MyApp.java
|
|||
|
|
方法: isUmengSDKInitialized()
|
|||
|
|
|
|||
|
|
public static boolean isUmengSDKInitialized() {
|
|||
|
|
return isUmengInitialized;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
3.4 初始化调用位置(当前工作版本)
|
|||
|
|
---------------------------------
|
|||
|
|
1. Application.onCreate() - 主要初始化位置 ✅
|
|||
|
|
- 第109行: UMConfigure.preInit()
|
|||
|
|
- 第113行: UMConfigure.init()
|
|||
|
|
- 第117行: UMConfigure.setLogEnabled(true)
|
|||
|
|
- 这是当前工作版本的主要初始化方式
|
|||
|
|
|
|||
|
|
2. MainActivity.afterViews() - 备用初始化(如果未初始化)
|
|||
|
|
- 代码位置: MainActivity.java 第332-341行
|
|||
|
|
- 代码:
|
|||
|
|
if (!MyApp.isUmengSDKInitialized()) {
|
|||
|
|
MyApp.initUmengSDKFormally();
|
|||
|
|
}
|
|||
|
|
MyApp.setUserPrivacyAgreement(true);
|
|||
|
|
MyApp.checkUmengDataReportStatus(this);
|
|||
|
|
- 作用: 如果Application中初始化失败,在这里进行备用初始化
|
|||
|
|
- 注意: 当前工作版本中,Application.onCreate()已经初始化,这里通常不会执行
|
|||
|
|
|
|||
|
|
3. 测试和调试调用
|
|||
|
|
- MainActivity.afterViews() 第343行: testUmengAnalytics()
|
|||
|
|
- MainActivity.afterViews() 第347行: UmengDebugHelper.checkUmengEnvironment(this)
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
四、工具类配置 (UmengAnalytics.java)
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
4.1 工具类位置
|
|||
|
|
-------------
|
|||
|
|
app/src/main/java/com/xunpaisoft/social/utils/UmengAnalytics.java
|
|||
|
|
|
|||
|
|
4.2 主要方法
|
|||
|
|
-----------
|
|||
|
|
1. 页面统计:
|
|||
|
|
- onPageStart(Context context, String pageName)
|
|||
|
|
- onPageEnd(Context context, String pageName)
|
|||
|
|
|
|||
|
|
2. 事件统计:
|
|||
|
|
- onEvent(Context context, String eventId)
|
|||
|
|
- onEvent(Context context, String eventId, String eventLabel)
|
|||
|
|
- onEvent(Context context, String eventId, Map<String, String> eventMap)
|
|||
|
|
|
|||
|
|
3. 用户相关:
|
|||
|
|
- setUserId(Context context, String userId)
|
|||
|
|
- onProfileSignOff(Context context)
|
|||
|
|
|
|||
|
|
4. 其他配置:
|
|||
|
|
- setSessionContinueMillis(Context context, long timeout)
|
|||
|
|
- setLogEnabled(boolean enabled)
|
|||
|
|
- getSDKVersion()
|
|||
|
|
|
|||
|
|
4.3 使用示例
|
|||
|
|
-----------
|
|||
|
|
// 页面统计
|
|||
|
|
UmengAnalytics.onPageStart(this, "MainActivity");
|
|||
|
|
UmengAnalytics.onPageEnd(this, "MainActivity");
|
|||
|
|
|
|||
|
|
// 事件统计
|
|||
|
|
UmengAnalytics.onEvent(this, "button_click", "login");
|
|||
|
|
|
|||
|
|
// 自定义事件
|
|||
|
|
Map<String, String> eventMap = new HashMap<>();
|
|||
|
|
eventMap.put("user_type", "vip");
|
|||
|
|
eventMap.put("action", "purchase");
|
|||
|
|
UmengAnalytics.onEvent(this, "user_action", eventMap);
|
|||
|
|
|
|||
|
|
// 设置用户ID
|
|||
|
|
UmengAnalytics.setUserId(this, userId);
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
五、AndroidManifest.xml配置
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
5.1 权限配置
|
|||
|
|
-----------
|
|||
|
|
友盟统计SDK需要以下权限(通常已在AndroidManifest.xml中配置):
|
|||
|
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
|
|||
|
|
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
|
|||
|
|
<uses-permission android:name="android.permission.INTERNET"/>
|
|||
|
|
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
|
|||
|
|
|
|||
|
|
5.2 埋点验证配置(可选)
|
|||
|
|
-----------------------
|
|||
|
|
在 <application> 标签内添加:
|
|||
|
|
<!-- 友盟统计埋点验证配置 -->
|
|||
|
|
<meta-data
|
|||
|
|
android:name="UMENG_ANALYTICS_DEBUG_MODE"
|
|||
|
|
android:value="false" />
|
|||
|
|
|
|||
|
|
注意: 生产环境应设置为 false
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
六、关键配置检查清单
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
6.1 依赖检查
|
|||
|
|
-----------
|
|||
|
|
□ app/build.gradle 中是否添加了友盟统计SDK依赖?
|
|||
|
|
□ 依赖版本是否为 9.8.8?
|
|||
|
|
□ 是否添加了 asms:1.8.7 依赖?
|
|||
|
|
|
|||
|
|
6.2 初始化检查
|
|||
|
|
-----------
|
|||
|
|
□ Application.onCreate() 中是否调用了 UMConfigure.preInit()?
|
|||
|
|
□ Application.onCreate() 中是否调用了 UMConfigure.init()?(老版本)
|
|||
|
|
□ 或者是否在用户同意隐私政策后调用了 initUmengSDKFormally()?(新版本)
|
|||
|
|
□ 是否设置了 UMConfigure.setLogEnabled(true)?(调试模式)
|
|||
|
|
□ 是否设置了 MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO)?
|
|||
|
|
|
|||
|
|
6.3 AppKey检查
|
|||
|
|
-----------
|
|||
|
|
□ MyApp.java 中的 UMENG_APP_KEY 是否正确?
|
|||
|
|
□ MyApp.java 中的 UMENG_CHANNEL 是否正确?
|
|||
|
|
□ 是否与友盟后台配置的AppKey一致?
|
|||
|
|
|
|||
|
|
6.4 工具类检查
|
|||
|
|
-----------
|
|||
|
|
□ UmengAnalytics.java 是否存在?
|
|||
|
|
□ 是否在页面生命周期中调用了 onPageStart() 和 onPageEnd()?
|
|||
|
|
□ 是否在关键事件中调用了 onEvent()?
|
|||
|
|
|
|||
|
|
6.5 网络权限检查
|
|||
|
|
-----------
|
|||
|
|
□ AndroidManifest.xml 中是否配置了 INTERNET 权限?
|
|||
|
|
□ AndroidManifest.xml 中是否配置了 ACCESS_NETWORK_STATE 权限?
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
七、常见问题排查
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
7.1 SDK未初始化
|
|||
|
|
--------------
|
|||
|
|
症状: 日志显示 "友盟统计SDK未初始化,跳过页面统计"
|
|||
|
|
排查:
|
|||
|
|
1. 检查 Application.onCreate() 中是否调用了初始化方法
|
|||
|
|
2. 检查 isUmengSDKInitialized() 返回值
|
|||
|
|
3. 查看 Logcat 中是否有初始化相关的日志
|
|||
|
|
4. 确认是否在用户同意隐私政策后调用初始化(新版本)
|
|||
|
|
|
|||
|
|
7.2 数据未上报
|
|||
|
|
--------------
|
|||
|
|
症状: 友盟后台看不到数据
|
|||
|
|
排查:
|
|||
|
|
1. 检查网络连接是否正常
|
|||
|
|
2. 检查 AppKey 是否正确
|
|||
|
|
3. 检查是否开启了日志: UMConfigure.setLogEnabled(true)
|
|||
|
|
4. 查看 Logcat 中是否有上报相关的日志
|
|||
|
|
5. 确认是否设置了页面采集模式: MobclickAgent.setPageCollectionMode()
|
|||
|
|
6. 等待几分钟,数据上报有延迟
|
|||
|
|
|
|||
|
|
7.3 依赖冲突
|
|||
|
|
-----------
|
|||
|
|
症状: 编译错误或运行时崩溃
|
|||
|
|
排查:
|
|||
|
|
1. 检查是否有重复的依赖
|
|||
|
|
2. 检查是否与其他SDK(如高德地图、腾讯地图)冲突
|
|||
|
|
3. 查看 build.gradle 中的依赖树: ./gradlew :app:dependencies
|
|||
|
|
4. 检查 packagingOptions 配置
|
|||
|
|
|
|||
|
|
7.4 页面统计不准确
|
|||
|
|
-----------------
|
|||
|
|
症状: 页面停留时间或访问次数不准确
|
|||
|
|
排查:
|
|||
|
|
1. 检查是否在 onResume() 中调用了 onPageStart()
|
|||
|
|
2. 检查是否在 onPause() 中调用了 onPageEnd()
|
|||
|
|
3. 检查页面名称是否唯一且有意义
|
|||
|
|
4. 确认页面采集模式设置正确
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
八、日志关键字
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
8.1 初始化相关日志
|
|||
|
|
-----------------
|
|||
|
|
搜索关键字: "MyApp", "友盟", "UMConfigure", "MobclickAgent"
|
|||
|
|
正常日志示例:
|
|||
|
|
D/MyApp: 开始正式初始化友盟统计SDK
|
|||
|
|
D/MyApp: AppKey: 69009244644c9e2c2067d39b
|
|||
|
|
D/MyApp: Channel: default
|
|||
|
|
D/MyApp: ✅ 友盟统计SDK正式初始化完成
|
|||
|
|
D/MyApp: ✅ 开始采集和上报数据
|
|||
|
|
|
|||
|
|
8.2 页面统计日志
|
|||
|
|
---------------
|
|||
|
|
搜索关键字: "UmengAnalytics", "页面开始统计", "页面结束统计"
|
|||
|
|
正常日志示例:
|
|||
|
|
D/UmengAnalytics: 页面开始统计: MainActivity
|
|||
|
|
D/UmengAnalytics: 页面结束统计: MainActivity
|
|||
|
|
|
|||
|
|
8.3 事件统计日志
|
|||
|
|
---------------
|
|||
|
|
搜索关键字: "事件统计", "onEvent"
|
|||
|
|
正常日志示例:
|
|||
|
|
D/UmengAnalytics: 事件统计: button_click, 标签: login
|
|||
|
|
|
|||
|
|
8.4 错误日志
|
|||
|
|
-----------
|
|||
|
|
搜索关键字: "❌", "失败", "错误"
|
|||
|
|
常见错误:
|
|||
|
|
E/MyApp: ❌ 友盟统计SDK正式初始化失败
|
|||
|
|
W/UmengAnalytics: 友盟统计SDK未初始化,跳过页面统计
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
九、调试工具
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
9.1 UmengDebugHelper
|
|||
|
|
-------------------
|
|||
|
|
位置: app/src/main/java/com/xunpaisoft/social/utils/UmengDebugHelper.java
|
|||
|
|
功能: 检查友盟统计环境
|
|||
|
|
调用: UmengDebugHelper.checkUmengEnvironment(context);
|
|||
|
|
|
|||
|
|
9.2 MyApp.checkUmengDataReportStatus()
|
|||
|
|
------------------------------------
|
|||
|
|
位置: app/src/main/java/com/xunpaisoft/social/MyApp.java
|
|||
|
|
功能: 检查友盟数据上报状态
|
|||
|
|
调用: MyApp.checkUmengDataReportStatus(context);
|
|||
|
|
|
|||
|
|
9.3 测试方法
|
|||
|
|
-----------
|
|||
|
|
在 MainActivity.afterViews() 中:
|
|||
|
|
// 测试友盟统计功能
|
|||
|
|
testUmengAnalytics();
|
|||
|
|
|
|||
|
|
// 友盟统计环境检查
|
|||
|
|
UmengDebugHelper.checkUmengEnvironment(this);
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
十、关键文件清单
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
10.1 核心文件
|
|||
|
|
------------
|
|||
|
|
1. app/src/main/java/com/xunpaisoft/social/MyApp.java
|
|||
|
|
- 友盟SDK初始化
|
|||
|
|
- AppKey配置
|
|||
|
|
- 初始化状态管理
|
|||
|
|
|
|||
|
|
2. app/src/main/java/com/xunpaisoft/social/utils/UmengAnalytics.java
|
|||
|
|
- 友盟统计工具类
|
|||
|
|
- 封装统计方法
|
|||
|
|
|
|||
|
|
3. app/src/main/java/com/xunpaisoft/social/utils/UmengDebugHelper.java
|
|||
|
|
- 调试工具类
|
|||
|
|
- 环境检查
|
|||
|
|
|
|||
|
|
4. app/build.gradle
|
|||
|
|
- 依赖配置
|
|||
|
|
|
|||
|
|
5. app/src/main/AndroidManifest.xml
|
|||
|
|
- 权限配置
|
|||
|
|
- 埋点验证配置
|
|||
|
|
|
|||
|
|
10.2 使用位置
|
|||
|
|
------------
|
|||
|
|
1. app/src/main/java/com/xunpaisoft/social/im/main/MainActivity.java
|
|||
|
|
- 页面统计
|
|||
|
|
- 初始化检查
|
|||
|
|
|
|||
|
|
2. 其他Activity和Fragment
|
|||
|
|
- 页面统计调用
|
|||
|
|
- 事件统计调用
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
十一、版本差异说明
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
11.1 老版本(当前工作版本)✅ 正在使用
|
|||
|
|
------------------------------------
|
|||
|
|
- 在 Application.onCreate() 中直接调用预初始化和正式初始化
|
|||
|
|
- 代码位置: MyApp.onCreate() 第109-117行
|
|||
|
|
- 关键代码:
|
|||
|
|
UMConfigure.preInit(this, "69009244644c9e2c2067d39b", "Channel");
|
|||
|
|
UMConfigure.init(this, "69009244644c9e2c2067d39b", "Channel",
|
|||
|
|
UMConfigure.DEVICE_TYPE_PHONE, "PushSecret");
|
|||
|
|
UMConfigure.setLogEnabled(true);
|
|||
|
|
- 特点:
|
|||
|
|
✅ 简单直接,初始化成功率高
|
|||
|
|
✅ 不需要用户交互,应用启动即初始化
|
|||
|
|
⚠️ 不符合隐私合规要求(在用户同意前就初始化)
|
|||
|
|
⚠️ 可能在某些应用市场审核时被拒绝
|
|||
|
|
|
|||
|
|
11.2 新版本(隐私合规版本)
|
|||
|
|
--------------------------
|
|||
|
|
- 在 Application.onCreate() 中只调用预初始化
|
|||
|
|
- 在用户同意隐私政策后调用正式初始化
|
|||
|
|
- 代码位置: SplashActivity 或 MainActivity
|
|||
|
|
- 特点: 符合隐私合规要求,但需要用户交互
|
|||
|
|
|
|||
|
|
11.3 切换版本时的注意事项
|
|||
|
|
------------------------
|
|||
|
|
1. 检查初始化调用位置
|
|||
|
|
2. 确认是否需要在用户同意隐私政策后初始化
|
|||
|
|
3. 检查 isUmengSDKInitialized() 的使用
|
|||
|
|
4. 确认日志输出是否正常
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
十二、快速检查命令
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
12.1 检查依赖
|
|||
|
|
-----------
|
|||
|
|
在项目根目录执行:
|
|||
|
|
./gradlew :app:dependencies | grep umeng
|
|||
|
|
|
|||
|
|
12.2 检查初始化
|
|||
|
|
-----------
|
|||
|
|
在 Logcat 中搜索:
|
|||
|
|
"MyApp" AND ("友盟" OR "UMConfigure" OR "MobclickAgent")
|
|||
|
|
|
|||
|
|
12.3 检查统计调用
|
|||
|
|
---------------
|
|||
|
|
在 Logcat 中搜索:
|
|||
|
|
"UmengAnalytics" AND ("页面" OR "事件")
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
十三、联系信息
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
友盟官方文档: https://developer.umeng.com/docs/119267/detail/118585
|
|||
|
|
友盟技术支持: https://developer.umeng.com/support
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
十四、当前工作版本关键配置总结
|
|||
|
|
================================================================================
|
|||
|
|
|
|||
|
|
14.1 核心配置(必须检查)
|
|||
|
|
------------------------
|
|||
|
|
1. app/build.gradle 依赖配置(第123-127行):
|
|||
|
|
✅ implementation 'com.umeng.umsdk:common:9.8.8'
|
|||
|
|
✅ implementation 'com.umeng.umsdk:asms:1.8.7'
|
|||
|
|
✅ implementation 'com.umeng.umsdk:uyumao:1.1.4'
|
|||
|
|
✅ implementation 'com.umeng.umsdk:abtest:1.0.1'
|
|||
|
|
|
|||
|
|
2. MyApp.java 初始化配置(第109-117行):
|
|||
|
|
✅ UMConfigure.preInit(this, "69009244644c9e2c2067d39b", "Channel");
|
|||
|
|
✅ UMConfigure.init(this, "69009244644c9e2c2067d39b", "Channel",
|
|||
|
|
UMConfigure.DEVICE_TYPE_PHONE, "PushSecret");
|
|||
|
|
✅ UMConfigure.setLogEnabled(true);
|
|||
|
|
|
|||
|
|
3. MyApp.java AppKey配置(第70-72行):
|
|||
|
|
✅ UMENG_APP_KEY = "69009244644c9e2c2067d39b"
|
|||
|
|
✅ UMENG_CHANNEL = "default"
|
|||
|
|
|
|||
|
|
4. UmengAnalytics.java 工具类:
|
|||
|
|
✅ 文件位置: app/src/main/java/com/xunpaisoft/social/utils/UmengAnalytics.java
|
|||
|
|
✅ 所有统计方法都通过此工具类调用
|
|||
|
|
|
|||
|
|
14.2 验证步骤(快速检查)
|
|||
|
|
----------------------
|
|||
|
|
1. 检查依赖:
|
|||
|
|
- 打开 app/build.gradle
|
|||
|
|
- 确认第123-127行有友盟依赖
|
|||
|
|
|
|||
|
|
2. 检查初始化:
|
|||
|
|
- 打开 MyApp.java
|
|||
|
|
- 确认第109-117行有初始化代码
|
|||
|
|
- 确认第70-72行有AppKey配置
|
|||
|
|
|
|||
|
|
3. 检查工具类:
|
|||
|
|
- 确认 UmengAnalytics.java 文件存在
|
|||
|
|
- 确认 MainActivity 中调用了 UmengAnalytics.onPageStart()
|
|||
|
|
|
|||
|
|
4. 运行验证:
|
|||
|
|
- 运行应用
|
|||
|
|
- 在 Logcat 中搜索 "MyApp" 和 "友盟"
|
|||
|
|
- 应该看到初始化成功的日志
|
|||
|
|
|
|||
|
|
14.3 如果数据未上报,按以下顺序检查
|
|||
|
|
----------------------------------
|
|||
|
|
1. ✅ 检查依赖是否正确添加
|
|||
|
|
2. ✅ 检查 AppKey 是否正确
|
|||
|
|
3. ✅ 检查初始化是否成功(查看日志)
|
|||
|
|
4. ✅ 检查网络连接
|
|||
|
|
5. ✅ 检查是否调用了统计方法
|
|||
|
|
6. ✅ 等待几分钟,数据上报有延迟
|
|||
|
|
7. ✅ 在友盟后台查看"实时统计"是否有数据
|
|||
|
|
|
|||
|
|
================================================================================
|
|||
|
|
文档结束
|
|||
|
|
================================================================================
|
|||
|
|
|