ios手游热更新 什么是热更新热更新是什么意思

一、什么是热更新热更新是什么意思

1、热更新是一种各大手游等众多App常用的更新方式。

2、热更新就是动态下发代码,它可以使开发者在不发布新版本的情况下,修复 BUG和发布功能,让开发者得以绕开苹果的审核机制,避免长时间的审核等待以及多次被拒造成的成本。

3、2017年6月,AppStore审核团队针对AppStore中热更新的App开发者发送邮件,要求移除所有相关的代码、框架或SDK,并重新提交审核,否则就会在AppStore中**该软件。

4、在iOS中有两种App更新方式:一种是在AppStore内进行更新,更新时重新下载全部安装包;另一种就是热更新。

5、用户只有在打开App时才会发现热更新包,更新时只需下载安装更新部分的代码,再次打开时即可。

6、热更新*大的优点就是快,它可以绕过苹果方面的审核,更新通常只需一个晚上即可上线,另一大优点就是更新包较小,一般都在1M左右,用户不连接WiFi也可随意下载。

7、参考资料来源:百度百科—热更新

二、Unity手游的Wwise初始化(考虑热更)

1、Unity手游的Wwise初始化(考虑热更)

2、在Unity手游项目中,Wwise的初始化是一个关键步骤,特别是在需要考虑热更(热更新)的情况下。以下是一个详细的初始化流程,旨在满足热更需求并优化游戏*能。

3、一、加载AkTerminator和AkInitializer脚本

4、为了初始化Wwise,首先需要加载AkTerminator和AkInitializer两个脚本。这里有两种常用的方法:

5、缺点:在加载AkInitializer时就会完成Wwise初始化,导致只有少部分参数设置(如Log开关)会生效,而大多数参数设置(如SoundEngine内存分配、默认语言)不会生效。

6、优点:所有初始化参数都可以配置并热更。

7、缺点:需要在初始化Wwise时进行Prefab的实例化操作。但考虑到热更的需求和稳定*,推荐使用此方法。

8、为了优化CPU资源,通常会注册一个全*声音对象来播放所有2D声音(如音乐、环境、UI声音)。这个对象不需要同步坐标,从而避免了频繁注册和注销SoundObject的损耗。

9、在游戏开始时,需要加载一些必要的SoundBank,如音量设置、UI、音乐等。这可以通过以下三种方式实现:

10、在Lua中保存字段并调用C#接口加载。通过.asset配置文件读取并加载。将加载SoundBank操作做成Prefab并实例化。考虑到设计师可能需要修改要加载的SoundBank,第三种方式对设计师*友好,但同样需要Prefab的实例化操作。

11、关于音乐、音效、语音的开关及音量的设置,应保存在客户端本地,并在Wwise播出**个声音前设置正确的参数。这些设置通常依赖于LoadBank的完成,因此需要将与功能相关的SoundBank单*拆出来,使用同步方式加载或通过回调确定LoadBank已完成。

12、Wwise提供了SetBasePath和AddBasePath两个API用于设置SoundBank路径。在iOS和Android平台上,SetBasePath的默认路径为Application.streamingAssetsPath/Audio/GeneratedSoundBanks/(Platform),而AddBasePath的默认路径为Application.persistentDataPath。为了支持热更,可以将AddBasePath的路径改为Application.persistentDataPath/Audio/GeneratedSoundBanks/(Platform),并在发布热更包时将音频资源放到对应位置。

13、Wwise有两种SoundBank:Init bank和资源bank。Init bank包含了总线、游戏同步器、环境效果等设置。考虑到Init Bank也需要热更,初始化有以下几种选择:

14、在完成资源热更后再进行初始化:这是*安全的方法,但在热更完成前游戏会处于无声状态。在游戏运行时进行初始化并载入登陆音乐:热更完成后卸载并重新加载Init Bank和登陆音乐的SoundBank。但Wwise官方不推荐这种方法,因为它可能导致不稳定。在游戏运行时进行初始化并载入登陆音乐:热更完成后不重新加载。游戏下次运行时会使用全新的SoundBank,而本次会使用旧的Init bank及登陆音乐SoundBank。同样,Wwise官方不推荐这种方法,但一些项目可能出于某种原因选择了它。需要注意的是,非Stream的SoundBank文件在加载后被播放时,源文件不会被占用,可以通过热更替换。而Stream文件播放时,源文件会被占用,不能热更。因此,如果登陆音乐有热更需求,就不能使用Stream。

15、综上所述,Unity手游的Wwise初始化在考虑热更时,需要仔细规划加载脚本、注册全*声音对象、加载必要的SoundBank、设置音量以及处理热更和初始化时机等步骤。通过合理的规划和实施,可以确保Wwise在游戏中的稳定运行和***能。

阅读剩余 0*
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。