客服說要看App日活,讓加個統計功能。java
(咱們技術部已經混到客服部都能直接提需求的地步)android
首先接入友盟統計的SDK,在項目外層的build.gradle中添加依賴'https://dl.bintray.com/umsdk/release'json
buildscript { repositories { google() jcenter() maven { url 'https://dl.bintray.com/umsdk/release' } } dependencies { classpath 'com.android.tools.build:gradle:3.3.0' // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { google() jcenter() maven { // url 'https://dl.bintray.com/umsdk/release'//雖然官方文檔說這裏也要加,但我在這裏也加的話有報錯,不加也能夠編譯正常 url 'https://jitpack.io' } } }
再在module的build.gradle中注入依賴app
implementation 'com.umeng.umsdk:analytics:latest.integration' implementation 'com.umeng.umsdk:common:latest.integration'
由於要作多渠道打包,因此在這裏還要加入各渠道支持maven
android { //多渠道打包支持 productFlavors { Tencent {//投放應用寶市場 } Vivo {//投放vivo市場 } Xiaomi {//投放小米市場 } Huawei {//投放華爲應用市場 } Meizu {//投放魅族市場 } Oppo {//投放oppo市場 } Wandoujia {//投放豌豆莢市場 } Baidu {//投放百度市場 } Lenovo {//投放聯想市場 } Letv {//投放樂視市場 } Gionee {//投放金立市場 } HiMarket {//投放安卓市場 } } productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } defaultConfig { manifestPlaceholders = [ UMENG_CHANNEL_VALUE: "umeng", ] flavorDimensions "versionCode" } }
若是有混淆的話記得在混淆文件中新增ide
-keep class com.umeng.** {*;} -keepclassmembers class * { public <init> (org.json.JSONObject); } -keepclassmembers enum * { public static **[] values(); public static ** valueOf(java.lang.String); } #SDK須要引用導入工程的資源文件,經過了反射機制獲得資源引用文件R.java, #可是在開發者經過proguard等混淆/優化工具處理apk時,proguard可能會將R.java刪除,若是遇到這個問題,請添加以下配置: #-keep public class [您的應用包名].R$*{ #public static final int *; #}
還須要的是在清單文件中設置幾個權限,都是基本權限,通常項目中都已經有添加設置了,下面添加APPKey和channel值就好(channel值就是剛剛設置的對應渠道)工具
<meta-data android:value="your key" android:name="UMENG_APPKEY"/> <meta-data android:value="${UMENG_CHANNEL_VALUE}" android:name="UMENG_CHANNEL"/>
而後再application類裏初始化就好gradle
UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, null);//第三個值是pushKey,我沒用友盟推送,置null就行
在baseActivity裏監測(確保每一個activity裏都能調用到就行)優化
@Override protected void onResume() { super.onResume(); MobclickAgent.onResume(this); } @Override protected void onPause() { super.onPause(); MobclickAgent.onPause(this); }
OK了,就這樣就好了,加起來很快。ui
不過我沒有要加什麼支付監測或其餘的,畢竟,不具體提到的需求,就是不用作的需求,嗯。
打包的時候選擇須要的市場包
安裝以後就能夠在友盟平臺上看到數據了