获取Appkey
到友盟官方注册一个账号,然后创建应用就可得到Appkey
在app的builde.gradle中添加依赖
/*友盟统计基础库和统计SDK*/
implementation 'com.umeng.sdk:common:1.5.3'
implementation 'com.umeng.sdk:analytics:7.5.3'
权限
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
混淆设置
-keep class com.umeng.** {*;}
-keepclassmembers class * {
public <init> (org.json.JSONObject);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}
配置Appkey
<!--value的值对应Appkey-->
<meta-data android:value="5be53a31b465f57c6f0004cb" android:name="UMENG_APPKEY"/>
配置渠道
<!--value的值写渠道名称,但这里的渠道名称要设置成动态的-->
<meta-data android:value="${UMENG_CHANNEL_VALUE}" android:name="UMENG_CHANNEL"/>
在app的builde.gradle中配置需要的渠道
第一种配置渠道
productFlavors {
yingyongbao {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "yingyongbao"]
}
xiaomi {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
}
}
第二种配置渠道
productFlavors {
baidu {}
xiaomi {}
tencent {}
yingyongbao {}
}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
初始化方法,在自定义的Application的onCreate()方法中填写
//由于在AndroidManifest.xml中设置了appkey和渠道,所以只需三个参数
UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE,"");
有5个参数分别是
上下文
appkey
渠道
设备类型:默认是手机,UMConfigure.DEVICE_TYPE_BOX表示盒子
Push推送业务的secret,需要集成Push功能时必须传入Push的secret,否则传空
Session启动、App使用时长等基础数据统计
protected void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
protected void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}
不需要错误统计功能,可通过此方法关闭,true默认是打开
MobclickAgent.setCatchUncaughtExceptions(false);