我们开发完小程序,发布新版本之后,用户如果想体验新版本,需要把小程序从使用列表删除,在重新搜索之后,再次打开,新的版本才会生效。但是, 随着我们更新次数的增加,这种方式就很不友好,用户体验下降,所以在开发中,我们就要考虑配置小程序自动更新。

首先,我们需要了解下小程序的运行机制,小程序启动可以分为两种情况,一种是冷启动,一种是热启动。

  • 冷启动:如果用户首次打开,或小程序销毁后被用户再次打开,此时小程序需要重新加载启动,即冷启动。

  • 热启动:如果用户已经打开过某小程序,然后在一定时间内再次打开该小程序,此时小程序并未被销毁,只是从后台状态进入前台状态,这个过程就是热启动。

在了解下更新机制

  • 未启动时更新:就是说用户本地已经存在小程序历史版本,此时打开不是最新版本,最坏的情况是24小时内下发推送给用户。

  • 启动时更新:就是冷启动,用户从未体验小程序,或者小程序销毁后再打开。异步下载新版本,并同时用本地的包进行启动,新版本需要等下一次冷启动才会应用上。

上面简单介绍了小程序的运行机制和更新机制,接下来就是配置小程序自动更新。我们在app.js中,新增如下代码

// 小程序自动更新if (wx.canIUse('getUpdateManager')) {  const updateManager = wx.getUpdateManager()  updateManager.onCheckForUpdate(function (res) {    // 请求完新版本信息的回调    if (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: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~'        })      })    }  })}

添加编译模式

小程序会重新编译,版本更新已提示


更新完会重启,小程序自动更新已配置完成。

©著作权归作者所有:来自51CTO博客作者mb5fd86dae5fbf6的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 多种详细讲解小程序页面传值
  2. 微信小程序实现带参分享并消息卡片获取参数
  3. 窗口函数更新
  4. 8天入门docker系列 —— 第二天 通过一个aspnetcore程序加深对容
  5. github代码管理
  6. jenkins + supervisor + ansible 实现netcore程序的多机一键部署
  7. 2021-2-23:Java 文件映射内存是如何更新到硬盘文件的,什么情况下会
  8. 应届程序员 VS 往届程序员!老员工感叹:现在的年轻人啊~
  9. 选择Java程序员后,怎么才能逐渐脱离码农的噩梦

随机推荐

  1. Android中UI线程与后台线程交互设计的5种
  2. Android 版本分布数据:Android 2.3 估超过
  3. 如何保证手机端的app访问web服务器的安全
  4. android ImageView 控件
  5. android中@+id 与@string的使用
  6. Android EditText样式自定义
  7. 【Android】Android设计准则
  8. Android 4.0后,自定义Title报错 You canno
  9. 调用android手机微博客户端发送微博
  10. Android 全屏设置