小米應用商店檢查更新SDK 常見問題FAQ

來源: 小米開放平臺
作者:小米開放平臺
時間:2020-09-22
18906
本文介紹小米應用商店檢查更新SDK的常見問題FAQ。


如何測試集成是否成功?

我們在小米開發(fā)者中心提供了測試沙盒,當您集成完畢之后,可以在沙盒中上傳您的包進行測試,在沙盒中上傳并不會發(fā)布出去,您可以放心測試沙盒位置:登錄小米開發(fā)者中心-選擇您的應用-點擊『檢查更新SDK』-您可以看到沙盒測試按鈕

如何設置僅在WiFi下檢查更新?

默認是在有網(wǎng)絡條件下即檢查,可設置為只在WiFi情況下檢查更新:

XiaomiUpdateAgent.setCheckUpdateOnlyWifi(true);

XiaomiUpdateAgent.update(this);

API:

- public void setCheckUpdateOnlyWifi(boolean isOnlyWiFi)

    isOnlyWiFi 布爾值 false(默認) 在有網(wǎng)絡情況下就檢查更新,true,只在WiFi下檢查更新

我希望自己設計提醒樣式,如何手動處理回調?

如果想自己處理更新可以按如下步驟,設置updateAutoPopup=false,SDK將停止彈框,實現(xiàn)更新監(jiān)聽接口,處理更新事件:

XiaomiUpdateAgent.setUpdateAutoPopup(false);

XiaomiUpdateAgent.setUpdateListener(new XiaomiUpdateListener() {


    @Override

    public void onUpdateReturned(int updateStatus, UpdateResponse updateInfo) {

        switch (updateStatus) {

            case UpdateStatus.STATUS_UPDATE:

                 // 有更新, UpdateResponse為本次更新的詳細信息

                 // 其中包含更新信息,下載地址,MD5校驗信息等,可自行處理下載安裝

                 // 如果希望 SDK繼續(xù)接管下載安裝事宜,可調用

                 //  XiaomiUpdateAgent.arrange()

                 break;

             case UpdateStatus.STATUS_NO_UPDATE:

                // 無更新, UpdateResponse為null

                break;

            case UpdateStatus.STATUS_NO_WIFI:

                // 設置了只在WiFi下更新,且WiFi不可用時, UpdateResponse為null

                break;

            case UpdateStatus.STATUS_NO_NET:

                // 沒有網(wǎng)絡, UpdateResponse為null

                break;

            case UpdateStatus.STATUS_FAILED:

                // 檢查更新與服務器通訊失敗,可稍后再試, UpdateResponse為null

                break;

            case UpdateStatus.STATUS_LOCAL_APP_FAILED:

                // 檢查更新獲取本地安裝應用信息失敗, UpdateResponse為null

                break;

            default:

                break;

        }

    }

});

XiaomiUpdateAgent.update(this);

檢查更新SDK如何檢查新版本?

當調用SDK的update()方法時,SDK會獲取當前應用的包名,版本號,簽名和當前版本的MD5,上傳至服務器,并帶上相應的機型信息,由服務器進行匹配過濾,并將更新信息和下載地址等返回給SDK來處理。

檢查更新SDK申請的權限對應哪些功能?

·android.permission.WRITE_EXTERNAL_STORAGE允許許將下載的apk文件保存到sd卡中

·android.permission.ACCESS_NETWORK_STATE

·android.permission.INTERNET

·android.permission.ACCESS_WIFI_STATE以上三個權限允許SDK訪問手機的網(wǎng)絡連接狀態(tài),判斷是否更新

·android.permission.READ_PHONE_STATE用于讀取手機硬件信息等,用于機型過濾

·com.xiaomi.market.sdk.UPDATE用于標明使用小米SDK

有時候測試發(fā)現(xiàn)并不是增量升級包是為什么?

由于增量更新需要通過比較當前包和更新包的差異來產生DIFF文件,如果一直檢測不到增量更新,有可能是服務器上沒有當前包的備份,無法生成DIFF文件。

增量更新有哪些要求?

·只要用戶安裝的App版本,曾經(jīng)在小米應用商店發(fā)布過,在下載更新時,SDK就會自動下載增量包更新。無論與最新版之間相隔多少個版本,小米應用商店的服務器都會自動計算出合適的增量包。

·提醒1:增量更新只在由SDK負責下載更新時生效

·提醒2:因為增量包生成的觸發(fā),是首次有用戶請求該增量包時發(fā)生的,因此,新版本剛剛發(fā)布時,會有極少部分用戶下載到的仍然是完整包,后面我們會優(yōu)化增量包的生成策略

立即登錄,閱讀全文
版權說明:
本文內容來自于小米開放平臺,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
優(yōu)質服務商推薦
更多
掃碼登錄
打開掃一掃, 關注公眾號后即可登錄/注冊
加載中
二維碼已失效 請重試
刷新
賬號登錄/注冊
小程序
快出海小程序
公眾號
快出海公眾號
商務合作
商務合作
投稿采訪
投稿采訪
出海管家
出海管家