友盟的多渠道打包

友盟的多渠道打包

1. 什么是多渠道包?

渠道包就是要在安装包中添加渠道信息,也就是channel,对应不同的渠道,例如:小米市场,360市场,应用宝市场等。

2. 为什么要提供多渠道包

我们要在安装包中添加不同的标识,应用在请求网络的时候携带渠道信息,方便后台做运营统计(这就是添加渠道信息的用处)

3. 实现多渠道打包的原理

一般来讲,这个渠道的标识会放在AndroidManifest.xml的Application的一个Metadata中。然后就可以在java中通过API获取对应的数据了。

如何实现?

现在Android渠道多模多样,其实渠道不仅仅局限于应用市场,一种推广方式也可以看做一个渠道,比如:通过人拉人的方式去推广,官网上推广,百度推广等。所以说渠道成千上万,为了推广,有时候一次也会打成千的安装包,那你半天或者一天啥都别干了,所以介绍几个大公司高效的打包方式,借鉴一下。

友盟多渠道分包的步骤

1. 获得AppKey

去友盟官网https://mobile.umeng.com/platform/apps/list,创建一个应用,并且获取AppKey

2.下载SDK

SDK下载网址https://developer.umeng.com/sdk/android?refer=UApp,按需下载,多渠道下载第一个移动统计 SDK就可以了。
解压后,会出现几个jar的文件。

libs/umeng-common-2.0.0.jar // 基础组件包

libs/umeng-analytics-8.0.0.jar // 游戏SDK包(包含所有统计SDK功能及接口)

utdid4all-1.x.x.x_proguard.jar // 包含设备标识UTDID组件

SecurityEnvSDK/. // 金融风控组件,包含一个jar包和多个so库

我们只需要将前两个jar包,放置到lib文件夹中。

3. manifest文件中设置








 //appkey
4. 创建application
public class App extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        UMConfigure.init(this, UMConfigure.DEVICE_TYPE_PHONE, "");
    }
}
5. 配置多渠道
android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.skyrayinstrument.wumeng.umeng"
        minSdkVersion 19
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        // 添加一个默认渠道号
        manifestPlaceholders=[UMENG_CHANNEL_VALUE: "umeng"]
        flavorDimensions "versionCode"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

    // 配置多渠道包支持
    productFlavors {
        Tencent {
            // 投放应用宝市场
        }
        xiaomi {
            // 投放小米市场
        }
        Vivo {
            // 投放Vivo市场
        }
        baidu {
            // 投放百度市场
        }
        Oppo {
            // 投放Oppo市场
        }
    }

    productFlavors.all {
        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation files('libs/umeng-common-2.0.2.jar')
    implementation files('libs/umeng-analytics-8.0.2.jar')
}

这里要注意,一定要加上flavorDimensions "versionCode"这一句,否则会报错。

6. 在Activity中设置统计
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

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

    @Override
    protected void onPause() {
        super.onPause();
        MobclickAgent.onPause(this);
    }
}
7. 在友盟后台查看
友盟的多渠道打包_第1张图片
友盟统计

你可能感兴趣的:(友盟的多渠道打包)