微信小程序检查版本更新并重启

1,前言

最近开发小程序时候碰上了一个问题,当发布新版本小程序后,需要用户能赶紧用上最新的,避免出问题。查了一下官方文档,总结出几个情况如下:

  1. 微信运行时,会定期(24小时内)检查最近使用的小程序是否有更新(黄花菜都凉了)
  2. 用户长时间未使用小程序时,会强制同步检查版本更新(对于使用频率高的小程序没P用)
  3. 小程序每次冷启动时,都会异步检查是否有更新版本(本次不生效,下次冷启动才生效)

这里科普一下什么是冷启动和热启动

  • 冷启动:用户首次打开,或小程序销毁后被用户再次打开,此时小程序需要重新加载
  • 热启动:用户已经打开过某小程序,然后在一定时间内(30分钟)再次打开该小程序,此时小程序并未被销毁,只是从后台状态进入前台状态

小程序运行声明周期

2,解决方案

通过查询文档和网上冲浪,最终解决方案是在app.js的onShow生命周期里检查是否有新版本,如果有的话,就异步下载,下载完毕弹窗提示用户更新,代码如下:

const updateManager = uni.getUpdateManager()
onShow() {
    // 请求完新版本信息的回调
    updateManager.onCheckForUpdate(res => {
      if (res.hasUpdate) {
        // 新版本下载成功
        updateManager.onUpdateReady(() => {
          uni.showModal({
            title: '更新提示',
            content: '新版本已经准备好,点击确定重启小程序',
            success(res) {
              if (res.confirm) {
                // 新的版本已经下载好,强制更新
                updateManager.applyUpdate()
              }
            }
          })
        })
      }
    })
    // 新版本下载失败
    updateManager.onUpdateFailed(res => {
      console.error(res)
    })
}

3,调试须知

  • 小程序开发版/体验版没有版本概念,所以无法在开发版/体验版上测试更版本更新情况
  • 微信开发者工具上可以通过编译模式中勾选下次编译模拟更新开关来调试

下次编译模拟更新

本次分享就到这儿啦,我是鹏多多,如果您看了觉得有帮助,欢迎评论,关注,点赞,转发,我们下次见~

往期文章

个人主页

  • 5
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹏多多.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值