每次更新我的Android应用时,我都必须上传完整尺寸的APK
,我注意到有些应用的尺寸为30MB,更新尺寸仅为10MB。
怎么做?
答案 0 :(得分:2)
一种选择是开始使用Asset Bundles。在这种情况下,您明确指定要在资产包文件中的特定内容(场景,模型,纹理等)。根据您分割内容的方式,如果您更改的只是模型,纹理或添加新场景,则可以使更新保持相当小。 (有些游戏将内容分组为资产包。有些游戏通过将每个资产放入单独的包中来提供更细粒度的控制)
但是,应用程序仍将包含所有代码和其他可执行内容。只要更改脚本或添加新脚本,就需要更新应用程序。 (对于这个问题,有一些棘手的解决方法可行,但实际上可能比它们的价值更麻烦)。
答案 1 :(得分:1)
AssetBundle是一种方式,另一种方式是RESTful API。
AB允许从构建中删除所有内容,只上传逻辑(脚本)。这是在商店中少于30mb的一些移动游戏中使用的,但是在首次启动时将花费额外的5分钟下载。这是下载所有纹理和模型等的时候。
第二种情况是RESTful API,使用json / xml。这是您轻松快速调整游戏的地方。 假设您的分析显示人们因为太难而在特定级别上下降。 您可以设计级别来读取文件以定义挑战。你在服务器上设置了该值,文件在下次运行时被加载,玩家不会注意到关卡更容易(也许幸运)但实际上你已经更新了你的游戏。
Unity实际上有一个新功能,不确定它的价值。 https://blogs.unity3d.com/2017/06/02/introducing-remote-settings-update-your-game-in-an-instant/
当您向AssetBundle添加新逻辑(脚本)时,您必须发布新应用程序。这是因为Unity处理脚本序列化的方式。基本上,脚本只是一个数据文件,在构建中引用其匹配作为编译代码。如果编译的代码丢失,则会出现异常。因此,如果您尝试使用不在构建中的脚本上载AB,则无需执行任何操作,您必须发布新版本。
https://unity3d.com/learn/tutorials/temas/best-practices/assets-objects-and-serialization