友盟统计集成+360多渠道打包

按照惯例先放上Demo链接https://github.com/AndroidLMY/UMTest

准备

注册友盟->创建应用->获取APPKEY

集成

1.在工程 build.gradle 中的buildscript 和 allprojects 段中添加 sdk maven 仓库地址 "maven { url '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.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' }
  }
}

2.集成组件化各业务SDK 更多依赖详情见官网

// 友盟基础组件库(所有友盟业务SDK都依赖基础组件库)
implementation "com.umeng.umsdk:common:9.3.6" //(必选)
implementation "com.umeng.umsdk:asms:1.2.0" // asms包依赖(必选)

// 下面各SDK根据宿主App是否使用相关业务按需引入。
implementation "com.umeng.umsdk:abtest:1.0.0" // ABTest功能依赖(可选)
implementation "com.umeng.umsdk:apm:1.1.1" // 应用性能监控SDK依赖(可选)

 

配置

清单文件配置

UMENG_APPKEY你申请的APPKEY 

UMENG_CHANNEL为渠道号 这里动态配置方便更改渠道号

 <meta-data
     android:name="UMENG_APPKEY"
     android:value="604052d4b8c8d45c138a95af" />
 <meta-data
     android:name="UMENG_CHANNEL"
     android:value="${UMENG_CHANNEL_VALUE}" />

在Application中初始化友盟SDK

package com.lmy.umtest

import android.app.Application
import android.content.pm.PackageManager
import com.umeng.analytics.MobclickAgent
import com.umeng.commonsdk.UMConfigure

class App : Application() {
    companion object {
        lateinit var mInstance: App
    }

    override fun onCreate() {
        super.onCreate()
        mInstance = this
        initUM()
    }

    /**
     * 初始化友盟统计
     */
    private fun initUM() {
        //友盟SDK Log开关
        UMConfigure.setLogEnabled(true)
        //设置自动采集信息
        MobclickAgent.setPageCollectionMode(MobclickAgent.PageMode.AUTO)
        /**
         * 注意: 即使您已经在AndroidManifest.xml中配置过appkey和channel值,也需要在App代码中调
         * 用初始化接口(如需要使用AndroidManifest.xml中配置好的appkey和channel值,
         * UMConfigure.init调用中appkey和channel参数请置为null)。
         */
        UMConfigure.init(this, "604052d4b8c8d45c138a95af", null, UMConfigure.DEVICE_TYPE_PHONE, "")
    }

    /**
     * 获取友盟渠道名
     * @return 如果没有获取成功,那么返回值为空
     */
    fun getChannelName(): String {
        var channelName = "官方"
        try {
            val packageManager = packageManager
            if (packageManager != null) {
                //注意此处为ApplicationInfo 而不是 ActivityInfo,因为友盟设置的meta-data是在application标签中,而不是某activity标签中,所以用ApplicationInfo
                val applicationInfo =
                    packageManager.getApplicationInfo(packageName, PackageManager.GET_META_DATA)
                if (applicationInfo != null) {
                    if (applicationInfo.metaData != null) {
                        //此处这样写的目的是为了在debug模式下也能获取到渠道号,如果用getString的话只能在Release下获取到。
                        channelName = applicationInfo.metaData["UMENG_CHANNEL"].toString() + ""
                    }
                }
            }
        } catch (e: PackageManager.NameNotFoundException) {
            e.printStackTrace()
        }
        return channelName
    }
}

测试

build.gradle中android节点下配置

/**
 * 配置多渠道打包
 */
productFlavors {
    dev {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "测试"]
    }
    pro {
        manifestPlaceholders = [UMENG_CHANNEL_VALUE: "官方"]
    }
}

如果添加以后报错请在android->defaultConfig下添加flavorDimensions "versionCode"

 

点击选择不用版本 即可动态修改清单文件中UMENG_CHANNEL_VALUE的值(渠道号)

在Activity中调用 即可获取到不同的渠道号的值

package com.lmy.umtest

import android.os.Bundle
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity

class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val tv_channel = findViewById<TextView>(R.id.tv_channel)
        tv_channel.text = App.mInstance.getChannelName()
    }
}

选中devDebug运行

结果:

选中proDebug运行

结果:

 

多渠道打包

手动分别打测试渠道包和正式渠道包

360多渠道打包

打开360加固软件 配置好你的应用签名

然后点击配置多渠道

配置好后点击添加即可

配置两个渠道包

最后点击添加应用即可 加固以后不即可得到相关的渠道包

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值