美文网首页
热更新必懂3件事

热更新必懂3件事

作者: 游戏开发大表哥 | 来源:发表于2019-07-11 14:35 被阅读0次

今天我们来一起来说说热更新,谈起热更新,大家都觉得很难,都去找官方的热更新的解决方案,然后对着一步一步搞,原理还是不懂, 今天小编就带你来完整的讲解一下热更新的原理,搞懂原理,做热更新可以自己做,也可以自己修改,比如大厅与子游戏的模式。这个原理经过测试,可以适用js, Lua等多种脚本语言。

1: 热更新准备活动

    H5游戏不需要热更新,因为本身就是从服务器下载的,而只有Native开发里面需要热更新。

 运行时动态加载的语言脚本才可以实现热更新,例如,js , Lua等;

每个native 的app都有一个写的目录,可以用来放资源和代码; 这个cocos creator fileUtils都有对应的接口;

 每个脚本语言都有一个searchPath,运行时根据搜索路径到这些路径下来装载文件。fileUtils 也有searchPath, 资源文件加载的时候,也是从searchPath里面的路径开始寻找资源。

2: 增量下载系统:

 增量指的是客户端版本与服务器版本有差异的内容,每次更新,只更新客户端与服务器的差异,来节省流量和下载时间,所以我们做增量下载系统的时候,资源包(代码+资源)要做类似的设计:

(1) 资源列表, 记录了版本号, 记录了这个版本每个文件的一些信息,路径, MD5值,等信息;

(2)  完整的资源包;

 第一次打包客户端的时候,也会带上这个当前客户端的包的资源列表。

 客户端增量更新逻辑: 客户端先读取客户端当前最新资源列表(先到下载路径下找,再到包里找), 找到后和服务器上的比对, 根据md5值和客户端列表里缺的文件,得到一个下载更新列表, 然后根据更新列表来从服务器下载文件。最后将服务器的资源列表更新到本地,下次启动就不用再更新了。附上资源列表的结构截图:

3: 使用最新源码和资源:

 在启动脚本的时候,添加搜索路径,把热更新下载的路径,添加到前面,这样,系统搜索资源的时候,都从下载路径开始搜索,

这样你更新的数据和文件就被优先加载进来,实现到热更新,附上启动脚本的修改截图:点击链接加入群聊【cocos/unity交流群】

相关文章

  • 热更新必懂3件事

    今天我们来一起来说说热更新,谈起热更新,大家都觉得很难,都去找官方的热更新的解决方案,然后对着一步一步搞,原理还是...

  • Cocos creator热更新必懂3件事

    今天我们来一起来说说热更新,谈起热更新,大家都觉得很难,都去找官方的热更新的解决方案,然后对着一步一步搞,原理还是...

  • ionic2/3-热更新(cordova-hot-code-pu

    前言 code-push热更新请参照文章ionic2/3-热更新(code-push) code-push热更新和...

  • Unity3D热更新全书-何谓热更新,为何热更新,如何热更新

    何谓热更新 热更新,每个程序员一听就明白,但是它语出何处,究竟表达了什么含义,到底代表了什么,对技术有什么要求,对...

  • UNITY3D 热更新

    何谓热更新 Unity3D热更新就是指:用户重启客户端就能实现客户端资源代码更新的需求或者功能。 为何热更新 热更...

  • 产品必懂的技术必修(五)

    上一篇: 产品必懂的技术必修(一) 产品必懂的技术必修(二) 产品必懂的技术必修(三) 产品必懂的技术必修(四) ...

  • 产品必懂的技术必修(四)

    前几篇: 产品必懂的技术必修(一) 产品必懂的技术必修(二) 产品必懂的技术必修(三) 第五章 产品经理必懂的服务...

  • ionic3热更新

    npm install -g cordova-hot-code-push-cli cd 你的项目路径 cordov...

  • ionic3 热更新

    这热更新简直了,其实看网上配来配去就这几步,但自己一配就立马遇上很多问题,主要还是细节方面处理不够到位。索性自己也...

  • [Python]热更新

    热更新机制的目标是:(1)更新代码定义(2)不更新数据对象(3)不要依赖热更新机制解决所有问题。过于复杂的改动,重...

网友评论

      本文标题:热更新必懂3件事

      本文链接:https://www.haomeiwen.com/subject/paxdkctx.html