Penargetan Aset dengan Beberapa Dimensi (Penargetan Bertingkat)

Untuk menargetkan folder dalam paket aset atau modul paket dengan beberapa dimensi (format kompresi tekstur, tingkat perangkat, set negara), Anda dapat menggunakan penargetan bertingkat.

Penargetan bertingkat memungkinkan Anda menentukan kriteria penargetan yang menggabungkan hingga 2 dimensi penargetan.

Format

Untuk menargetkan folder dengan beberapa dimensi, tentukan daftar dimensi dalam serangkaian akhiran hashtag ke nama folder.

Misalnya, untuk menargetkan folder aset menurut format kompresi tekstur ASTC dan tingkat perangkat 2, penargetannya akan terlihat seperti ini:

...
.../level1/src/main/assets/character-textures#tcf_astc#tier_2/
...

Jika Anda menggunakan Gradle untuk membangun aplikasi, akhiran penargetan akan dihapus dari nama direktori di APK atau paket aset akhir yang dikirim ke perangkat pengguna.

Jika Anda menggunakan bundletool secara langsung, tentukan apakah Anda ingin akhiran dihapus untuk setiap dimensi secara terpisah di BundleConfig.json. Dengan contoh untuk penargetan tingkat perangkat:

{
  ...
  "optimizations": {
    "splitsConfig": {
      "splitDimension": [
      ...
      {
        "value": "DEVICE_TIER",
        "negate": false,
        "suffixStripping": {
          "enabled": true,
      }],
    }
  }
}

Penargetan bertingkat didukung di bundletool 1.14.1 atau yang lebih tinggi, dan Plugin Android Gradle 8.2.0-alpha01 atau yang lebih tinggi, yang memerlukan Gradle 8.1 atau yang lebih tinggi.

Anda dapat menemukan informasi selengkapnya tentang cara menyesuaikan konfigurasi untuk setiap dimensi dalam dokumentasi untuk setiap dimensi penargetan.

Batasan

  • Anda dapat menggunakan maksimal 2 dimensi bertingkat. Dengan kata lain, Anda tidak dapat menargetkan folder dengan tingkat perangkat, format kompresi tekstur, dan set negara secara bersamaan: Anda harus memilih 2.

  • Anda harus menentukan 2 dimensi bertingkat di tingkat jalur folder yang sama. Misalnya, penargetan folder berikut dilarang, karena #tcf_astc dan #tier_2 muncul di segmen jalur yang berbeda:

.../level1/src/main/assets/character-textures#tcf_astc/level1#tier_2/
  • Dimensi bertingkat Anda harus sama di seluruh paket. Misalnya, Anda tidak dapat memiliki satu paket aset dengan tingkat perangkat dan set negara yang disusun bertingkat, sementara paket aset lainnya berisi set negara dan format kompresi tekstur yang disusun bertingkat.

  • Nilai yang Anda gunakan untuk 2 dimensi harus sama di seluruh paket, dan Anda harus menentukan kombinasi nilai yang lengkap. Misalnya, jika Anda ingin menyusun format kompresi tekstur dan set negara secara bertingkat, sementara Anda memiliki 4 TCF (ASTC, ETC2, PVRTC, penggantian default) dan 3 set negara (latam, laut, penggantian default), Anda harus menentukan folder untuk kedua belas kombinasi tersebut:

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/…
  • Anda diizinkan untuk menggunakan penargetan bertingkat dan penargetan satu dimensi di folder konten yang berbeda dalam modul paket atau paket aset yang sama. Jika Anda menggunakan sebuah dimensi dalam penargetan satu dimensi dan penargetan bertingkat, kumpulan nilai yang Anda gunakan harus selalu sama. Misalnya, Anda tidak dapat menargetkan sebanyak 4 tingkat dalam penargetan tingkat perangkat satu dimensi, lalu hanya menggunakan 3 tingkat saat disusun bertingkat dengan set negara atau TCF.