小米應(yīng)用商店:檢查更新SDK 集成指南

來源: 小米開放平臺
作者:小米開放平臺
時間:2020-10-09
17924
小米應(yīng)用商店檢查更新SDK(下文簡寫為『檢查更新SDK』)幫助您的用戶盡快獲得最新版本的應(yīng)用!輕松增加『自動檢查更新』功能,通過小米應(yīng)用商店的CDN服務(wù),快速的把最新版應(yīng)用推送給用戶!

NjlkMjk3YS5qcGc.jpg

小米應(yīng)用商店檢查更新SDK(下文簡寫為『檢查更新SDK』)幫助您的用戶盡快獲得最新版本的應(yīng)用!輕松增加『自動檢查更新』功能,通過小米應(yīng)用商店的CDN服務(wù),快速的把最新版應(yīng)用推送給用戶!

功能特點:

·支持增量更新:檢查更新SDK會自動識別用戶版本,并提供diff包給用戶,加速省流

·一次發(fā)布全面更新:只要在小米應(yīng)用商店發(fā)布新版,所有的用戶都可以收到新版發(fā)布提醒。

·標(biāo)準(zhǔn)Android SDK:無論用戶是否使用MIUI,都可以收到更新提醒。

·方便省心:無需考慮配置服務(wù)器,部署CDN等問題,小米應(yīng)用商店免費提供。

·支持基于設(shè)備屬性和API-Level的系統(tǒng)版本過濾,會將新版推送給支持的設(shè)備。

·獨家支持:在MIUI系統(tǒng)上支持調(diào)用系統(tǒng)商店更新,升級成功率更高!

立即開始集成:

1.添加sdk依賴

//添加依賴

compile'mi-appstore:xiaomi-update-sdk:4.0.3'

2.在AndroidManifest.xml文件中添加SDK信息

2.1添加檢查更新需要的權(quán)限

打開AndroidManifest.xml,添加SDK需要的權(quán)限到<manifest>標(biāo)簽下:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

<uses-permission android:name="android.permission.INTERNET"/>

<uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>

<uses-permission android:name="android.permission.READ_PHONE_STATE"/>

<uses-permission android:name="com.xiaomi.market.sdk.UPDATE"/>

2.2添加receiver

<provider

    android:name="android.support.v4.content.FileProvider"

    android:authorities="your_package_name.selfupdate.fileprovider" //請將your_package_name替換成您應(yīng)用的包名.

    android:exported="false"

    android:grantUriPermissions="true">

    <meta-data

        android:name="android.support.FILE_PROVIDER_PATHS"

        android:resource="@xml/xiaomi_update_sdk_file_paths" />

</provider>

3.調(diào)用檢查更新接口

在需要檢查更新的Activity里的OnCreate()方法中調(diào)用

public void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    XiaomiUpdateAgent.update(this);

}

4.API說明

4.1 XiaomiUpdateAgent

4.1.1 public static void update(Context context)

/**

 * 觸發(fā)檢查更新, 根據(jù)BuildType是否為Debug(BuildConfig.DEBUG=true)決定是否使用沙盒測試

 * @param context 會以WeakRerference的形式存在, 若檢查更新結(jié)果返回時, context已銷毀,

 *                此次檢查更新被忽略

 */

public synchronized static void update(Context context)

4.1.2 public synchronized static void update(Context context,boolean debug)

 * 觸發(fā)檢查更新

 * @param context 會以WeakRerference的形式存在,若檢查更新結(jié)果返回時,context已銷毀,

 *                此次檢查更新被忽略

 * @param debug 是否使用沙盒測試

 */

public synchronized static void update(Context context, boolean debug)

4.1.3 public static void setUpdateAutoPopup(boolean autoPopup)

/**

 * 設(shè)置檢查到應(yīng)用可更新時是否自動彈窗,當(dāng)設(shè)置為true時且updte方法傳入的Context是Activity,則在檢查到更新時自動彈窗提醒

 * 若設(shè)置為false,或者update接口的Context不是Activity時,則需要應(yīng)用通過setUpdateListener注冊檢查結(jié)果回調(diào),并自己處理檢查結(jié)果

 * @param autoPopup 設(shè)置有可更新包時,是否自動彈出升級對話框,默認(rèn)為true

 */

public static void setUpdateAutoPopup(boolean autoPopup)

4.1.4 public static void setCheckUpdateOnlyWifi(boolean checkUpdateOnlyWifi)

/**

*設(shè)置是否僅在wifi下檢查更新

* param checkUpdateOnlyWifi是否僅wifi下檢查更新,默認(rèn)為false

*/

public static void setCheckUpdateOnlyWifi(boolean checkUpdateOnlyWifi)

4.1.4 public static void setUpdateListener(XiaomiUpdateListener updateListener)

設(shè)置檢查到更新時的回調(diào)接口。僅當(dāng)setUpdateAutoPopup(false)時,才生效。

4.1.5 public static int getSDKVersion()

/**

*返回當(dāng)前sdk版本號

* return sdk版本號

*/

public static int getSDKVersion()

4.1.6 public static void setUseInternationalHost(boolean useInternational)

/**

*設(shè)置是否使用海外地區(qū)apk.

*應(yīng)用商店支持同一個包名在不同中國和海外分發(fā)不同的apk.

*設(shè)置此參數(shù),可強制使用國內(nèi)或者海外地區(qū)apk,此功能主要用于非miui系統(tǒng).

*

* param useInternational是否使用海外地區(qū),國際版miui系統(tǒng)默認(rèn)為true,否則默認(rèn)為false

*/

