微信小程序强制更新

这篇具有很好参考价值的文章主要介绍了微信小程序强制更新。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

 冷启动 & 热启动

小程序更新机制:

强制更新方案

如何测试?


 冷启动 & 热启动

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

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

从小程序生命周期的角度来看,我们一般讲的「启动」专指冷启动,热启动一般被称为后台切前台。

微信小程序强制更新

 文章来源地址https://www.toymoban.com/news/detail-484815.html

小程序更新机制:

小程序在更新版本后,如果没有主动删除小程序再进入,那么小程序还是用的旧版本代码,无法更新最新版本。这样如果有紧急问题修复上线,用户却不能第一时间强制更新。

启动时同步更新:

a. 定期检查发现版本更新,微信运行时定时检查下载更新

b. 用户长时间未使用小程序,会强制同步更新

启动时异步更新

即使启动前未发现更新,小程序每次冷启动时,都会异步检查是否有更新版本。如果发现有新版本,将会异步下载新版本的代码包。但当次启动仍会使用客户端本地的旧版本代码,即新版本的小程序需要等下一次冷启动才会使用。

强制更新方案

官方提供了 UpdateManager 更新管理器对象,用来检测是否有新的版本发布。

UpdateManager 对象提供以下四种方法:

UpdateManager.applyUpdate()
强制小程序重启并使用新版本。在小程序新版本下载完成后(即收到 onUpdateReady 回调)调用。
 
UpdateManager.onCheckForUpdate(function callback)
监听向微信后台请求检查更新结果事件。微信在小程序冷启动时自动检查更新,不需由开发者主动触发。
 
UpdateManager.onUpdateReady(function callback)
监听小程序有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调
 
UpdateManager.onUpdateFailed(function callback)
监听小程序更新失败事件。小程序有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调

另外,如果当前版本更新有重大调整,一定需要用户更新,有两种情况:

第一种方法是可以在用户点击取消的回调中给出提示,并重新进入版本提示流程。

第二种方法就是去除取消按钮,只有确定按钮。强制用户必须升级,才能继续使用。

  if (wx.canIUse('getUpdateManager')) {
      const updateManager = wx.getUpdateManager();
      updateManager.onCheckForUpdate(function (res) {
        if (res.hasUpdate) {
          // 弹出提示框,提示用户更新并重启小程序
          updateManager.onUpdateReady(function () {
            wx.showModal({
              title: '更新提示',
              showCancel: false,
              confirmText: '马上重启',
              content: '新版本已经上线,需要您重启小程序以应用新版本。',
              success: function (res) {
                if (res.confirm) {
                  // 调用 applyUpdate 应用新版本并重启
                  updateManager.applyUpdate();
                }
              }
            });
          });
          // 新版本下载失败时弹出提示框
          updateManager.onUpdateFailed(function () {
            wx.showModal({
              title: '更新失败',
              content: '新版本下载失败,请删除当前小程序,重新搜索打开。',
            });
          });
        }
      });
    } else { // 如果用户微信版本过低,则弹出提示框
      wx.showModal({
        title: '提示',
        content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。',
      });
    }

boolean wx.canIUse(string schema)

判断小程序的API,回调,参数,组件等是否在当前版本可用。

如何测试?

注意:

微信开发者工具上可以通过「编译模式」下的「下次编译模拟更新」开关来调试

小程序开发版/体验版没有「版本」概念,所以无法在开发版/体验版上测试更版本更新情况

 微信小程序强制更新

 

到了这里,关于微信小程序强制更新的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序启动自动检测版本更新,检测到新版本则提示更新updateManager

    有时候小程序自动更新没那么快,且有时候存在缓存,需要删除小程序才能检测更新,这样就不能及时更新到了,所以加个自动检测更新是很有必要的。 效果:小程序启动时,若用户本地与小程序最新版本不一致,就会出现如下弹窗,用户点确定,小程序将会进行更新,效果

    2024年02月07日
    浏览(37)
  • 微信小程序---目录结构

    大体介绍 1.在utils中定义方法、工具等,主要使用common.js暴露接口 2.pages中放我们的页面 3.eslintrc.js文件在代码质量审查的时候的代码依赖 4.app.js、app.json、app.wxss是我们微信小程序代码的重要部分 app.js是小程序逻辑,app.json是小程序配置,app.wxss是小程序公共样式表 其中除了最

    2024年02月05日
    浏览(36)
  • 微信小程序开发工具的目录结构

    1  .js文件:页面脚本文件,存放页面数据、事件处理函数等。——处理用户操作  app.js文件:整个项目的入口文件,通过调用App()函数启动项目。  页面.js文件:页面入口文件,调用Page()函数,创建并运行页面。 普通.js文件:普通功能模块文件,用来封装公共的函数或

    2024年02月05日
    浏览(53)
  • 简单描述下微信小程序的目录结构

    微信小程序的目录结构通常包括以下主要部分: 这是一个典型的微信小程序的目录结构,具体项目可能会有一些变化,但通常都包含类似的核心文件和文件夹。小程序开发者需要按照这个结构组织项目代码和资源 app.js :小程序的主入口文件,用于定义小程序的全局配置,包

    2024年02月07日
    浏览(38)
  • 微信小程序的目录结构及页面结构的说明

    ● pages 用来存放所有小程序的页面 ● utils 用来存放工具性质的模块 ● app.js 小程序的项目入口地址 ● app.json 小程序项目的全局配置文件,“包括小程序中的所有页面路径,窗口外观,界面表现,底部tab等” 。 ● app.wxss 小程序项目的全局样式文件 ● project.config.json 项目的

    2024年02月03日
    浏览(36)
  • 微信小程序的目录解析--【浅入深出系列002】

    微信目录集链接在此: 详细解析黑马微信小程序视频–【思维导图知识范围】 难度★✰✰✰✰ 用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干! 只要自己有电脑,前后项目都能搞!N年苦学无人问,一朝成名天下知! 黑马程序员微信小程序开发前端教程_零基础

    2024年02月16日
    浏览(38)
  • 微信小程序监测版本更新

    在index.js里面 不放到app.js里面是因为有登录页面,在登录页面显示更新不太友好  在小程序测试的时候需要 添加编译模式 才可以模拟版本更新,发布到正式版本自动生效   点了确定就会自动刷新页面  

    2024年02月11日
    浏览(43)
  • uniapp 微信小程序:更新

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

    2024年02月02日
    浏览(39)
  • 微信小程序检查版本更新

    新建文件 version-util.js 在app.js中引入:

    2024年02月10日
    浏览(39)
  • 微信小程序的目录解析--【浅入深出系列001外篇】

    微信目录集链接在此: 详细解析黑马微信小程序视频–【思维导图知识范围】 难度★✰✰✰✰ 用免费公开视频,卷飞培训班哈人!打死不报班,赚钱靠狠干! 只要自己有电脑,前后项目都能搞!N年苦学无人问,一朝成名天下知! 黑马程序员微信小程序开发前端教程_零基础

    2024年02月17日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包