封装 UpdateManager 实现启动微信小程序时自动强制更新

背景

微信小程序发布新版本后,微信有自己的更新策略:异步更新、同步更新。异步更新会在用户下次冷启动时才会加载新版本,本次打开的仍然是旧版本。为了保证更多用户能够访问的新版本,本文利用微信wx.getUpdateManager()暴露的UpdateManager封装实现启动微信小程序时自动强制更新。

代码

微信提供了两个钩子暴露小程序更新事件:

  • UpdateManager.onCheckForUpdate监听向微信后台请求检查更新结果事件。微信在小程序每次启动(包括热启动)时自动检查更新,不需由开发者主动触发。可以不进行监听,会自动触发一次,当然可以监听来进行埋点,hasUpdate字段 true则代表有新版本。

  • UpdateManager.onUpdateReady这个必须提前监听,暴露的是客户端主动触发下载后(无需开发者触发),下载成功后回调。通过监听新版本下载成功,才能执行UpdateManager.applyUpdate() 强制小程序重启并使用新版本。

class UpdateManager {
   
  constructor() {
   
    this.updateManager = wx.getUpdateManager();
    this.getPromise();
    this.init();
  }
  init
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

前端后花园

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

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

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

打赏作者

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

抵扣说明:

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

余额充值