- 本文标题:quick-cocos2d-x的热更新机制实现
- 本文链接:http://zengrong.net/post/2131.htm
quick-cocos2d-x的热更新机制实现
Hot update in quick-cocos2d-x
0 依赖
这里说的热更新,指的是客户端的更新。
大致的流程是,客户端在启动后访问更新api,根据更新api的反馈,下载更新资源,然后使用新的资源启动客户端,或者直接使用新资源不重启客户端。
这种方式可以跳过AppStore的审核,避免了用户频繁下载、安装、覆盖产品包。
我们一般使用这种方式快速修复产品BUG和增加新功能。
本文基于quick-cocos2d-x zrong 修改版。
1 前言
1.1 他山之石
在实现这个机制之前,我研究了这几篇文章:
- quick-cocos2d-x基于源码加密打包功能的更新策略by SunLightJuly
- 看到有同学在研究在线更新,希望我能帮到你一些by Henry
- 基于Quick-cocos2dx 2.2.3 的动态更新实现完整篇by 西门大官人
那么,要更新自己,只需要把 package.preload 和 package.loaded 清除,然后再用新的 模块填充 package.preload 即可。下面就是核心代码了:
如果不相信这么简单,可以用上面完整的UpdateApp
模块中提供的UpdateApp:_printPackages(label)
方法来检测。