微信小程序發佈新版本的小程序之後,某個用戶還是舊版本問題

項目出現的問題,開發者在管理後臺發佈新版本的小程序之後,如果某個用戶本地有小程序的歷史版本,此時打開的可能還是舊版本,需要關掉小程序,再重新打開,纔會是新版本的小程序。

我們需要去官網瞭解兩個小程序的概念:

  • 冷啓動:如果用戶首次打開,或小程序銷燬後被用戶再次打開,此時小程序需要重新加載啓動,即冷啓動。
  • 熱啓動:如果用戶已經打開過某小程序,然後在一定時間內再次打開該小程序,此時小程序並未被銷燬,只是從後臺狀態進入前臺狀態,這個過程就是熱啓動。

小程序每次冷啓動時,都會檢查是否有更新版本,如果發現有新版本,將會異步下載新版本的代碼包,並同時用客戶端本地的包進行啓動,即新版本的小程序需要等下一次冷啓動纔會應用上。
如果需要馬上應用最新版本,可以使用 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 () {
  // 新版本下載失敗
})
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章