Nhắm mục tiêu tài sản theo một số phương diện (Nhắm mục tiêu lồng nhau)

Để nhắm đến một thư mục trong gói tài sản hoặc mô-đun gói theo một số phương diện (định dạng nén hoạ tiết, cấp thiết bị, nhóm quốc gia), bạn có thể sử dụng tính năng Nhắm mục tiêu lồng nhau.

Tính năng nhắm mục tiêu lồng nhau cho phép xác định tiêu chí nhắm mục tiêu kết hợp tối đa 2 phương diện nhắm mục tiêu.

Định dạng

Để nhắm mục tiêu một thư mục theo nhiều phương diện, hãy chỉ định danh sách phương diện trong một bộ hậu tố hashtag cho tên thư mục.

Ví dụ: để nhắm mục tiêu thư mục tài sản theo định dạng nén hoạ tiết ASTC và thiết bị cấp 2, phần khai báo nhắm mục tiêu sẽ trông giống như sau:

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

Nếu bạn đang sử dụng Gradle để tạo bản dựng ứng dụng, thì hậu tố nhắm mục tiêu sẽ bị xoá khỏi tên thư mục trong APK hoặc gói tài sản cuối cùng được phân phối đến thiết bị của người dùng.

Nếu bạn đang trực tiếp sử dụng bundletool, hãy chỉ định xem có loại bỏ hậu tố cho từng phương diện riêng lẻ trong BundleConfig.json hay không. Ví dụ về tính năng Nhắm mục tiêu theo cấp thiết bị:

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

Tính năng Nhắm mục tiêu lồng nhau được hỗ trợ trong bundletool 1.14.1 trở lên và Trình bổ trợ Android cho Gradle 8.2.0-alpha01 trở lên (yêu cầu Gradle 8.1 trở lên).

Bạn có thể tìm thêm thông tin về cách tuỳ chỉnh cấu hình cho các phương diện riêng lẻ trong tài liệu về từng phương diện nhắm mục tiêu.

Hạn chế

  • Bạn có thể sử dụng tối đa 2 phương diện lồng nhau. Nói cách khác, cùng một lúc thì bạn không thể có một thư mục được nhắm mục tiêu theo cả cấp thiết bị, định dạng nén hoạ tiết và nhóm quốc gia: bạn phải chọn 2.

  • Bạn nên chỉ định 2 phương diện lồng nhau ở cùng cấp đường dẫn thư mục. Ví dụ: tiêu chí nhắm mục tiêu thư mục sau đây bị cấm vì #tcf_astc và #tier_2 xuất hiện trong các đoạn đường dẫn khác nhau:

.../level1/src/main/assets/character-textures#tcf_astc/level1#tier_2/
  • Các phương diện lồng nhau phải giống nhau trên toàn bộ gói của bạn. Ví dụ: bạn không thể đồng thời có một gói tài sản được nhắm mục tiêu lồng nhau theo cấp thiết bị và nhóm quốc gia, và một gói tài sản khác được nhắm mục tiêu lồng nhau theo nhóm quốc gia và định dạng nén hoạ tiết.

  • Các giá trị bạn sử dụng cho 2 phương diện cần phải giống nhau trong toàn bộ gói và bạn phải chỉ định tổ hợp giá trị hoàn chỉnh. Ví dụ: nếu bạn muốn lồng định dạng nén hoạ tiết và nhóm quốc gia và bạn có 4 TCF (ASTC, ETC2, PVRTC, phương án dự phòng mặc định) và 3 nhóm quốc gia (latam, sea, phương án dự phòng mặc định), bạn phải chỉ định một thư mục cho tất cả 12 tổ hợp:

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/…
  • Bạn được phép sử dụng cả tính năng nhắm mục tiêu lồng ghép và tính năng nhắm mục tiêu theo một phương diện trên các thư mục nội dung khác nhau trong cùng một gói tài sản hoặc mô-đun gói. Nếu bạn sử dụng một phương diện trong cả tính năng nhắm mục tiêu theo một phương diện và nhắm mục tiêu lồng nhau, thì nhóm giá trị mà bạn sử dụng phải luôn giống nhau. Ví dụ: bạn không thể nhắm mục tiêu theo 4 cấp trong tiêu chí nhắm mục tiêu theo một phương diện là cấp thiết bị và sau đó chỉ sử dụng 3 cấp khi nhắm mục tiêu lồng ghép với các nhóm quốc gia hoặc TCF.