本文主要是介绍友盟统计+友盟多渠道,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
开始吧:产品-》移动统计-》进入新版-》创建新应用-》获取到appkey
一、在项目的build.gradle中添加
buildscript {repositories {google()jcenter()maven { url 'https://dl.bintray.com/umsdk/release' }}dependencies {classpath 'com.android.tools.build:gradle:3.4.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' }}
}
二、现在在module里添加依赖
// 下面各SDK根据宿主App是否使用相关业务按需引入。
// OAID目前为目前国内市场主流的Android Q设备标识,可根据需要选择。
// 友盟统计SDK
implementation 'com.umeng.umsdk:common:9.1.0' // (必选)
implementation 'com.umeng.umsdk:game:9.1.0+G' // 游戏统计SDK依赖(可选)
implementation 'com.umeng.umsdk:asms:1.1.3' // asms包依赖(必选)
implementation 'com.umeng.umsdk:crash:0.0.4' // native crash包依赖(必选)implementation 'com.umeng.umsdk:oaid_lenovo:1.0.0' // (可选)
implementation 'com.umeng.umsdk:oaid_mi:1.0.0' // (可选)
implementation 'com.umeng.umsdk:oaid_oppo:1.0.4' // (可选)
implementation 'com.umeng.umsdk:oaid_vivo:1.0.0.1' // (可选)
三、清单文件中的权限
<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_PHONE_STATE"/>
<uses-permission android:name="android.permission.INTERNET"/>
四、清单文件中的权限
<meta-dataandroid:name="UMENG_APPKEY"android:value="你申请的友盟appkey" /><!--value的值填写渠道名称,例如yingyongbao。这里设置动态渠道名称变量--><meta-dataandroid:name="UMENG_CHANNEL"android:value="${UMENG_CHANNEL_VALUE}" />
五、初始化,在application的oncreate()方法里添加
//第一种 UMConfigure.init(this, "5f31f196b4b0*********", "ysj", UMConfigure.DEVICE_TYPE_PHONE, "");
/**
* 注意:如果您已经在AndroidManifest.xml中配置过appkey和channel值,可以调用此版本初始化函数。
*/
//第二种
UMConfigure.init(Context context, int deviceType, String pushSecret);
六、混淆配置
-keep class com.umeng.** {*;}-keep class com.uc.** {*;}-keepclassmembers class * {public <init> (org.json.JSONObject);
}
-keepclassmembers enum * {public static **[] values();public static ** valueOf(java.lang.String);
}
-keep class com.zui.** {*;}
-keep class com.miui.** {*;}
-keep class com.heytap.** {*;}
-keep class a.** {*;}
-keep class com.vivo.** {*;}
七、配置渠道(与defaultConfig、signingConfigs、并列关系)
记得配置签名信息signingConfigs
/配置渠道/
flavorDimensions "default"
productFlavors{loveeat {manifestPlaceholders = [UMENG_CHANNEL_VALUE: "loveeat"]}yingyongbao {manifestPlaceholders = [UMENG_CHANNEL_VALUE: "yingyongbao"]}wandoujia {manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]}huawei {manifestPlaceholders = [UMENG_CHANNEL_VALUE: "huawei"]}xiaomi {manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]}c360 {manifestPlaceholders = [UMENG_CHANNEL_VALUE: "c360 "]}
}/*自定义打包apk名称*/
android.applicationVariants.all { variant ->variant.outputs.all { output ->variant.productFlavors.each { flavor ->def project = "acf"def separator = "_"def buildType = variant.variantData.variantConfiguration.buildType.namedef versionName = variant.versionNamedef versionCode = variant.versionCodedef date = new Date()def formattedDate = date.format('yyyyMMdd')def apkName = project + separator + "v" + versionName + separator + versionCode + separator + buildType + separator + flavor.name + ".apk"if (buildType == "release") {apkName = project + separator + "v" + versionName + separator + versionCode + separator + buildType + separator + flavor.name + separator + formattedDate + ".apk"}output.outputFileName = apkName}}
}
八、 执行打包命令
只需在Android Studio的命令行Terminal下输入以下命令即可:
gradlew.bat assembleRelease
这篇关于友盟统计+友盟多渠道的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!