使用友盟进行多渠道打包与统计
集成步骤
1.创建appkey并添加依赖与权限 appkey
apply plugin: 'com.android.application' android { //签名的配置 signingConfigs { ts_sign { keyAlias 'ts_test' keyPassword '123456' storeFile file('D:/tangsheng_work/WorkSpace/YmTest/app/ts_sign.jks') storePassword '123456' } } compileSdkVersion 25 buildToolsVersion "25.0.1" defaultConfig { applicationId "com.ymtest" minSdkVersion 15 targetSdkVersion 25 versionCode 1 versionName "1.0" multiDexEnabled true //突破应用方法数65535的一个限制 manifestPlaceholders = [UMENG_CHANNEL_VALUE: "umeng"] //默认名称 } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.ts_sign //指定签名 //指定打包apk的名字 applicationVariants.all{ variant -> variant.outputs.each{ output -> def outFile = output.outputFile if(outFile != null && outFile.name.endsWith(".apk")){ def fileName = "${variant.productFlavors[0].name}" + ".apk" //这里直接用渠道名做为apk的名字 output.outputFile = new File(outFile.parent,fileName); } } } } } //多渠道渠道名的设置 productFlavors { baidu {} //代表UMENG_CHANNEL_VALUE = baidu c360 {} xiaomi {} huawei {} tengxun {} productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:25.3.0' //友盟统计库 compile 'com.umeng.analytics:analytics:latest.integration' }
<!--统计需要的权限--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.READ_PHONE_STATE"/> <!--在application标签里添加友盟app_key--> <meta-data android:value="59116bc35312dd203f000eb8" android:name="UMENG_APPKEY"/> <!--添加渠道号 这里使用的${UMENG_CHANNEL_VALUE} 如果是豌豆荚平台 这里就写成豌豆荚 如果是应用宝就写成应用宝--> <meta-data android:value="${UMENG_CHANNEL_VALUE}" android:name="UMENG_CHANNEL"/>
2.打包,可以使用图形化界面打包也可以使用命令
//使用命令打包 gradlew assembleRelease
效果图:可见现在的命名就是直接使用的渠道名了
注意要在每个activity中:
public void onResume() { super.onResume(); MobclickAgent.onResume(this); } public void onPause() { super.onPause(); MobclickAgent.onPause(this); }
安装后就可以在友盟后台看到了: