Android开发友盟多渠道打包和统计

释放双眼,带上耳机,听听看~!

一:多渠道打包

第一步:登入友盟官网,点击产品,点击移动统计,点击进入新版,点击添加新应用

然后提交并获取AppKey

第二步:添加maven以来配置,在工程build.gradle配置脚本中buildscript和allprojects段中添加【友盟+】sdk 新maven仓库地址

buildscript {
repositories {
google()
jcenter()
//  maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" }
maven { url 'https://dl.bintray.com/umsdk/release' }
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.0'
}
}
allprojects {
repositories {
google()
jcenter()
maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" }
maven { url 'https://dl.bintray.com/umsdk/release' }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}

第三步:在工程App 对应build.gradle配置脚本dependencies段中添加基础组件库和统计SDK库依赖(在Android Studio 3.1及以上版本开发环境下,指定引用最新版本依赖写法”latest.integration”可能导致下载库超时,此时需要指定具体版本号。)

implementation 'com.umeng.sdk:analytics:latest.integration'
implementation  'com.umeng.umsdk:common:latest.integration'

第四步:在AndroidManifest.xml里添加权限

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

第五步:添加混淆设置

# 友盟
-keep class com.umeng.** {*;}
-keepclassmembers class * {
public <init> (org.json.JSONObject);
}
-keepclassmembers enum * {
public static **[] values();
public static ** valueOf(java.lang.String);
}

第六步:在AndroidManifest.xml里添加UMENG_APPKEY和UMENG_CHANNEL

<!-- 友盟多渠道打包 -->
<meta-data
android:name="UMENG_APPKEY"
android:value="5dba79744ca357149c000a2e" />
<meta-data
android:name="UMENG_CHANNEL"
android:value="${UMENG_CHANNEL_VALUE}" />

第七步:在工程App 对应build.gradle里配置多渠道

productFlavors {
ALi {}
Baidu {}
QiHoo360 {}
Samsung {}
HuaWei {}
OPPO {}
VIVO {}
MI {}
MeiZu {}
Lenovo {}
Tencent {}
//遍历productFlavors
productFlavors.all {
//动态设置UMENG_CHANNEL_VALUE对应的值
flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
}
}

第八步:Make Project时出现All flavors must now belong to a named flavor dimension的错误

在stackoverflow上找到答案,必须至少有一个flavorDimensions添加到你的build.gradle文件里

https://stackoverflow.com/questions/54607967/how-do-i-resolve-this-productflavours-error

在build.gradle文件里的defaultConfig下添加

android {
defaultConfig {
      ..........
    flavorDimensions "default"
  }
}

第九步:打包 (打包时Flavors要出现你配置的渠道)

第十步:看结果

二:友盟统计

第一步:在前面的maven配置和引入依赖的环境下,我们在application.onCreate函数进行基础统计的初始化

@Override
public void onCreate() {
super.onCreate();
// SophixManager.getInstance().queryAndLoadNewPatch();
UMConfigure.init(HotFixApplication.this, Constant.deviceType, Constant.pushSecret);
UMConfigure.setLogEnabled(true);
}

第二步:添加代码(最好在所有activit的基类里添加)

@Override
public void onResume() {
super.onResume();
MobclickAgent.onResume(this);
}
@Override
public void onPause() {
super.onPause();
MobclickAgent.onPause(this);
}

第三步:操作下app,然后友盟平台查看结果

人已赞赏
Android文章

Android开发接入阿里热修复Sophix框架

2021-2-1 19:15:25

Android文章

Android开发接入融云案例

2021-2-1 20:09:55

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索