小程序自动更新版本

已经上线了的小程序,现在有新的版本上传,发现手机已经使用了该小程序的没有及时更新。看了一下官方的文档,发现有管理小程序更新的API。

小程序启动会有两种情况,一种是【冷启动】,一种是【热启动】。假如用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时无需重新启动,只需将后台态的小程序切换到前台,这个过程就是热启动;冷启动指的是用户首次打开或小程序被微信主动销毁后再次打开的情况,此时小程序需要重新加载启动。

小程序冷启动时如果发现有新版本,将会异步下载新版本的代码包,并同时用客户端本地的包进行启动,即新版本的小程序需要等下一次冷启动才会应用上。如果需要马上应用最新版本,可以使用wx.getUpdateManager进行处理

注意:小程序的更新API需要基础库在1.9.90以上

// app.js
onLaunch:function(){
    const updateManager=wx.getUpdateManager();    // 获取更新管理器对象
    updateManager.onCheckForUpdate(function(res){
        // console.log(res)    检测更新结果
        if(res.hasUpdate){
            updateManager.onUpdateReady(function(){
                wx.showModal({
                    title:'更新提示',
                    content:'新版本已经准备好,点击确定重新启动',
                    showCancel:false,
                    success:res=>{
                        if(res.confirm){
                            updateManager.applyUpdate();
                        }
                    }
                })
            })
            updateManager.onUpdateFailed(function(){
                wx.showModal({
                    title:'提示',
                    content:'检查到有新版本,但是下载失败,请检查网络设置',
                    showCancel:false
                })
            })
        }
    })
}

注:在开发版和体验版无法测试版本更新,需要在开发者工具里,编译时选择"模拟更新"

小程序自动更新版本