public static void setUseInternationalHost(boolean useInternational)

4.1.7 public static void arrange()

/**

*觸發(fā)下載安裝流程。

*當(dāng)setUpdateAutoPopup(true)時,且update方法Context是Activity,則會在用戶點擊升級對話框的升級按鈕時,觸發(fā)下載安裝。

*當(dāng)setUpdateAutoPopup(false)時,或update方法Context不是Activity時,檢查到更新后,需要應(yīng)用主動調(diào)用此方法觸發(fā)下載安裝.

*根據(jù)是設(shè)備上是否存在小米應(yīng)用商店,此方法有兩種不同的結(jié)果:

*1)存在小米應(yīng)用商店時,會跳轉(zhuǎn)到應(yīng)用商店中該應(yīng)用的詳情頁,需要用戶手動點擊升級按扭,后續(xù)下載安裝由應(yīng)用商店自動完成,無需應(yīng)用再操作

*2)不存在小米應(yīng)用商店時,會使用系統(tǒng)下載管理器下載,并在下載完成后調(diào)起設(shè)備的包安裝器,需要用戶手動點擊包安裝器的升級按鈕,才能觸發(fā)安裝

*/

public static void arrange()

4.2 public class UpdateStatus

檢查更新返回碼:

/**

 * 有可更新版本

 */

public static final int STATUS_UPDATE           = 0;


/**

 * 無可更新版本

 */

public static final int STATUS_NO_UPDATE        = 1;


/**

 * 無wifi連接,當(dāng)設(shè)置了僅wifi檢查且當(dāng)前無wifi時返回此錯誤碼

 */

public static final int STATUS_NO_WIFI          = 2;


/**

 * 檢查更新時無網(wǎng)絡(luò)連接

 */

public static final int STATUS_NO_NET           = 3;


/**

 * 檢查更新失敗,主要是由于網(wǎng)絡(luò)故障或服務(wù)器異常等

 */

public static final int STATUS_FAILED           = 4;


/**

 * 獲取本地apk信息失敗

 */

public static final int STATUS_LOCAL_APP_FAILED = 5;

4.3 public class UpdateResponse

檢查結(jié)果信息

/**

*更新日志

*/

public String updateLog;

/**

*版本名稱

*/

public String versionName;

/**

*版本號

*/

public int versionCode;

/**

*下載地址

*/

public String path;

/**

*安裝包大小

*/

public long apkSize;

/**

*安裝包md5

*/

public String apkHash;

/**

*安裝包增量大小.sdk會根據(jù)本地apk和服務(wù)器apk的diff,下載增量包,并合成最終apk

*/

public long diffSize;

4.4 public interface XiaomiUpdateListener

檢查更新回調(diào)接口,用于接收檢查更新結(jié)果,僅在setUpdateAutoPopup(false)時有效

4.4.1 void onUpdateReturned(int updateStatus,UpdateResponse updateInfo)

/**

*檢查更新結(jié)果回調(diào)

* param updateStatus參考4.2 UpdateStatus

* param updateInfo參考4.3 UpdateResponse

*/

void onUpdateReturned(int updateStatus,UpdateResponse updateInfo);

立即登錄,閱讀全文
版權(quán)說明:
本文內(nèi)容來自于小米開放平臺,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
雙十一秘籍 | 11月米盟增收指南助你搶占電商大戰(zhàn)先機
雙十一秘籍 | 11月米盟增收指南助你搶占電商大戰(zhàn)先機
雙十一即將來臨,電商預(yù)算爭奪戰(zhàn)已經(jīng)打響!
小米開發(fā)者
小米應(yīng)用商店
2024-10-182024-10-18
小米應(yīng)用商店關(guān)于《APP備案標(biāo)準(zhǔn)變更》的公告
小米應(yīng)用商店關(guān)于《APP備案標(biāo)準(zhǔn)變更》的公告
為了保護用戶權(quán)益,提升用戶體驗,根據(jù)《工業(yè)和信息化部關(guān)于開展移動互聯(lián)網(wǎng)應(yīng)用程序備案工作的通知》,小米應(yīng)用商店新增了APP備案包名與主辦單位的要求,以下是詳細(xì)內(nèi)容。
小米開發(fā)者
小米應(yīng)用商店
2024-10-132024-10-13
App各大應(yīng)用商城的排名被哪些因素影響著?(小米/vivo篇)
App各大應(yīng)用商城的排名被哪些因素影響著?(小米/vivo篇)
小米應(yīng)用商店允許在后臺設(shè)置關(guān)鍵詞,8個關(guān)鍵詞,每個詞不超過5個字,權(quán)重從左到右逐漸降低。
App
小米應(yīng)用商店
應(yīng)用商店
2024-10-022024-10-02
米盟10月廣告增長提效指南【附新功能預(yù)告】
米盟10月廣告增長提效指南【附新功能預(yù)告】
國慶長假即將拉開序幕,7天長假將帶來一波流量的高峰。小米廣告聯(lián)盟(以下簡稱:米盟)為開發(fā)者伙伴帶來了10月廣告增長提效指南,內(nèi)含eCPM趨勢和預(yù)算分布預(yù)估、變現(xiàn)提效Tips、新功能爆料,助力開發(fā)者伙伴在小長假期間高效地把握預(yù)算節(jié)奏、提前精準(zhǔn)布局,實現(xiàn)量效雙贏!
小米開發(fā)者
小米應(yīng)用商店
應(yīng)用商店
2024-10-012024-10-01
優(yōu)質(zhì)服務(wù)商推薦
更多
個人VIP