如圖,當小程式發布新的版本後,使用者如果之前訪問過該小程式,通過已開啟的小程式進入(未手動刪除),則會彈出這個提示,提醒使用者更新新的版本。使用者點選確定就可以自動重啟更新,點選取消則關閉彈窗,不再更新。
官方提供的demo中,只有最基本的更新提示,並未做異常處理。而且官方也說了這個功能基礎庫 1.9.90 開始支援,低版本需做相容處理,那麼就需要對著端**進行改進了。
另一方面,如果當前版本更新有重大調整,一定需要使用者更新,那麼可以在使用者點選取消的**中給出提示,並重新進入版本提示流程。如下圖,在上邊的更新提示中,使用者點選取消,則彈出下面提示彈窗,使用者點選確定,則更新版本,點選取消,則重新呼叫上邊的更新提示。總之,使用者只有更新了,才能正常訪問小程式(如非必須,建議慎用)。
}})更新版本的模擬測試:2. 小程式開發版/體驗版沒有「版本」概念,所以無法在開發版/體驗版上測試更版本更新情況;
對於開發者工具,可以這樣驗證測試:
點選編譯模式設定下拉列表,然後點選「新增編譯模式」,在自定義編譯條件彈窗介面,點選下次編譯時模擬更新,然後點選確定,重新編譯就ok了。
需要注意的是,這種方式模擬更新一次之後就失效了,後邊再測試仍需要對這種編譯模式進行重新設定才可以。
更新提示有延遲?
onlaunch:
function
(options) ,
autoupdate:
function
()
else
if(res.cancel) }})
}}})}
})}
else
},/*
*
*/downloadandupdate:
function
(updatemanager))
updatemanager.onupdatefailed(
function
() )
})}})
這樣,從小程式載入到彈出版本更新彈窗只需要耗費呼叫新版本檢測api並返回結果的時間(開發者工具測試有2~3秒),雖說還是有一點延遲,但目前也只能這樣了。
總結:
綜上,無論如何,使用小程式版本更新檢測功能都是需要一定時間的(一兩秒的時間已經不算短了哈),如果在檢測這一兩秒中內使用者進行了操作,那麼更新提示彈窗則會打斷使用者的操作。但畢竟不是頻繁更新版本,所以這方面還是可以接受的。
梳理了下,整了份思維導圖,可以輔助理解:
其他注意事項:
基礎庫最低版本設定:
如果不想做api支援判斷,那麼可以給小程式設定最低版本支援。
關於微信小程式發布新版本後的提示使用者更新的方法詳解
當小程式發布新的版本後 使用者如果之前訪問過該小程式,通過已開啟的小程式進入 未手動刪除 則會檢測新版本,提醒使用者更新新的版本 話不多說,上 onlaunch function autoupdate function else if res.cancel else downloadandupdat...
專案更新版本時手機提示 程式未安裝
歷時3個月開發的大版本更新,剛上線就被吐槽難看,然後要回滾版本,把就 改吧改吧就發上去了,但是點了更新之後手機居然提示程式未安裝,用了幾個小時去排查到底 出問題了,最後發現是相容sdk版本出問題了 targetsdkversion 因為老版本的sdk很低 然後新版本沒考慮過這方面 直接哪個方便就用上...
LBS 位置定位服務 發布小清新版本
web前端對我來說始終是乙個短板,當然在不追求全棧的情況下,我也覺得沒必要多精通,至少對於平常調整已經比較熟悉了。但是這次因為將lbs的頁面外包給別人,而因為各種各樣的原因導致交付時間一拖再拖,讓人非常失望,大感掌握前端的必要性。總算在前幾天交付了,使用的是bootstrap,雖然這個前端框架之前就...