借助设备定位,您可以根据设备的硬件向其分发同一资源的不同版本,例如不同分辨率的版本等。比方说,您可以选择将低分辨率资源分发给低端设备以提高性能,而将高分辨率资源分发给高端设备以提升图形质量。因为系统只会向用户设备分发必要的资源,所以完全不会增加整体游戏大小。这种做法采用了 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/
下的所有资源。
不属于 myCustomGroup1
或 myCustomGroup2
的设备将收到空的 asset-pack-name
文件包。
这是因为不匹配任何设备组的设备将收到资源包的默认变体,其中包含 level#group_other
文件夹内的所有内容,以及不位于任何包含 #group_suffix
的目录内的所有内容。