苹果已正式开始实行“热更新”新规,这对游戏行业来说有哪些影响呢?极度依赖热更新的移动游戏领域,面对如此禁令将会遇到怎样的困难?
今天(6月12日)是苹果禁止部分热更新的第一天,小编发现绝大多数热门游戏都没有受此次新规的影响而下架,此前传出的“王者荣耀、12306等大批使用热更新机制的游戏和应用不执行就会被下架”的传闻不攻自破。但同时,禁止热更新的影响还在持续着,相关的游戏也需要开始修改和配合。
苹果下最后通牒,从今天起必须移除“热更新”相关代码
日前,有开发者收到苹果通知,要求“当前含有热更新功能的App,在6月12日前移除相关代码,否则这些App可能会下架。”事实上3月份苹果就曾对部分应用程序的开发者发出了相关通知,多轮的通知已经足够反映出苹果对避免热更新带来潜在安全风险的重视。
热更新,是iOS软件更新的一种,指的是服务器在不关闭的情况下,用户打开APP即可下载安装更新的代码运行,这个更新包可以做得非常小,最小的只有1M左右,便于开发者更新和用户下载,不连接WIFI用户也能随意下载。
除了热更新之外,另一种更新方式则是在App Store内将软件重新下载更新,这对用户来说非常繁琐且重负,需要重新下载完整游戏包,因此也只有在极少数情况下才会用到。除此之外,热更新不需要通过苹果App Store软件版本更新审核,这也成为了目前绝大多数移动游戏更新的主流方式之一。
限制iOS的热更新,会对移动游戏造成严重的影响,因为游戏需要时常进行数据更新、BUG修复、大型运营活动等等,这些都需要依靠热更新。
实际上,苹果不是封杀热更新,而是要求开发者采取合理机制
从效果上看,今天是禁止热更新的第一天,热门游戏基本都没有受到影响。小编了解到,这次苹果并不是禁止热更新,而是禁止一些不符合规定的热更新框架和技术。
知乎中的一位匿名开发者给出了进一步的解释:
“不符合2.5.2条款,App包含热更新代码,特别提到了dlopen(),dlsym(),responding To Selector:,perform Selector:,method_exchange Implementations()这些函数,但是苹果没有禁用热更新,只是禁用了几种热更新框架和技术,而JSPatch等苹果不让使用的原因是,能够直接修改代码,可以修改到功能,这样其实绕过了苹果的审核,其他的苹果禁止使用的框架也是如此。”
也就是说,尽管JSPatch等热更新机制被禁止了,但开发者仍然可以用React Native框架进行更新。
“后期提交的版本,要么没有热更新,要么只能用React Native框架热更新,其他如JSPatch、RolloutIO、TriggerIO、WAX(Lua)等都不能用”。苹果希望借此机会让开发者使用合理的热更新机制。
以规范“热更新”的名义,限制苹果生态中的内容
再三提醒开发者进行热更新代码的修改和调整,由此看来,苹果整顿的态度已经非常明确了,而收回App更新的审核权限,实际上是想限制一些的打擦边球的内容。
苹果在去年发现了由于JSPatch引起的更新漏洞可能会被黑客利用,JSPatch允许开发者在JS端调用任意原生代码,这显然是极其危险的。假设这段代码是通过热更新技术下载执行的,如果在中间存在黑客,把这段代码动态替换掉,比如修改为获取用户通讯录并上传到黑客的服务器,就会造成重大的安全问题。
因为“热更新”不需经过App Store审核而容易被黑客或组织利用此机制修改App,因此除了涉及到用户的数据安全和隐私之外,苹果也在尝试利用限制“热更新”的名义在进化苹果生态,打击一些试图利用热更新打擦边球的应用,通过更新审核拦截和打击一些黄色、、赌博、第三方支付、违规广告等内容。
禁止热更新对游戏厂商来说到底意味着什么?
苹果禁止热更新,首当其冲的就是移动游戏,因为这是一个极度依赖热更新的领域,运营活动、BUG修复、大包体游戏更新等都会受到重大影响,这也是为什么苹果出台新政后,行业内引起了一阵骚动和广泛关注。
1.大型的游戏运营活动将受到限制
一款游戏要想拥有长生命周期,总是难免会有大型的运营活动,特别是节假日,这是举办游戏内运营活动的最佳时期。然而这些运营活动基本都是即时性的,热更新是满足这种需求的最有效的方式之一,如果不能做到热更新,相当于举办运营活动的门槛会大大提升。
2.游戏不能有重大的BUG
限制热更新同时也是在限制游戏产品的容错率,以往一些突发BUG可以通过热更新的形式进行紧急修复,防止造成更严重的后果。但限制了热更新之后,游戏出现BUG必须进行整包更新,更新过程中还得留出苹果审核时间,如果没问题,审核一般是5-7天,快的话3天,加急可能少于3天,这样就大大影响了产品更新的进度。小BUG或许还能勉强撑住,重大BUG可能因此导致整个游戏的奔溃。
3.大包体手游的更新,将引起严重的用户流失
限制热更新意味着游戏不能频繁更新功能,因为除了热更新,用户只能采取全覆盖式的整包更新方式,也就是说,每更新一次,用户就要重新下载一次游戏,这将严重影响用户体验。
特别是大包体游戏,每一次的更新都将带来大量的用户流失。在用户获取成本逐渐攀升的当下,更新带来的门槛会阻挡一部分活跃的用户,这将给游戏带来重大的损失。
4.切支付的你,还玩得动吗?
切支付相信在国内手游行业里已经不是一个秘密了,做iOS联运的有部分厂商已经趟了这趟浑水。切支付是通过热更新的形式,叠加一个支付账户出口,绕开苹果账户系统,以此获得的流水可以不与苹果分成。而规范热更新,则能直接有效地避免这一行为,甚至很可能这就是苹果针对这类型灰色玩法所做出的应对措施。