咱們開發完小程序,發佈新版本以後,用戶若是想體驗新版本,須要把小程序從使用列表刪除,在從新搜索以後,再次打開,新的版本纔會生效。可是, 隨着咱們更新次數的增長,這種方式就很不友好,用戶體驗降低,因此在開發中,咱們就要考慮配置小程序自動更新。小程序
首先,咱們須要瞭解下小程序的運行機制,小程序啓動能夠分爲兩種狀況,一種是冷啓動,一種是熱啓動。微信小程序
冷啓動:若是用戶首次打開,或小程序銷燬後被用戶再次打開,此時小程序須要從新加載啓動,即冷啓動。微信
在瞭解下更新機制app
未啓動時更新:就是說用戶本地已經存在小程序歷史版本,此時打開不是最新版本,最壞的狀況是24小時內下發推送給用戶。異步
上面簡單介紹了小程序的運行機制和更新機制,接下來就是配置小程序自動更新。咱們在app.js中,新增以下代碼ide
// 小程序自動更新 if (wx.canIUse('getUpdateManager')) { const updateManager = wx.getUpdateManager() updateManager.onCheckForUpdate(function (res) { // 請求完新版本信息的回調 if (res.hasUpdate) { updateManager.onUpdateReady(function () { wx.showModal({ title: '更新提示', content: '新版本已經準備好,是否重啓應用?', success: function (res) { if (res.confirm) { // 新的版本已經下載好,調用 applyUpdate 應用新版本並重啓 updateManager.applyUpdate() } } }) }) updateManager.onUpdateFailed(function () { // 新的版本下載失敗 wx.showModal({ title: '已經有新版本了喲~', content: '新版本已經上線啦~,請您刪除當前小程序,從新搜索打開喲~' }) }) } }) }
添加編譯模式code
小程序會從新編譯,版本更新已提示blog
更新完會重啓,小程序自動更新已配置完成。開發