收藏
回答

小程序更新机制疑惑

https://developers.weixin.qq.com/miniprogram/dev/framework/runtime/update-mechanism.html

微信小程序更新机制的说明有些困惑:

  1. 第一句话"开发者在管理后台发布新版本的小程序之后,微信客户端会有若干个时机去检查本地缓存的小程序有没有新版本,并进行小程序的代码包更新",这句话的意思是说小程序发布新的版本之后,微信客户端才会有若干个时机去检查是否有新版本,如果开发者不发布新的版本,微信客户端将不会触发这个检查机制吗?
  2. 文档说了两点 启动时同步更新与启动时异步更新,那么这个是否同步和异步更新是由谁去控制呢,如果是开发者去控制,该如何去配置,还是说微信会自动去选择适当的策略?
  3. 本人遇到的情况, 小程序发版新版之后,此时正在使用小程序,由于在onLaunch中自主去调用更新,那么选择重新进入小程序为什么并没有触发弹框提示更新,但却能看到发版后的新功能了?
回答关注问题邀请回答
收藏

4 个回答

  • Ares
    Ares
    01-22

    之所以会有这样的疑问,主要是因为平时发版小程序的后经常会有用户反馈还是会使用到老的版本代码,所以就深究一下微信的更新机制问题。通常开发者主动调用了检查更新代码,一般也不需要特别处理。我总结了发版后可能出现的几种情况,小程序发版后:

    1. 用户正在使用小程序,如何应用到最新代码?

    2. 用户退出小程序30分钟以内,再次打开小程序是否会应用到最新代码?

    3. 用户退出小程序30分钟以上,再次打开小程序是否会应用到最新代码?

    4. 用户主动销毁小程,再次打开小程序是否会应用到最新代码?

    以上情况如果考虑开发者是否主动调用了检查更新代码呢?

    01-22
    有用
    回复
  • 神经蛙
    神经蛙
    01-21

    这个很微信小程序更新很复杂吗,就进来的时候调用微信给的更新接口就行了撒,而且不是微信通过审核之后立马就能更新的,或者在用户下次点开小程序的时候才会触发更新提示,而且什么更新机制你不用去管那是微信小程序那边控制的,你只需要你调用他给你提供的更新api就行了

    01-21
    有用
    回复
  • 启年
    启年
    01-21

    1。感觉应该是定期检查是否有新版本需要更新,如果需要更就继续走流程

    2.开发者可以在小程序启动或其他时机检查是否有新版本,如果有新版本可以提示用户去重启更新。

    3.说明你直接进的就是最新版小程序。


    PS: 一般常用的方案就是开发者在小程序启动初期判断当前小程序是否是最新版,然后提示用户重启进行更新。

    01-21
    有用
    回复
  • 一笑皆春
    一笑皆春
    01-21

    1、是的,不发布新版本,当前就是最新的检查了也没用啊

    2、你不加文档中手动更新的代码,那么就是根据机制自动更新,文档其实说的很清楚了

    3、你的这种情况应该是后台默认更新成新版本了,就不需要再弹窗确认更新了。

    01-21
    有用
    回复 6
    • Ares
      Ares
      01-22
      我理解不管有没有发布新版本,微信客户端都会定期去检查最近使用的小程序有没有更新。对某个小程序来说,1. 检查到更新,那么应用情况1 启动时同步更新,此时更新会阻塞小程序的启动流程,对于长期未使用的用户,直接强制更新之后再 打开小程序,但有可能失败(失败的情况就使用旧版)2. 未检查到更新,小程序每次冷启动会触发情况2 启动时异步更新代码(开发者没有主动调用检查更新)此时使用的还是老版本,只有在下次冷启动时才会应用最新的代码包。至于弹窗那个问题 我小程序本身是主动调用了检查更新的,发版之后有时候会弹窗确认更新,并且应用了最新版本,有时候又不会,但是也应用了最新版,这个我仍然不确定它这个弹窗的逻辑是什么,是热更不再弹窗,还是冷启动检查到更新才弹窗
      01-22
      回复
    • 一笑皆春
      一笑皆春
      01-22回复Ares
      你是处女座吗让你愁死了,纠结这个干啥,更新逻辑这都是微信该考虑的事,我们也干涉不了的,既然选择了用小程序,就得接受人家的交互
      01-22
      回复
    • Ares
      Ares
      01-22回复一笑皆春
      啊哈哈 那倒不是 彻底了解一下 下次发版之后别人没有应用到最新版本也好解释一下
      01-22
      回复
    • 一笑皆春
      一笑皆春
      01-22回复Ares
      那没办法,目前我发现的是没有办法强制更新到最新版,唯一可以设置的就是小程序后台设置“最低可用版本”,这个设置了能尽快更新到最新版
      01-22
      回复
    • Ares
      Ares
      01-22回复一笑皆春
      设置了最低可用版本 相当于用户必须得更新才能使用了
      01-22
      回复
    查看更多(1)
登录 后发表内容