android分渠道打包,监测日活量统计(基于友盟SDK)
客服说要看App日活,让加个统计功能。
(我们技术部已经混到客服部都能直接提需求的地步
)
首先接入友盟统计的SDK,在项目外层的build.gradle中添加依赖'https://dl.bintray.com/umsdk/release'
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中注入依赖
implementation 'com.umeng.umsdk:analytics:latest.integration'
implementation 'com.umeng.umsdk:common:latest.integration'
因为要做多渠道打包,所以在这里还要加入各渠道支持
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"
}
}
如果有混淆的话记得在混淆文件中新增
-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类里初始化就好
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了,就这样就行了,加起来很快。
不过我没有要加什么支付监测或其他的,毕竟,不具体提到的需求,就是不用做的需求,嗯。
打包的时候选择需要的市场包

安装之后就可以在友盟平台上看到数据了

android分渠道打包,监测日活量统计(基于友盟SDK)的更多相关文章
- Android分渠道打包(Python 3.4 实现)
Android批量打包实现有很多方式你可以用Ant,Maven或者Gradle.在处理多个Library和NDK编译的时候配置有些麻烦,且每个渠道都编译一次效率较低.如果没有复杂的分渠道编译需求,我们 ...
- 试用友盟SDK实现Android分享微信朋友圈
社会化分享是眼下必学且火热的功能.之前有写第三方登录,那仅仅是社会化分享的一部分.今天来玩玩分享微信朋友圈. 为了方便操作,还是依照步骤写. 一,注冊 注冊应用已经在这里具体说明过了,这里就不多提了. ...
- iOS:友盟SDK第三方登录 分享及友盟统计的使用
本文转载至 http://www.it165.net/pro/html/201503/37101.html Tag标签:第三方 01.#import "UMSocial.h" ...
- Android 友盟SDK 终极解决报错:SocialSDK_QQZone_2.jar contains native libraries that
转自:http://bbs.umeng.com/thread-6552-1-2.html 报错信息:The library `SocialSDK_QQZone_2.jar` contains nati ...
- Android 友盟统计的集成与使用(包含多渠道打包配置)
前言 app上线后,一般公司都希望跟踪app在市场上的使用情况.包括新增用户.活跃用户.渠道信息.错误信息等,还有例如商城类的app,需要跟踪用户最喜欢浏览哪种类型的店铺或商品.这些都可以通过集成友盟 ...
- Android之友盟多渠道打包与数据统计
文章大纲 一.多渠道打包与数据统计介绍二.友盟实现多渠道打包实战三.友盟数据统计实战四.项目源码下载五.参考文章 一.多渠道打包与数据统计介绍 多渠道打包,相信很多同学都知道.在Android ...
- UmengAppDemo【友盟统计SDK集成以及多渠道打包配置,基于V7.5.3版本】
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 这里只是记录下集成友盟统计SDK以及简单配置多渠道打包的步骤.所以1.该Demo不能运行:2.配置多渠道打包只是一种简单的写法,具体 ...
- Android Studio多渠道打包
本文所讲述的多渠道打包是基于友盟统计实施的. 多渠道打包的步骤: 1.在AndroidManifest.xml里设置动态渠道变量 <meta-data android:name="UM ...
- android studio学习----打包
Gradle打包APP签名 默认情况下,debug被配置成使用一个debug keystory.debug keystory使用了默认的密码和默认key及默认的key密码.debug构建类型会自动使用 ...
随机推荐
- 【转载】【凯子哥带你学Framework】Activity启动过程全解析
It's right time to learn Android's Framework ! 前言 一个App是怎么启动起来的? App的程序入口到底是哪里? Launcher到底是什么神奇的东西? ...
- k8s几种pod的控制器
replicationcontroller 选择器 模版 副本数 如果更改选择器,则会创建新的pod 如果更改pod的标签,那么也会创建新的pod进行替换,但是老的pod不会被删除 如果更改模版, ...
- 使用jmeter 设计流程发起测试
业务场景 需要实现用户在登录后,能够持续的发起流程. 需要注意的点: 1.使用不同的用户登录. 2.登录后发起可以持续的发起流程. 实现步骤 1.先使用badboy 录制脚本. 2.使用jmeter ...
- Centos7.x for aarch64 下载地址
ARM64架构系统 CentOS7镜像下载源 http://archive.kernel.org/centos-vault/altarch/ 例如:centos7.5 http://archive.k ...
- wordpress数字分页列表导航实现
前面我们用了自定义的方式来实现wordpress数字分页,其实wordpress是已经有集成了Numbered Pagination相关的函数,我们直接调用就可以.具体实现方法如下代码调用 <? ...
- 从Swift桥接文件到Clang-LLVM
http://blog.csdn.net/u014795020/article/details/72514109 前言 今天在Swift工程中不小心创建了一个OC文件,于是乎提示我创建一个桥接文件,那 ...
- docker 启动失败 Job for docker.service failed because the control process exited with error code. See "systemctl status docker.service" and "journalctl -xe" for details.
CentOS7安装docker,安装成功后,启动失败 提示: 我们可以看到此处它提示是Failed to start Docker Application Container Engine. 于是在网 ...
- python实现用户登录、注册实例
python面向函数式编程,模拟用户登录验证.注册的代码实现. 主要有以下两个文件: 1.user.txt文档文件,相当于数据库的用户信息表,主要是记录用户名和密码. 注意:1)此文档需要与.py文件 ...
- keepalived是什么及作用?
参考:https://www.cnblogs.com/hqjy/p/7615439.html keepalived介绍 keepalived观察其名可知,保持存活,在网络里面就是保持在线了, 也就是所 ...
- HDU 6091 - Rikka with Match
思路 树形dp,设计状态如下: 设 $dp_u_i_0$表示 以点 u 为根的子树 最大匹配数模 m 为 i 时,且 u 点没有匹配的方案数 DP[u][i][1] 表示 以点 u 为根的子树 最大匹 ...