📊 Umeng U-APP Integration — 友盟 U-APP 集成
v1.0.0友盟 U-APP 统计 SDK 集成工具。
运行时依赖
版本
Initial release of umeng-uapp-integration skill. - Provides step-by-step guide for integrating Umeng U-APP Analytics SDK into Android projects. - Covers Gradle/Maven dependency setup, permissions, SDK initialization, privacy compliance, and ProGuard rules. - Includes sample code for event/page tracking and user identification. - Lists common troubleshooting tips and official documentation links. - Ensures compliance with user privacy requirements before initializing the SDK.
安装命令
点击复制技能文档
何时使用
✅ 使用此技能当:
- 用户需要在 Android 项目中集成友盟统计 SDK
- 用户提到"友盟"、"umeng"、"U-APP"、"统计 SDK"
- 用户需要配置移动应用数据埋点
- 用户需要添加应用分析功能
- 用户需要配置 SDK 初始化代码
❌ 不使用此技能当:
- iOS 项目集成 → 使用 iOS 集成文档
- HarmonyOS 项目 → 使用 HarmonyOS 集成文档
- 网站统计 → 使用 U-Web SDK
- 小程序统计 → 使用 U-Mini SDK
- 消息推送功能 → 使用 U-推送 SDK
集成流程
集成流程
1. 添加 Maven 仓库(项目级 build.gradle)
在项目根目录的 build.gradle 或 build.gradle.kts 中添加:
buildscript {
repositories {
google()
mavenCentral()
maven { url 'https://repo1.maven.org/maven2/' }
}
}allprojects {
repositories {
google()
mavenCentral()
maven { url 'https://repo1.maven.org/maven2/' }
}
}
2. 添加 SDK 依赖(应用级 build.gradle)
在 app/build.gradle 或 app/build.gradle.kts 的 dependencies 块中添加:
dependencies {
// 友盟统计 SDK - 必选
implementation 'com.umeng.umsdk:common:9.6.6'
implementation 'com.umeng.umsdk:asms:1.6.4'
// 高级运营分析功能依赖库 - 可选(使用卸载分析、反作弊时必选)
implementation 'com.umeng.umsdk:uyumao:1.1.2'
// ABTest 功能 - 可选
implementation 'com.umeng.umsdk:abtest:1.0.0'
}
3. 添加权限(AndroidManifest.xml)
在 AndroidManifest.xml 的 标签内添加:
4. 创建 Application 类并初始化 SDK
创建或修改 Application 类:
package com.your.packageimport android.app.Application
import com.umeng.analytics.MobclickSdk
import com.umeng.commonsdk.UMGlobals
class YourApplication : Application() {
override fun onCreate() {
super.onCreate()
// 合规初始化:预初始化(不会采集数据)
MobclickSdk.preInit(this, "YOUR_APP_KEY", "default")
}
// 在用户同意隐私政策后调用正式初始化
fun initUmengAfterPrivacyAgreed() {
MobclickSdk.init(this, "YOUR_APP_KEY")
MobclickSdk.setChannel("default")
// 调试模式(发布前请关闭)
UMGlobals.setDebugMode(true)
}
}
在 AndroidManifest.xml 中注册 Application:
5. 合规初始化流程
重要:根据工信部要求,必须在用户同意隐私政策后再初始化 SDK:
// 在 Application.onCreate() 中 - 预初始化(不采集数据)
override fun onCreate() {
super.onCreate()
MobclickSdk.preInit(this, "YOUR_APP_KEY", "channel")
}// 在用户同意隐私政策后 - 正式初始化
fun onPrivacyPolicyAgreed() {
MobclickSdk.init(this, "YOUR_APP_KEY")
MobclickSdk.setChannel("channel")
}
6. 混淆配置(proguard-rules.pro)
如果应用使用混淆,添加以下规则:
# 友盟 SDK
-keep class com.umeng.* { ; }
-keep class com.ut.* { ; }
-keep class org.android.* { ; }
-keep class org.agoo.* { ; }
-keep class anet.channel.* { ; }
-keep class anetwork.channel.* { ; }
-keep class com.ta.* { ; }
-keep class com.ut.device.* { ; }
-keep class org.json.* { ; }
-keep class com.uyumao.* { ; }# 保留 R 文件
-keep public class com.your.package.R$ {
public static final int ;
}
7. 埋点验证配置(可选)
在 AndroidManifest.xml 中添加 scheme 用于测试埋点:
常用 API 示例
页面统计(Activity)
override fun onResume() {
super.onResume()
MobclickSdk.onPageStart("PageName")
MobclickSdk.onResume(this)
}override fun onPause() {
super.onPause()
MobclickSdk.onPageEnd("PageName")
MobclickSdk.onPause(this)
}
页面统计(Compose)
// 在 Compose 中手动统计
MobclickSdk.onPageStart("HomePage")
// ... 页面内容
MobclickSdk.onPageEnd("HomePage")
自定义事件统计
// 简单事件
MobclickSdk.onEvent(context, "button_click")// 带参数的事件
val attributes = mapOf(
"button_id" to "submit",
"page" to "home",
"user_level" to "vip"
)
MobclickSdk.onEvent(context, "button_click", attributes)
// 带数值的事件(用于统计金额、时长等)
MobclickSdk.onEvent(context, "purchase", mapOf("item_id" to "123"), 99.0)
用户标识
// 设置用户 ID(登录后调用)
MobclickSdk.setUserId("user_12345")// 清除用户 ID(登出时调用)
MobclickSdk.clearUserId()
隐私政策条款参考
在隐私政策中需要包含以下说明:
我们接入了友盟+SDK,友盟+SDK需要收集您的设备信息(IMEI/MAC/Android ID/OAID/IDFA/OpenUDID/GUID/IP 地址/SIM 卡 IMSI 信息等)及粗略位置(可选),
用于统计分析服务,以帮助您了解应用使用情况。
友盟+隐私政策链接:https://www.umeng.com/page/policy
验证集成
- 构建并运行应用
- 在 Logcat 中搜索 "umeng" 或 "mob" 关键字
- 查看是否有初始化成功日志
- 登录友盟后台,等待约 15 分钟后查看数据
常见问题
1. 数据不显示?
- 检查 AppKey 是否正确
- 确认包名与友盟后台配置一致
- 等待数据延迟(约 15 分钟)
- 检查网络权限
2. 初始化失败?
- 确认在 Application 中初始化
- 检查是否在用户同意隐私政策后调用
- 查看 Logcat 错误日志
3. 混淆后 SDK 失效?
- 确保添加了完整的混淆规则
- 检查 R 文件是否被保留
参考资料
注意事项
- 合规第一:必须在用户同意隐私政策后才能正式初始化 SDK
- 包名一致:友盟后台配置的包名必须与应用的 applicationId 一致
- 数据延迟:统计数据通常有 15 分钟左右的延迟
- 发布前关闭调试:发布前将
setDebugMode(假) - 高级功能:使用卸载分析、反作弊等功能需要集成 uyumao 库并配置混淆