隨著應(yīng)用內(nèi)容的豐富、功能的不斷增多,您的App體積可能越來(lái)越大。而用戶在下載App的時(shí)候都希望占用存儲(chǔ)空間越小越好,對(duì)于體積較大的應(yīng)用,用戶有可能“望而生畏”,因此,作為一名開(kāi)發(fā)者,縮小應(yīng)用的包體是頂頂重要之事,因?yàn)樗鼘?duì)于提高下載安裝成功率有非常大的作用。
之前我們已經(jīng)介紹過(guò)了如何在AppGallery Connect發(fā)布App Bundle應(yīng)用,現(xiàn)在我們來(lái)介紹為應(yīng)用進(jìn)一步瘦身的方法——給您的App Bundle應(yīng)用集成Dynamic Ability SDK.
Dynamic Ability SDK是什么?
基于App Bundle技術(shù),AppGallery Connect提供了Dynamic Ability功能。通過(guò)集成Dynamic Ability SDK,開(kāi)發(fā)者可以將不常用功能做成動(dòng)態(tài)特性。用戶首次下載應(yīng)用時(shí),只下載基本功能模塊,僅在需要時(shí)才會(huì)動(dòng)態(tài)下載動(dòng)態(tài)特性。
例如:
1,如果在使用應(yīng)用的用戶中,只有少量的人使用客服功能,那么您可以將上傳照片和截圖、輸入文字反饋的功能配置為按需下載,使該功能僅在用戶希望在與客服交流時(shí)才下載。
2,如果應(yīng)用的某個(gè)功能依賴于硬件特性,比如指紋,為了減小應(yīng)用的初始下載大小,您可以創(chuàng)建單獨(dú)的動(dòng)態(tài)功能模塊來(lái)處理,并將這些模塊配置為根據(jù)用戶的硬件特性視條件安裝在用戶設(shè)備上。
集成Dynamic Ability SDK流程
預(yù)計(jì)耗時(shí):10-15小時(shí)
1,創(chuàng)建Android項(xiàng)目。
2,在AppGallery Connect創(chuàng)建Android應(yīng)用。
3,集成Dynamic Ability SDK
a.在項(xiàng)目級(jí)gradle文件(通常在項(xiàng)目根目錄)中的allprojects->repositories里面配置SDK的maven倉(cāng)地址。
在項(xiàng)目級(jí) gradle 文件(通常在項(xiàng)目根目錄)中的allprojects ->repositories里面配置SDK的maven倉(cāng)地址。
allprojects{
repositories{
maven {url 'https://developer.huawei.com/repo/'}
...
}
}
b. 在應(yīng)用級(jí) gradle 文件中(通常在app/build.gradle)添加如下代碼集成Dynamic Ability SDK。
dependencies {
implementation 'com.huawei.hms:dynamicability:1.0.14.300'
...
}
4,初始化SDK
a. 在您的Android項(xiàng)目中配置您的Application,并override其中的attachBaseContext()方法,調(diào)用FeatureCompat.install初始化Dynamic Ability SDK。
public class MyApplication extends Application {
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
// 啟動(dòng)Dynamic Ability SDK
FeatureCompat.install(base);
}
}
b. 在動(dòng)態(tài)特性模塊的Activity中,調(diào)用FeatureCompat.install初始化Dynamic Ability SDK。
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(newBase);
//在activity中初始化
FeatureCompat.install(newBase);
}
5,調(diào)用Dynamic Ability SDK接口實(shí)現(xiàn)動(dòng)態(tài)加載特性
a.請(qǐng)求安裝特性
b.監(jiān)聽(tīng)動(dòng)態(tài)加載狀態(tài)
c.延遲安裝與卸載
d.取消安裝
e.獲取指定加載任務(wù)的執(zhí)行狀態(tài)
f.查看已安裝的特性列表