友盟多渠道打包

步驟一:在AndroidManifest.xml中加入 meta-data

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

步驟二:在gradle中加入

    productFlavors {
        wandujia {}
        yingyongbao {}
        xiaomi {}
    }
    productFlavors.all { flavor ->
        flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }
    //指定輸出apk的名稱
    android.applicationVariants.all { variant ->
        variant.outputs.all {
            if (variant.name.endsWith("Debug")) {
                //debug包
                outputFileName = "$applicationId _v${defaultConfig.versionName}_code${defaultConfig.versionCode}_debug.apk"
            } else {
                //release包
                outputFileName = "$applicationId _v${defaultConfig.versionName}_code${defaultConfig.versionCode}_${releaseTime()}_release.apk"
            }
        }
    }

def releaseTime() {
    return new Date().format("yyyyMMddHHmm", TimeZone.getTimeZone("GMT+08:00"))
}

說明 gradle用groovy語言
1.什么是多渠道包?

渠道包就是要在安裝包中添加渠道信息,也就是channel,對應不同的渠道,例如:小米市場、360市場、應用寶市場等

2為什么要提供多渠道包

我們要在安裝包中添加不同的標識,應用在請求網絡的時候攜帶渠道信用,方便后臺做運營統計(這就是添加渠道信息的用處).

3.實現多渠道打包的原理:

一般來講,這個渠道的標識會放在AndoirdManifest.xml的Application的一個Metadata中。然后就可以在java中通過API獲取對應的數據了。

4.如何實現

現在android渠道多種多樣,其實渠道不僅僅局限于應用市場一種推廣方式也可以看做一個渠道,比如:通過人拉人的方式去推廣,官網上推廣,百度推廣等。 所以說渠道成千上萬,為了推廣,有時候一次也會打成千的安裝包,那你半天或者一天啥都別干了,所以個大公司高效的打包方式,借鑒一下

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容