多渠道打包

多渠道打包

一 前言

應用市場:豌豆莢,應用寶,360,小米,華爲,百度等。多渠道打包的目的是爲了區分用戶從哪個應用市場下載的apk,爲產品的運營和推廣提供數據支持。

二 AndroidManifest.xml配置

在AndroidManifest.xml的application標籤內聲明:

 <meta-data android:name="CHANNEL" android:value="${CHANNEL_VALUE}" />

三 在模塊下的build.gradle中的android標籤內聲明

android {
    ........
    productFlavors {
        wandojia { manifestPlaceholders = [CHANNEL_VALUE: "wandojia"]}
        baidu { manifestPlaceholders = [CHANNEL_VALUE: "baidu"]}
        c360 { manifestPlaceholders = [CHANNEL_VALUE: "c360"]}
        tencent { manifestPlaceholders = [CHANNEL_VALUE: "tencent"]}
    }
}

四 獲取簽名

public void getChannel() {
    PackageManager packageManager = getPackageManager();
    try {
        PackageInfo packageInfo = packageManager.getPackageInfo(getPackageName(), PackageManager.GET_META_DATA);
        Bundle metaData = packageInfo.applicationInfo.metaData;
        String channel = metaData.getString("CHANNEL");
        Log.d(TAG, "getChannel: " + channel);
    } catch (PackageManager.NameNotFoundException e) {
        e.printStackTrace();
    }
}

五 尾言

本文如有錯誤或不當之處,歡迎讀者留言斧正,互相交流學習,博主不勝感激.聯繫郵箱[email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章