第一步:
拷贝 Baidu_Mtj_3.7.4.2.jar 到自己Project 的libs 下 并 add Library
第二步:
在AndroidManifest.xml 文件中 (也可以通过代码动态设置这些)
加入权限
<!-- 必须声明的权限 --> <uses-permission android:name="android.permission.INTERNET" /> <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.WRITE_SETTINGS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> <uses-permission android:name="android.permission.GET_TASKS" /> <uses-permission android:name="android.permission.BLUETOOTH"/> <!--(蓝牙为手表统计必填)--> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <!--(3.7.1 新增)--> <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /> <!--(3.7.1 新增)--> <!--可选的权限 --> <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>Application 节点加 加入
<!-- 您从百度网站获取的APP KEY --> <meta-data android:name="BaiduMobAd_STAT_ID" android:value="bf1d8460ab" /> <!-- abcd1234 --> <!--android:value="8f8d7f137c" /> <!– abcd1234 –>--> <!-- 渠道商编号 --> <meta-data android:name="BaiduMobAd_CHANNEL" android:value="Baidu Market" /> <!-- 是否开启错误日志统计,默认为false --> <meta-data android:name="BaiduMobAd_EXCEPTION_LOG" android:value="true" /> <!-- 日志发送策略,可选值:APP_START、ONCE_A_DAY、SET_TIME_INTERVAL,默认为APP_START --> <meta-data android:name="BaiduMobAd_SEND_STRATEGY" android:value="APP_START" /> <!-- 日志发送策略 为SET_TIME_INTERVAL时,需设定时间间隔(取消下行注释)。取值为1-24的整数,默认为1 --><meta-data android:name="BaiduMobAd_TIME_INTERVAL" android:value="1" /><!-- 日志仅在wifi网络下发送,默认为false --><meta-data android:name="BaiduMobAd_ONLY_WIFI" android:value="false" /><!-- 是否获取基站位置信息 ,默认为true --><meta-data android:name="BaiduMobAd_CELL_LOCATION" android:value="true" /><!-- 是否获取GPS位置信息,默认为true --><meta-data android:name="BaiduMobAd_GPS_LOCATION" android:value="true" /><!-- 是否获取WIFI位置信息,默认为true --><meta-data android:name="BaiduMobAd_WIFI_LOCATION" android:value="true" />
第三步:
在Activity(上下文不要传入 Application的context) Fragment 与其相同(上下文不要传入 Application或者Activity的context)
提醒: ★ Fragment 和 自定义的Page 都使用 onPageStart 和 onPageEnd方法
参数为 依次为 : 上下文,标记( 在基类中用getClass().getSimpleName()比较好 这样可以获取到的是子类的名字)
其位置为: onResume 方法中 放 StatService.onPageStart 方法 onPause 方法中 放StatService.onPageEnd方法
特别注意:
Fragment 的页面的 onResume 以及 onPause 函数不能多个页面交叉调用如出
现调用顺序:onResume-‐-‐-‐-‐-‐-‐onResume 或者 onPause-‐-‐-‐-‐-‐-‐-‐onPause,统计将会出问题。必须是顺序的 onResume-‐-‐-‐onPause-‐-‐-‐-‐ onResume -‐-‐-‐-‐ onPause。
如果需要进行交叉调用,那么可以使用 onPageStart 和 onPageEnd 自定义页
面统计函数来配合使用。
onResume
onPause 方法中 加入/** * 页面起始(每个Activity中都需要添加,如果有继承的父Activity中已经添加了该调用,那么子Activity中务必不能添加) * 不能与StatService.onPageStart一级onPageEnd函数交叉使用 */ StatService.onResume(this);
/** * 页面结束(每个Activity中都需要添加,如果有继承的父Activity中已经添加了该调用,那么子Activity中务必不能添加) * 不能与StatService.onPageStart一级onPageEnd函数交叉使用 */ StatService.onPause(this);
第四步: 混淆
在混淆配置文件 proguard-rules.pro 文件中添加如下 keep 配置----
-keep class com.baidu.kirin.** { *; } -keep class com.baidu.mobstat.** { *; } -keep class com.baidu.bottom.** { *; }