客服说要看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了,就这样就行了,加起来很快。

不过我没有要加什么支付监测或其他的,毕竟,不具体提到的需求,就是不用做的需求,嗯。

打包的时候选择需要的市场包

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

最新文章

  1. jquery 巧用json传参
  2. chrome 插件开发
  3. 某个点到其他点的曼哈顿距离之和最小(HDU4311)
  4. hdu 5594 ZYB&#39;s Prime 最大流
  5. ios-NSString总结
  6. MapReduce自定义二次排序流程
  7. Session详解及集群共享
  8. 推荐自学JAVA开发的三本书
  9. 第六篇 flask中session
  10. python创建数组的方法
  11. 【OpenCV】访问Mat中的每个像素值
  12. 12-部署EFK插件
  13. NetCore平台下使用RPC框架Hprose
  14. freemarker中对null值问题的处理
  15. RequireJs 与 SeaJs的相同之处与区别
  16. POJ 2385
  17. Informatica存储库和集成服务的配置
  18. 配置tomcat-users
  19. 微信小程序转换为百度小程序
  20. [Training Video - 4] [Groovy] Function in detail

热门文章

  1. Tomcat配置域名、ip访问及解决80端口冲突
  2. eclipse集成lombok插件
  3. 第五次个人作业- Alpha项目测试
  4. 分享stl sort函数坑点导致coredump问题
  5. php门面模式(facade pattern)
  6. Helm 安装使用
  7. oc语言源代码
  8. MongoDB shell 0 集合方法
  9. 20181107 模拟赛T1:快乐传递政治正确版
  10. 切比雪夫定理(Chebyshev&#39;s theorem)与经验法则(Empirical Rule)