友盟统计java代码_android-------- 多渠道打包(借助友盟移动统计分析)

好久没有发博客了,原因是换工作了,今天端午假期,所以来发一篇博客,

多渠道打包,借助友盟移动统计分析,希望对各位有所帮助

多渠道打包的理解:

渠道包就是要在安装包中添加渠道信息,也就是channel,对应不同的渠道,例如:小米市场、豌豆荚、应用宝市场等

为什么要提供多渠道包?

我们要在安装包中添加不同的标识,应用在请求网络的时候携带渠道信息,方便后台做运营统计(这就是添加渠道信息的用处)。

实现多渠道打包的原理

一般来讲,这个渠道的标识会放在AndroidManifest.xml的Application的一个Metadata中。然后就可以在java中通过API获取对应的数据了。

进入主题

注册友盟,并且添加新应用,获得AppKey

19120758_SqpL.png

引入依赖

compile 'com.umeng.sdk:common:latest.integration'

AndroidManifest.xml 添加appkey 和渠道占位符

android:value="5b2497a6f29d985d850001b3"

android:name="UMENG_APPKEY"/>

android:value="${UMENG_CHANNEL_VALUE}"

android:name="UMENG_CHANNEL"/>

在build.gradle中去动态的替换掉我们的占位符的value即可

defaultConfig {

applicationId "com.zhangqie.channel"

minSdkVersion 15

targetSdkVersion 22

versionCode 1

versionName "1.0"

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

multiDexEnabled true //突破应用方法数65535的一个限制

manifestPlaceholders = [UMENG_CHANNEL_VALUE:"name"]

}

签名配置

signingConfigs {

debug {}

//release包添加签名文件配置

release{

storeFile file("../channle.jks")

storePassword "123456"

keyAlias "channle"

keyPassword "123456"

}

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

signingConfig signingConfigs.release

}

}

渠道指定两种方式

productFlavors{

xiaomi{

//manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]

}

wandoujia{

//manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]

}

}

//2

productFlavors.all{

flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]

}

把前面的注释取消,  第2处下面代码删除就是第二种方式

之后再控制台 Terminal

输入 gradlew assembleRelease执行打包(注意:  Mac的要这样添加 ./gradlew assembleRelease)

当然 gradlew assembleDebug 这是debug的

也可以指定打包 gradlew assembleWandoujiaRelease豌豆荚的

执行打包

19120758_tO3n.png

我弄时遇到一个坑

19120758_XFge.png

原因是我的 位置顺序放错误了

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

signingConfig signingConfigs.release

}

}

signingConfigs {

debug {}

//release包添加签名文件配置

release{

storeFile file("../channle.jks")

storePassword "123456"

keyAlias "channle"

keyPassword "123456"

}

}

所以要注意,

打包完成

19120759_23Jg.png

生成apk包了

19120759_COhe.png

我们可以改变apk输出的名称

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

signingConfig signingConfigs.release

//指定我们release包的输出文件名 就是我们的渠道名字

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"

output.outputFile = new File(outFile.parent,fileName);

}

}

}

}

}

输入 gradlew assembleRelease执行打包

19120759_okgx.png

名称已改变,根据自己的需要设置,

这样我们多渠道打包就完成了

友盟统计文档,按照操作步骤

https://developer.umeng.com/docs/66632/detail/66889

找几个手机测试一下

可在后台看数据

19120800_KU1I.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值