收藏
回答

小程序强制更新无效?

小程序线上版本,冷启动时,通过UpdateManager.onCheckForUpdate监听微信后台获取到的返回值总是false, 页面显示实际上已经是修改后的新版本内容,那么问题来了,小程序冷启动时候有自动更新机制,那么我什么情况下发版新版本时才能获取到返回值为true,是不是只有自动更新失败,才会监听到返回值为true的状态,进而进行强制更新呢?

回答关注问题邀请回答
收藏

2 个回答

  • 陈宇明
    陈宇明
    01-07

    只要你发了版本,你去检测就会有新版本。

    我自己就是这样写的,每次都是有效的。

    01-07
    有用
    回复 1
    • 🔅
      🔅
      01-07
      我每次发版后获取到的都是false,但是页面显示的是新版本的内容,微信不是有个未启动检测更新吗,会不会是微信自动更新之后,updateManager.onCheckForUpdate就检测不到新版了
      01-07
      回复
  • 假装在上海
    假装在上海
    01-06

    什么也别问,复制下面代码到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: '新版本已经上线啦~,请您删除当前小程序,重新搜索打开哟~',
                })
              })
            }
          })
        } else {
          // 如果希望用户在最新版本的客户端上体验您的小程序,可以这样子提示
          wx.showModal({
            title: '提示',
            content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
          })
        }
    
    
    
    01-06
    有用
    回复 1
    • 🔅
      🔅
      01-06
      模拟器能正常更新,线上真机,无法更新  res.hasUpdate 总是false
      01-06
      回复
登录 后发表内容
问题标签