友盟统计+友盟多渠道

开始吧:产品-》移动统计-》进入新版-》创建新应用-》获取到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-data
        android:name="UMENG_APPKEY"
        android:value="你申请的友盟appkey" />
    <!--value的值填写渠道名称,例如yingyongbao。这里设置动态渠道名称变量-->
    <meta-data
        android: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.name
            def versionName = variant.versionName
            def versionCode = variant.versionCode
            def 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值