资源分发的设备定位(Beta 版)

借助设备定位,您可以根据设备的硬件向其分发同一资源的不同版本,例如不同分辨率的版本等。比方说,您可以选择将低分辨率资源分发给低端设备以提高性能,而将高分辨率资源分发给高端设备以提升图形质量。因为系统只会向用户设备分发必要的资源,所以完全不会增加整体游戏大小。这种做法采用了 Play Asset Delivery 中的资源包概念。正如您稍后会看到的,您可以定义组条件(目前可基于 RAM、特定设备型号、可用系统功能和系统芯片来定义)。

设备定位配置文件

如需开始使用设备定位,请创建设备定位配置文件。有关说明,请参阅设备定位文档

为资源包使用设备定位

创建配置文件后,您可以按设备组细分资源包。

具体所需步骤因您是使用 Android Gradle 插件还是 Play Unity 插件构建应用而异。在继续之前,请选择您的 build 设置:

获取创建的现有资源包目录,并使用 #group_myCustomGroup1#group_myCustomGroup2 等为相应文件夹添加后缀(如下所述)。在应用中使用资源包时,您无需按后缀来寻址文件夹(换句话说,后缀会在构建过程中自动剥离)。

执行完上一步操作后,目录可能如下所示:

...
.../asset-pack-name/src/main/assets/level#group_myCustomGroup1/
.../asset-pack-name/src/main/assets/level#group_myCustomGroup2/
...

在此示例中,您将引用不带任何后缀的 asset-pack-name/assets/level/

myCustomGroup1 中的设备将收到 level#group_myCustomGroup1/ 下的所有资源,而 myCustomGroup2 中的设备将收到 level#group_myCustomGroup2/ 下的所有资源。

不属于 myCustomGroup1myCustomGroup2 的设备将收到空的 asset-pack-name 文件包。

这是因为不匹配任何设备组的设备将收到资源包的默认变体,其中包含 level#group_other 文件夹内的所有内容,以及不位于任何包含 #group_suffix 的目录内的所有内容。