如何測試集成是否成功?
我們在小米開發(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)化增量包的生成策略