Чтобы настроить таргетинг на папку в пакете ресурсов или модуле пакета по нескольким параметрам (формат сжатия текстур, уровень устройства, набор стран), вы можете использовать вложенный таргетинг.
Вложенное таргетинг позволяет определять критерии таргетирования, которые сочетают в себе до 2 таргетинга.
Формат
Чтобы нацелиться на папку несколькими измерениями, укажите список размеров в серии суффиксов хэштега на имя папки.
Например, чтобы нацелиться на папку активов с помощью формата сжатия текстуры ASTC и уровня 2 -го уровня 2, таргетинг будет выглядеть как:
...
.../level1/src/main/assets/character-textures#tcf_astc#tier_2/
...
Если вы используете Gradle для создания своего приложения, суффиксы таргетинга удаляются из имени каталога в окончательных APK-файлах или пакетах ресурсов, которые доставляются на пользовательские устройства.
Если вы используете Bundletool напрямую, укажите, хотите ли вы, чтобы суффикс удалялся для каждого измерения отдельно в BundleConfig.json
. Пример таргетинга на уровне устройств:
{
...
"optimizations": {
"splitsConfig": {
"splitDimension": [
...
{
"value": "DEVICE_TIER",
"negate": false,
"suffixStripping": {
"enabled": true,
}],
}
}
}
Вложенный таргетинг поддерживается в Bundletool 1.14.1 или более поздней версии, а также в плагине Android Gradle 8.2.0-alpha01 или более поздней версии, для которого требуется Gradle 8.1 или более поздней версии.
Дополнительную информацию о том, как настроить конфигурацию для отдельных параметров, можно найти в документации по каждому параметру таргетинга.
Ограничения
Вы можете использовать не более двух вложенных измерений. Другими словами, вы не можете одновременно настроить папку, ориентированную на уровень устройства, формат сжатия текстур и страну: вам нужно выбрать 2.
Вы должны указать 2 вложенных измерения на том же уровне пути папки. Например, следующее таргетинг папки запрещено, поскольку #TCF_ASTC и #TIER_2 появляются в разных сегментах пути:
.../level1/src/main/assets/character-textures#tcf_astc/level1#tier_2/
Вложенные размеры должны быть одинаковыми для всего пакета. Например, у вас не может быть пакета ресурсов, в который вы вкладываете уровни устройств и наборы стран, и другой пакет ресурсов, в который вы вкладываете набор стран и формат сжатия текстур.
Значения, которые вы используете для двух измерений, должны быть одинаковыми по всему пакету, и вы должны указать полную комбинацию значений. Например, если вы хотите вложить формат сжатия текстур и набор стран и у вас есть 4 TCF (ASTC, ETC2, PVRTC, резервный вариант по умолчанию) и 3 набора стран (латам, море, резервный вариант по умолчанию), вы должны указать папку для всех 12 комбинаций:
level1/textures#countries_latam#tcf_astc/…
level1/textures#countries_latam#tcf_etc2/…
level1/textures#countries_latam#tcf_pvrtc/…
level1/textures#countries_latam/…
level1/textures#countries_sea#tcf_astc/…
level1/textures#countries_sea#tcf_etc2/…
level1/textures#countries_sea#tcf_pvrtc/…
level1/textures#countries_sea/…
level1/textures#tcf_astc/…
level1/textures#tcf_etc2/…
level1/textures#tcf_pvrtc/…
level1/textures/…
- You are allowed to use both nested targeting and single-dimension targeting on distinct content folders in the same asset pack or bundle module. If you use a dimension both in single-dimension targeting and nested targeting, the set of values you use must be always the same ones. Например, вы не можете настроить таргетинг на 4 уровня при одномерном таргетинге на уровень устройств, а затем использовать только 3 уровня при вложении с наборами стран или TCF.