小程序先提交了一个版本,但是用的时候发现了一些问题需要及时的更新,这时候就要发布新版本。如何让用户自己的小程序也更新到最新版本呢?

一、运行机制

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

小程序没有重启的概念
当小程序进入后台,客户端会维持一段时间的运行状态,超过一定时间后(目前是5分钟)会被微信主动销毁
当短时间内(5s)连续收到两次以上收到系统内存告警,会进行小程序的销毁
二、更新机制

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

三、更新API

wx.getUpdateManager()使用该接口,可以获知是否有新版本小程序、新版本是否下载好以及应用新版本的能力。

// 获取小程序更新机制兼容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: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~',})})}})} else {// 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示wx.showModal({title: '提示',content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'})}

不知道把这段代码放在哪里,写这段代码时查了好多资料,最后放在了app.js的onLaunch方法里了
发布的第一版不会生效,下一版才会生效的。

作者:小新子666
链接:https://www.jianshu.com/p/ed71afd646ce
來源:简书

微信小程序强制更新版本相关推荐

  1. 微信小程序自动更新版本

    PS: 小程序发布版本后正常老用户是不能直接看到的新版本的, 需要通过:删除小程序浏览记录.从我的小程序中移除.退出微信账号重新登录这些办法才能看到新版本内容 这是因为小程序有静默更新机制: 未启动时 ...

  2. 微信小程序提示更新版本

    参考:https://www.jianshu.com/p/4f5e3faaf483 https://blog.csdn.net/kirinlau/article/details/89022913 知识 ...

  3. 微信小程序强制更新,检测到新版本重启小程序

    实现小程序版本强制更新,检测到新版本重启小程序 1.小程序首页onShow里 onShow(){// 版本自动更新代码const updateManager = wx.getUpdateManager ...

  4. 微信小程序自动检测版本并提示更新新版本

    微信小程序自动检测版本并提示更新新版本 微信小程序开发过程中,我们在版本更新迭代后,微信小程序客户端并不能触发自动更新,需要用户手动清理小程序后重新搜索进入后才能获取到最新的小程序版本,但是这个是用户 ...

  5. 微信小程序:(更新)云开发微群人脉

    大家好,今天给大家带来的这一款是经过优化更新并有所改动的一个版本 我们之前也发布过一款,今天这一款是在之前的哪一款的基础下增加优化 该小程序的群码都是系统自动采集的,所以没有上线但是没有群的烦恼 另外 ...

  6. 微信小程序如何实现版本自动更新

    扫一扫以上小程序[许愿灯池]可以查看具体更新效果 以下是[许愿灯池]小程序的更新效果图: 话不多说,直接上代码: 在app.js这个这个页面中将以下代码复制在onShow()函数里面即可,非常简单! ...

  7. 更改微信小程序的基础版本库;更改uni-app小程序基础库;更改用户的微信小程序基础库最低版本;设置用户的微信小程序版本库;

    需求场景:微信小程序不少API都有最低版本支持,为了避免不必要的麻烦,我们可以根据需要给小程序设置基础库最低版本,这样若用户使用的基础库版本低于设置的最低版本要求,则无法正常使用小程序,并提示更新微信 ...

  8. 微信小程序支付V3版本接口实现

    一.说明和前期准备(小程序的V3版本) 特别说明:遇到 java.security.InvalidKeyException: Illegal key size ******* getValidator ...

  9. 微信小程序数组更新,但视图不更新的问题

    1.起因 写一个微信小程序的时候,需要在云数据库中拉取所有用户数据,展示到页面上,展示用户列表,一开始是这么实现的 新建一个空数组,然后从从云数据库取数据,push到数组 data: {sj:[]}, ...

  10. 【微信小程序】检测版本是否更新

    关于销毁 当用户点击了右上角的胶囊按钮关闭小程序,或者滑动屏幕返回手机主页面(离开微信),这时候小程序并没有直接销毁,而是进入了后台.当再次进入微信或者再次打开小程序,又会从后台进入前台. 只有当小程 ...

最新文章

  1. “远程服务器返回错误: (404) 未找到”的正确解决方法
  2. c#(winform)中ComboBox和ListBox添加项完全解决
  3. 前仓后仓是什么意思_高支纱到底是什么?镰仓衬衫面料全解析
  4. 2021抖音汽车生态报告
  5. 主分区活动分区扩展分区逻辑分区
  6. springboot中配置文件使用2
  7. CodeIgniter 框架的安装
  8. WinCE中为基于对话框的程序动态增加菜单
  9. 图档生成bin文件_「嵌入式笔记」hex文件、bin文件、axf文件的区别?
  10. qt初步---Qt实现软件从Windows到Linux跨平台
  11. 视频编码格式、视频码率、视频帧率、分辨率的概念
  12. mysql扩容方案_MySQL分库分表:扩容方案
  13. 胡理辉:风电王国里的流程管控人
  14. scp远程传输文件之权限被拒绝解决方案
  15. 【已解决】ibyaml-cpp.a(memory.cpp.o): relocation R_X86_64_PC32 against symbol `_ZTVSt16_Sp_counted_baseIL
  16. 中科院计算机信息暑期学校,中国科学院大学首期“电子信息技术”暑期学校正式开幕...
  17. 使用js拖拽盒子移动()
  18. 哈工大计算机学院非全日制,哈尔滨工业大学非全日制研究生上课方式
  19. 多线程(一)线程和进程的区别
  20. 前端必备的Canvas接口和动画效果的总结

热门文章

  1. 服务产品(商品)评论中的产品特征挖掘方法
  2. CSS - less
  3. Racket Cheat Sheet
  4. 软考笔记0609软件文档三种类别
  5. win10安装Dreamweaver cc 2019报无法写入注册表的错误
  6. 五子棋大在线对战 java_五子棋可蓝牙对战版
  7. 定时器0练习,利用左循环函数_crol_(a,b)
  8. P2P继续停止...
  9. 机器学习5——决策树
  10. 计算机管理员没有权限删除,答疑:没有管理员权限,无法删除文件?-删除文件...