微信小程序 更新機(jī)制

2022-04-25 11:42 更新

小程序更新機(jī)制

未啟動(dòng)時(shí)更新

開發(fā)者在管理后臺(tái)發(fā)布新版本的小程序之后,如果某個(gè)用戶本地有小程序的歷史版本,此時(shí)打開的可能還是舊版本。微信客戶端會(huì)有若干個(gè)時(shí)機(jī)去檢查本地緩存的小程序有沒(méi)有更新版本,如果有則會(huì)靜默更新到新版本。總的來(lái)說(shuō),開發(fā)者在后臺(tái)發(fā)布新版本之后,無(wú)法立刻影響到所有現(xiàn)網(wǎng)用戶,但最差情況下,也在發(fā)布之后 24 小時(shí)之內(nèi)下發(fā)新版本信息到用戶。用戶下次打開時(shí)會(huì)先更新最新版本再打開。

啟動(dòng)時(shí)更新

小程序每次冷啟動(dòng)時(shí),都會(huì)檢查是否有更新版本,如果發(fā)現(xiàn)有新版本,將會(huì)異步下載新版本的代碼包,并同時(shí)用客戶端本地的包進(jìn)行啟動(dòng),即新版本的小程序需要等下一次冷啟動(dòng)才會(huì)應(yīng)用上。

如果需要馬上應(yīng)用最新版本,可以使用 wx.getUpdateManager API 進(jìn)行處理。

const updateManager = wx.getUpdateManager()

updateManager.onCheckForUpdate(function (res) {
  // 請(qǐng)求完新版本信息的回調(diào)
  console.log(res.hasUpdate)
})

updateManager.onUpdateReady(function () {
  wx.showModal({
    title: '更新提示',
    content: '新版本已經(jīng)準(zhǔn)備好,是否重啟應(yīng)用?',
    success(res) {
      if (res.confirm) {
        // 新的版本已經(jīng)下載好,調(diào)用 applyUpdate 應(yīng)用新版本并重啟
        updateManager.applyUpdate()
      }
    }
  })
})

updateManager.onUpdateFailed(function () {
  // 新版本下載失敗
})


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)