运行机制

小游戏启动会有两种情况,一种是「冷启动」,一种是「热启动」。

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

更新机制

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

getUpdateManager 的使用示例

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

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

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

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

  updateManager.onUpdateFailed(function () {
    // 新的版本下载失败
  })
}