Unity发布aab(Android App Bundle)详解(一)Unity .aab支持情况
从2021.8月开始,谷歌开始禁止新应用使用apk+obb的方式提交应用了,而强制改用新格式.aab。本来想着不用就不用吧,.aab格式应该对Unity很容易吧,查了资料,发现只要在Build Settings勾选Build App Bundle(Google Play)选项即可,如图:勾选后打包,发现确实打出了.aab格式的文件了。但是生活总是开玩笑,发现事情往往没有这么简单。上传到Google
2021.12.28更新
经群友提醒,目前Unity官方已经支持直接不进行任何更改打出aab包了。
支持的Unity版本:
- 2021 → 2021.2.0b4 以上
- 2020 → 2020.3.15f2 以上
- 2019 → 2019.4.29f1 以上
将Split Application Binary选项勾选
在ProjectSettings → Android → Publish Settings 最底下有个 Split Application Binary,将其勾选
原本这是会让 APK 产生 APK Expansion Files (.oob) 的选项,但在build target选AAB的情况下会变成使用Play Asset Delivery。
详细操作方式按照官方文档操作即可
也可以查看该文章解决:https://medium.com/akatsuki-taiwan-technology/unity-play-asset-delivery-1d468fd90c2d
-----------------------------------------------------------------------------------------------------
Android App Bundle是什么
Android App Bundle 是谷歌新推出的一种发布格式,之前是采用apk+obb的方式,但是这些都有个弊端,就是用户下载应用会将obb一同下载到用户设备上,占据用户手机设备的大量的存储空间,优化了个寂寞。
按照谷歌的说法,新格式采用.aab格式,.aab格式包体大小限制为150M,超过150M的应用需要采用Play Asset Delivery (简称PAD)进行分发,也就是把超过150M的资源放到谷歌后台,自己不用提供CDN供玩家下载。并且可以根据玩家的设备类型自动分发不同架构的代码和资源。
详情请参照官方文档:https://developer.android.com/guide/app-bundle
请注意,Android App Bundle 不支持 APK 扩展 (*.obb
) 文件。
对Unity开发的游戏的影响
从2021.8月开始,谷歌开始禁止新应用使用apk+obb的方式提交应用了,而强制改用新格式.aab。本来想着不用就不用吧,.aab格式应该对Unity很容易吧,查了资料,发现只要在Build Settings勾选Build App Bundle(Google Play)选项即可,如图:
勾选后打包,发现确实打出了.aab格式的文件了。但是生活总是开玩笑,发现事情往往没有这么简单。
上传到GooglePlay后台后,系统提示“您的App Bundle包含的以下配置会使应用的初始安装大小超过150 MB的上限:”,英文版描述是:“Your App Bundle contains the following configurations where the initial install would exceed the maximum size of 150 MB:”,我的天,看着事情似乎开始变得复杂。。。
不死心的我,想着偌大的Unity公司,不可能没有应对方案吧,这个App Bundle是2019.8月出来的政策了,2年的时间过渡了,现在都马上2021.8月了,Unity总已经解决了吧?于是我到外网找啊找,Google、Unity论坛、Unity官网,等等等等渠道查了个遍,发现似乎Unity确实还没有搞定。。。
(Unity官方在2021.3月份的回答,似乎还是没有搞定)
可以看下面的链接查看详情:
Android App Bundle, how to upload game larger than 100 mb ? | Page 2 - Unity Forum
Help Wanted - Using Addressables along with Google Play Asset Delivery. - Unity Forum
New Google Play Asset Delivery - possible with UCB? - Unity Forum
让我确定Unity没有搞定的原因是,我查到了Unity的线路图,Support for Google Play Asset Delivery还是开发中,这就有趣了。
说了这么多,也只是确认了事情没有这么简单,Unity目前没有针对该问题的完整的解决方案,得,说归说,那没办法事情还是需要解决。
游戏包有1G左右,而且是单机游戏,没有考虑热更新以及AssetBundle方式。
最后定下来的方案是使用Addressables+Play Asset Delivery。下面细说。
系列文章索引
Unity发布Android App Bundle详解(一)Unity .aab支持情况
Unity发布Android App Bundle详解(二)Play Asset Delivery介绍
Unity发布Android App Bundle详解(三)快速转换Addressables
Unity发布Android App Bundle详解(四)Addressables+Play Asset Delivery分发
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)