android 友盟统计动态设置渠道,Android 友盟多渠道打包
一、简介
为了统计不同渠道上的下载数量及用户活动情况,方便后台做运营统计。我们需要在安装包中添加不同的标识(渠道信息 Channel)。多渠道的实现方式多种多样,此篇只实现友盟多渠道打包的方法。友盟多渠道打包方法试用于少量的渠道,如果要打包十几个或上百个的渠道就要花费大量的时间,影响效率。
二、基本配置
(1)基于项目集成友盟统计的基础上,我们只需要在AndroidManifest.xml 文件中修改渠道信息:
(2)在module的build.gradle的android{}中添加如下内容:
android {
...
...
// 多渠道打包
productFlavors {
wandoujia {
}
xiaomi {
}
}
productFlavors.all { flavor ->
flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
// 修改命名规则3.0之前可以使用
applicationVariants.all { variant ->
variant.outputs.each { output ->
def outputFile = output.outputFile
if (outputFile != null && outputFile.name.endsWith('.apk')) {
def fileName = outputFile.name.replace(".apk","-${defaultConfig.versionName}.apk")
output.outputFile = new File(outputFile.parent, fileName)
}
}
}
三、AS升到3.0后遇到的错
(1)AS升到3.0后 output.outputFile变成了只读模式,不能再往里面写东西了。这时我们需要修改命名规则
image.png
//修改后的命名规则
applicationVariants.all { variant ->
variant.outputs.all {
def formattedDate = new Date().format('yyyy_MM_dd')
outputFileName = rootProject.getName()+"-"+variant.flavorName+"-"+buildType.name+"-"+formattedDate+"-v"+defaultConfig.versionName+"-"+ defaultConfig.versionCode+ ".apk";
}
}
(2)Android Plugin3.0的依赖机制:在使用library时会自动匹配variant(debug, release),就是说app的debug会自动匹配library的debug。同样如果使用flavor的时候,比如app的redDebug同样会自动匹配library的readDebug。虽然有这样的优势,但是在使用flavor时,必须定义flavor dimension,否则会提示错误(不知道是哪位大神说的感觉蛮有道理的 借用一下,反正我是菜鸟,不是很懂。)。所以需要在以下加上这句话
image.png
//在下面添加 flavorDimensions "versionCode" 即可
defaultConfig {
applicationId "*********"
minSdkVersion 18
targetSdkVersion 28
versionCode 1
versionName "1.0"
flavorDimensions "versionCode"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
四、源码地址
五、内容推荐:
android 友盟统计动态设置渠道,Android 友盟多渠道打包相关推荐
- android加固多渠道,Android 多渠道打包(使用友盟统计,结合360加固宝进行多渠道打包)...
如有不正确的地方,望各路小哥哥.小姐姐指点,小女子在此谢过(*^__^*) 嘻嘻-- 一般app做推广的时候都需要渠道包,方便分析数据,查看渠道质量 一.先去友盟平台申请一个appkey a. a ...
- Android 手把手完美教你美团wally(瓦力)多渠道打包 3种方法(针对签名V1和V2都会有很详细的介绍)
APK的生成步骤: 大家从图中可以看出,大体分为以下 7 个大步: 1.打包资源文件,生成 R.java 文件 2.处理 aidl 文件,生成相应 java 文件 3.编译工程源代码,生成相应 cla ...
- 友盟统计java代码_SFAnalytics 分析友盟统计源码,反编译 SDK,还有部分没有 出来 android 259万源代码下载- www.pudn.com...
文件名称: SFAnalytics下载 收藏√ [ 5 4 3 2 1 ] 开发工具: Java 文件大小: 8023 KB 上传时间: 2016-06-05 下载次数: 0 提 供 者: ...
- android 动态设置padding,Android动态设置控件大小以及设定margin以及padding值
http://www.aichengxu.com/Java/73893.htm Android动态设置控件大小以及设定margin以及padding值,有需要的朋友可以参考下. 一.概述 在andro ...
- android 如何动态设置margin,Android 动态设置margin
android的view中有setPadding,但是没有直接的setMargin方法.如果要在代码中设置该怎么做呢? 可以通过设置view里面的LayoutParams 设置,而这个LayoutPa ...
- android动态设置src,Android 代码里设置ImageView的src和background
设置ImageView的src: image.setImageDrawable(getResources().getDrawable(R.drawable.blackk)); String path= ...
- android 动态设置margin,android 代码中设置margin
场景:Android怎么在java代码中设置margin Android如何在java代码中设置margin 原创帖,转发请注明出处:http://thierry-xing.iteye.com/blo ...
- Android的Menu状态动态设置方法onPrepareOptionsMenu(Menu menu) (转载)
覆盖onPrepareOptionsMenu(Menu menu)这个方法非常的好用,我们可以定义boolean值来进行判断,如果满足条件就可以把菜单栏动态设置成某些状态,比如是否可见,text值等等 ...
- android 动态设置margin,Android 动态设置padding跟margin的问题
最近要做到动态设置padding跟margin,设置它们四个参数都是int类型.比如这里设置了10,,可是这个数又是代表什么意思呢?一直很好奇它们的单位问题,所以这就造成了,在不同手机上的适配问题.有 ...
最新文章
- 必须为元素类型 association 声明属性 oftype。_CSS相关的选择器和属性介绍
- (LeetCode 92)Reverse Linked List II
- SpringMVC 中xml 配置多数据源
- 怎么查找那台电脑中了ARP病毒
- mysql 操作指令详解_Mysql常用命令详解
- 推荐几个最近Star过的Github仓库
- 遵循Java EE标准规范的开源GIS服务平台之三:数据发布与访问
- 本实例演示往TreeSet集合中存储自定义对象
- sql server 碎片整理——DBCC SHOWCONTIG
- Java之小球碰撞反弹
- Android包管理机制(二)PackageInstaller安装APK
- STM32野火教程学习
- 125w短波通信距离_陕西烽火通信短波及超短波产品.doc
- photoshop使用技巧_你应该知道的45个聪明的Photoshop技巧
- 桌面应用软件开发语言调查(转)
- php教程--案例4(判断闰年)
- 废旧的电脑硬盘还可以这样利用起来,太赞了!!
- mac浏览器没有网络,通讯软件(QQ、微信、飞书等)正常
- SpaceX 星链卫星互联网业务出现大规模宕机,现已修复
- 阿里,腾讯,百度软件测试工程师推荐——软件测试模型之瀑布模型
热门文章
- 类似staruml的工具有哪些?
- C++之initializer_list,可变参数模板参数展开方法
- 关键字驱动自动化测试
- 已知三角形三边,如何使用Python计算三角形的面积
- (转载)JavaScript:双波浪号“~~“ 与 Math.floor()
- Linux 服务器上部署web程序
- bert简单介绍和实践
- J-Link软件和文档包的版本发行说明(3)[V6.14 ~ V6.48b版本]
- windows服务编程
- Barrier类介绍