CocosCreater3.0热更新

官方文档

热更新官方文档

1. 热更新是用来干啥的

当你下载一个游戏,打开时发现提示有新的资源包要让你更新,那就是使用了热更新
热更新主要是用于原生环境的andriod和ios,对于小游戏不用,小游戏是审核过后,打开原来的小游戏马上就会更新,而安装包 .apk/.ipa已经是安装在手机上了。如果不把原来的游戏卸载,再去下载更新过的游戏,那么是玩不到更新过的游戏,一直是老版本。

而热更新就是玩家不用去下载新版本,直接更新资源包就能更新这个游戏,当你将这个游戏(应用包)的所有数据清空后,你发现这个游戏又变成了老版本。

所以经过热更新后·是把有变化的资源存在缓存中,游戏中使用的资源,优先是使用搜索到缓存中的资源。

2. 需要环境

正式项目肯定是不用本地服务器的,也就不需要夜神模拟器和anywhere

  1. 使用本地服务器 全局安装 anywhere ,可以在任何文件夹下启动本地服务
    npm intall anywhere -g
  2. 需要AndriodStudio 开发环境(生成apk包)
  3. 夜神模拟器 (夜神模拟器可以连接到本地服务器)

!注意使用CDN服务器,会存在缓存的情况,每次有版本更新需要重新建一个目录将资源放进去,如果在旧的目录下,把资源上传上去,直接通过url访问 version.manifest文件,发现这个version.manifest文件还是旧版本的

3.下载官方demo

4. 新建creater3.0工程

  1. 生成version.manifest和project.manifest文件在assets下
    将官方热更新的demo中的version_generator.js 拷入进来,这个文件主要是用于生成 version.manifest和project.manifest文件,这个两个文件主要是用来进行版本对比的,
    在更新之前需要找到本地的manifest文件,从这个文件的信息找到远程资源的url,比较本地和远程的version.manifest文件,如果远程的比本地的版本高,就要下载远程的资源包。

  2. 将这个project.manifest 文件拖入热更新组件中
    在这里插入图片描述

  3. 在项目工程之外,新建一个文件夹server,在此文件夹下起本地服务(运行anywhere 就能启动本地服务)

  4. 将官方demo的扩展插件extentions文件夹拷入项目工程
    在这里插入图片描述
    然后重启项目工程,在Creater编辑器顶部 扩展/扩展管理器/项目,发现有hot-update插件,说明插件导入成功,这个插件hot-update主要是在构建后项目的main.js中前面加上一段代码,用来启用新资源的,就是如果没有加这段代码,新资源下载好了,但是还是会使用应用包内的资源,不会用到下载到缓存中的新资源
    在这里插入图片描述

5.构建项目,AndriodStuido打包apk,将project.manifest ,version.manifest和build/andriod下的assets文件和arc文件,放到起本地服务器的文件夹server/hotUpdate下,按照你自己规定的路径

我的路径是server/hotUpdate,server文件夹不要建在项目文件夹内,建在外面,然后在这个文件夹下启动本地服务(就是在终端运行 anywhere命令,运行anywhere命令的路径是 server)
在这里插入图片描述
在这里插入图片描述

  1. 后面出新包只需要生成新的version.manifest和project.manifest文件,在构建一下,把assets和src,放到本地服务器上(server/hotUpdate)。在夜神模拟器上,检查更新就会发现有新版本需要更新
  2. 经过我的测试,版本号相差小,容易更新失败,例如version A 10.0.0 ,versionB是10.0.1,直接改第一位都是成功的
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值