微信小程序用戶及時更新到最新版本

小程序先提交了一個版本,但是用的時候發現了一些問題需要及時的更新,這時候就要發布新版本。如何讓用戶自己的小程序也更新到最新版本呢?

一、運行機制

小程序啟動會有兩種情況,一種是「冷啟動」,一種是「熱啟動」。

假如用戶已經打開過某小程序,然后在一定時間內(五分鐘)再次打開該小程序,此時無需重新啟動,只需將后臺態的小程序切換到前臺,這個過程就是熱啟動

冷啟動指的是用戶首次打開或小程序被微信主動銷毀后再次打開的情況,此時小程序需要重新加載啟動。

小程序沒有重啟的概念

當小程序進入后臺,客戶端會維持一段時間的運行狀態,超過一定時間后(目前是5分鐘)會被微信主動銷毀

當短時間內(5s)連續收到兩次以上收到系統內存告警,會進行小程序的銷毀

二、更新機制

小程序冷啟動時如果發現有新版本,將會異步下載新版本的代碼包,并同時用客戶端本地的包進行啟動,即新版本的小程序需要等下一次冷啟動才會應用上。 如果需要馬上應用最新版本,可以使用 wx.getUpdateManager API 進行處理。

三、更新API

wx.getUpdateManager()
//使用該接口,可以獲知是否有新版本小程序、新版本是否下載好以及應用新版本的能力。

使用方法:在app.js的onLauch函數,加下面一段代碼即可實現:

constupdateManager=wx.getUpdateManager()updateManager.onCheckForUpdate(
  function(res){// 請求完新版本信息的回調            
       console.log(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:'新版本下載失敗',
                      showCancel:false
                  })
               }
      )

四、如何測試

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 公司的小程序項目上線, 后期還會有小型的版本迭代. 為了讓用戶能在我們進行版本迭代后及時使用最新版本的功能. 做了...
    小小小魔仙閱讀 58,953評論 14 66
  • 1.小程序起步 (1)點擊https://mp.weixin.qq.com/wxopen/waregister?a...
    GXW_Lyon閱讀 3,409評論 0 0
  • 小程序先提交了一個版本,但是用的時候發現了一些問題需要及時的更新,這時候就要發布新版本。如何讓用戶自己的小程序也更...
    小新子666閱讀 13,513評論 0 18
  • 因新工作主要負責微信小程序這一塊,最近的重心就移到這一塊,該博客是對微信小程序整體的整理歸納以及標明一些細節點,初...
    majun00閱讀 7,385評論 0 9
  • 一個人在家 左手絞右手 拔完腿毛刮腋毛 拍了1000張自拍又刪掉 即墨么 即墨 這時候你需要一部藍牙音箱 想象一下...
    Lchaowen閱讀 91評論 0 0