# qq.getUpdateManager

# UpdateManager qq.getUpdateManager()

获取全局唯一的版本更新管理器,用于管理小程序更新。关于小程序的更新机制,可以查看运行机制文档。

# 返回值

# UpdateManager

更新管理器对象

# UpdateManager

UpdateManager 对象,用来管理更新,可通过 qq.getUpdateManager 接口获取实例。

# 方法

# UpdateManager.applyUpdate()

强制小程序重启并使用新版本。在小程序新版本下载完成后(即收到 onUpdateReady 回调)调用。

# UpdateManager.onCheckForUpdate(function callback)

监听向QQ后台请求检查更新结果事件。QQ在小程序冷启动时自动检查更新,不需由开发者主动触发。

# UpdateManager.onUpdateReady(function callback)

监听小程序有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调

# UpdateManager.onUpdateFailed(function callback)

监听小程序更新失败事件。小程序有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调

# 示例代码

const updateManager = qq.getUpdateManager()

updateManager.onCheckForUpdate(function (res) {
  // 请求完新版本信息的回调
  console.log(res.hasUpdate)
})

updateManager.onUpdateReady(function () {
  qq.showModal({
    title: '更新提示',
    content: '新版本已经准备好,是否重启应用?',
    success(res) {
      if (res.confirm) {
        // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
        updateManager.applyUpdate()
      }
    }
  })
})

updateManager.onUpdateFailed(function () {
  // 新版本下载失败
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# Tips

  1. QQ开发者工具上可以通过「编译模式」下的「下次编译模拟更新」开关来调试
  2. 小程序开发版/体验版没有「版本」概念,所以无法在开发版/体验版上测试更版本更新情况

# .applyUpdate

# UpdateManager.applyUpdate()

强制小程序重启并使用新版本。在小程序新版本下载完成后(即收到 onUpdateReady 回调)调用。

# .onCheckForUpdate

# UpdateManager.onCheckForUpdate(function callback)

监听向QQ后台请求检查更新结果事件。QQ在小程序冷启动时自动检查更新,不需由开发者主动触发。

# 参数

# function callback

向QQ后台请求检查更新结果事件的回调函数

# 参数

Object res

属性 类型 说明
hasUpdate boolean 是否有新版本

# .onUpdateFailed

# UpdateManager.onUpdateFailed(function callback)

监听小程序更新失败事件。小程序有新版本,客户端主动触发下载(无需开发者触发),下载失败(可能是网络原因等)后回调

# 参数

# function callback

小程序更新失败事件的回调函数

# .onUpdateReady

# UpdateManager.onUpdateReady(function callback)

监听小程序有版本更新事件。客户端主动触发下载(无需开发者触发),下载成功后回调

# 参数

# function callback

小程序有版本更新事件的回调函数