配置微信小程序自動更新

咱們開發完小程序,發佈新版本以後,用戶若是想體驗新版本,須要把小程序從使用列表刪除,在從新搜索以後,再次打開,新的版本纔會生效。可是, 隨着咱們更新次數的增長,這種方式就很不友好,用戶體驗降低,因此在開發中,咱們就要考慮配置小程序自動更新。小程序

首先,咱們須要瞭解下小程序的運行機制,小程序啓動能夠分爲兩種狀況,一種是冷啓動,一種是熱啓動。微信小程序

  • 冷啓動:若是用戶首次打開,或小程序銷燬後被用戶再次打開,此時小程序須要從新加載啓動,即冷啓動。微信

  • 熱啓動:若是用戶已經打開過某小程序,而後在必定時間內再次打開該小程序,此時小程序並未被銷燬,只是從後臺狀態進入前臺狀態,這個過程就是熱啓動。

在瞭解下更新機制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

配置微信小程序自動更新
配置微信小程序自動更新

更新完會重啓,小程序自動更新已配置完成。開發

相關文章
相關標籤/搜索