微信小程序同其他的應用程序一樣,開發之后會不斷的優化、調整,進而會不定期發布新的版本,目的是為了給到用戶最好的體驗。開發者在管理后臺發布新版本的小程序之后,用戶端是如何更新的呢?
微信小程序更新機制
1、啟動時同步更新(分兩種情況)
1)定期檢查發現版本更新
微信運行時,會定期檢查最近使用的小程序是否有更新。如果有更新,下次小程序啟動時會同步進行更新,更新到最新版本后再打開小程序,盡可能保證用戶能夠盡快使用小程序的最新版本。開發者在后臺發布新版本之后,無法立刻影響到所有現網用戶,但最差情況下,也在發布之后24小時之內覆蓋絕大多數用戶。
2)用戶長時間未使用小程序
用戶長時間未使用小程序時,為保障小程序版本的實時性,會強制同步檢查版本更新,更新到最新版本后再打開小程序。
2、啟動時異步更新
即使啟動前未發現更新,小程序每次冷啟動時,都會異步檢查是否有更新版本。如果發現有新版本,將會異步下載新版本的代碼包。但當次啟動仍會使用客戶端本地的舊版本代碼,即新版本的小程序需要等下一次冷啟動才會使用。
3、開發者手動觸發更新
在啟動時異步更新的情況下,如果開發者希望立刻進行版本更新,可以使用 wx.getUpdateManager API(代碼如下)進行處理,在有新版本時提示用戶重啟小程序更新新版本。
const updateManager = wx.getUpdateManager()
updateManager.onCheckForUpdate(function (res) {
// 請求完新版本信息的回調
console.log(res.hasUpdate)
})
updateManager.onUpdateReady(function () {
wx.showModal({
title: ‘更新提示’,
content: ‘新版本已經準備好,是否重啟應用?’,
success(res) {
if (res.confirm) {
// 新的版本已經下載好,調用 applyUpdate 應用新版本并重啟
updateManager.applyUpdate()
}
}
})
})
updateManager.onUpdateFailed(function () {
// 新版本下載失敗
})