# 运行机制

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

# 更新机制

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

# getUpdateManager 的使用示例

可以通过 qq.getUpdateManager() 获取全局唯一的版本更新管理器,用于管理小游戏更新;另外请下载最新版本的开发者工具才支持在开发者工具上调试。

if (typeof qq.getUpdateManager === 'function') { // 请在使用前先判断是否支持
const updateManager = qq.getUpdateManager()

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

updateManager.onUpdateReady(function () {
// 新的版本已经下载好,调用 applyUpdate 应用新版本并重启
updateManager.applyUpdate()
})

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