版权声明
- 本文为“优梦创客”原创文章,您可以自由转载,但必须加入完整的版权声明
- 更多学习资源通过私信我获取(企业级性能优化/热更新/Shader特效/服务器/商业项目实战/每周直播/一对一指导)
- 点赞、关注、分享可免费获得配套学习资源
- 点击观看完整视频
为什么游戏需要热更新?
- 简单来说就是为了绕过手机操作系统的安全验证
- 因为如果手机操作系统允许我们随意从网络上下载并更新安装好的APP,那么一些不良的游戏开发者就有可能在更新的程序中植入后台或者木马程序来窃取用户的数据,甚至破坏手机系统,从而达到一些不可告人的目的
- 但是手机操作系统的这一做法是一柄双刃剑,他虽然防止了手机APP受病毒木马的影响,但是也限制了APP的正常更新
- 让我们先来看一来受到限制以后,游戏APP的更新流程
什么是游戏热更新:无热更的游戏更新流程
- 当你在软件商店选择好一款游戏,只要点击下载就把这款游戏下载到手机上了
- 当游戏需要更新时,通常会在手机游戏的启动画面里弹出一个更新按钮,点击后会帮你跳转到软件市场重新下载完整的游戏包体
- 如果是一个像《王者荣耀》这样的1个G以上包体大小的游戏,那么每次都需要花同样的时间,再下载一次完整游戏,不管这个游戏是否只是更新了一个微小的功能或美术资源
什么是游戏热更新:有热更的游戏更新流程
- 而支持游戏热更新的更新流程就完全不同了,不需要在收到更新通知时跳转到软件商店进行下载,点击确认更新后会自动在游戏内进行更新包的下载,其次你要下载的更新包,只是更新的那部分内容
- 比如说一个游戏只是在下一个版本更新了一个皮肤、道具或者增加了一个新的功能系统,通常这种更新包的大小不会很大,假如更新包只有几兆,那么你只需要下载这几兆资源即可
- 对于玩家来说,下载的等待时间和流量消耗都极大的减少,对于提升玩家体验、提升玩家留存是很有帮助的
- 那么究竟一款支持热更新的游戏,它内部的更新流程和机制是什么样的呢?
- 第一次要游玩某个游戏时,还是会从游戏市场下载这个游戏,随着游戏运营的进程发展,游戏公司的策划决定加入一个新玩法修改现有玩法,或者修改游戏内的数值平衡
- 此时我们的开发者就需要根据策划的需求去制作游戏更新,并且将更新好的内容打包上传到游戏更新服务器,接着在玩家在下一次进入游戏时,游戏的客户端会自动到服务器去检查有无游戏内容更新,如果有则会从服务器下载更新包
- 客户端将更新包下载到本地以后,客户端自动释放压缩的更新包,并且把旧的游戏内容替换成新的更新包内的内容,这样就完成了游戏的版本更新
更新包长什么样?
- 游戏内的资源可以分成美术资源和程序资源,美术资源通常是可以直接热更新的,而程序资源要热更就有点麻烦了
- 因为程序资源可以是任意一段可以执行的程序代码,大家想象一下,如果一个游戏通过审核以后,在下一个版本中植入了一些窃取用户隐私或者有可能造成系统不稳定的功能,那么对于用户来说是很不安全的
- 所以苹果的IOS系系统中已经完全的禁止了程序在运行时加载新代码的功能,而安卓系统没有完全禁止这种功能,安卓APP仍然能够执行任何一段热更新加载的程序代码
- 那么,手机游戏如何应付IOS系统的禁止热更新从而提升玩家的游戏更新体验呢?
- 这就需要绕过系统限制,至于如何绕过呢?我们会在后续给大家揭晓,欢迎大家点赞、收藏、分享,并在评论区讨论你认为可行的解决方案~
写在最后
- 更多学习资源可以通过私信我获取(企业级性能优化/热更新/Shader特效/服务器/商业项目实战/每周直播/一对一指导)
- 点赞、关注、分享可免费获得配套学习资源
- 点击观看完整视频