一、根据友盟官网的介绍引入依赖
dependencies {
implementation fileTree(include:['*.jar'], dir:'libs')
// 下面各SDK根据宿主App是否使用相关业务按需引入。
// 友盟统计SDK
implementation 'com.umeng.umsdk:common:9.4.7'// 必选
implementation 'com.umeng.umsdk:asms:1.4.1'// 必选
implementation 'com.umeng.umsdk:apm:1.5.2' // 错误分析升级为独立SDK,看crash数据请一定集成,可选
implementation 'com.umeng.umsdk:abtest:1.0.0'//使用U-App中ABTest能力,可选
}
二、接入流程
(1)AndroidManifest 文件
<!--用户渠道-->
<meta-data
android:name="UMENG_CHANNEL"
android:value="渠道名(随便写)" />
<!--友盟申请的key-->
<meta-data
android:name="UMENG_APPKEY"
android:value="申请的key" />
(2)代码接入
public class EnhanceApplication extends Application {
SharedPreferencesHelper sharedPreferencesHelper;
@Override
public void onCreate() {
super.onCreate();
sharedPreferencesHelper=new SharedPreferencesHelper(this,"umeng");
//设置LOG开关,默认为false
UMConfigure.setLogEnabled(true);
//友盟预初始化
UMConfigure.preInit(this,"申请的appkey","渠道名称");
/**
* 打开app首次隐私协议授权,以及sdk初始化,判断逻辑请查看SplashTestActivity
*/
//判断是否同意隐私协议,uminit为1时为已经同意,直接初始化umsdk
if(sharedPreferencesHelper.getSharedPreference("uminit","").equals("1")){
//友盟正式初始化
/**
* 注意: 即使您已经在AndroidManifest.xml中配置过appkey和channel值,也需要在App代码中调
* 用初始化接口(如需要使用AndroidManifest.xml中配置好的appkey和channel值,
* UMConfigure.init调用中appkey和channel参数请置为null)。
*/
UMConfigure.init(this,"申请的appkey","渠道名",UMConfigure.DEVICE_TYPE_PHONE,null);
}
}
}
UMConfigure.init(this,"申请的appkey","渠道名",UMConfigure.DEVICE_TYPE_PHONE,null);
参数介绍:
- UMConfigure.DEVICE_TYPE_PHONE为手机;
- UMConfigure.DEVICE_TYPE_BOX为电视盒子;
为null的参数是消息推送
(3) 退出应用 应用退出时要调用以下方法
// 友盟统计退出
MobclickAgent.onKillProcess(this);