هدف گذاری دارایی بر اساس چند بعد (هدف گذاری تودرتو)

برای هدف قرار دادن یک پوشه در بسته دارایی یا ماژول بسته با چند بعد (قالب فشرده سازی بافت، ردیف دستگاه، مجموعه کشور)، می توانید از هدف گذاری تودرتو استفاده کنید.

هدف گذاری تودرتو اجازه می دهد تا معیارهای هدف گیری را تعریف کنید که حداکثر 2 بعد هدف را ترکیب می کند.

قالب

برای هدف قرار دادن یک پوشه با ابعاد چندگانه، لیستی از ابعاد را در یک سری پسوند هشتگ به نام پوشه مشخص کنید.

به عنوان مثال، برای هدف قرار دادن یک پوشه دارایی با فرمت فشرده سازی بافت ASTC و ردیف 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 Plugin 8.2.0-alpha01 یا بالاتر پشتیبانی می شود که به Gradle 8.1 یا بالاتر نیاز دارد.

می توانید اطلاعات بیشتری در مورد نحوه سفارشی کردن پیکربندی برای ابعاد فردی در اسناد مربوط به هر بعد هدف پیدا کنید.

محدودیت ها

  • حداکثر می توانید از 2 بعد تو در تو استفاده کنید. به عبارت دیگر، نمی‌توانید پوشه‌ای را هم‌زمان با ردیف دستگاه، فرمت فشرده‌سازی بافت و کشور تنظیم کنید: باید 2 را انتخاب کنید.

  • شما باید 2 بعد تو در تو را در همان سطح مسیر پوشه مشخص کنید. به عنوان مثال، هدف گذاری پوشه زیر ممنوع است، زیرا #tcf_astc و #tier_2 در بخش های مسیر مختلف ظاهر می شوند:

.../level1/src/main/assets/character-textures#tcf_astc/level1#tier_2/
  • ابعاد تو در تو باید در کل بسته شما یکسان باشد. به عنوان مثال، نمی‌توانید یک بسته دارایی داشته باشید که در آن ردیف‌های دستگاه و مجموعه کشور را لانه کنید، و بسته دارایی دیگری را که در آن مجموعه کشور و قالب فشرده‌سازی بافت را لانه کنید.

  • مقادیری که برای 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/…
  • شما مجاز به استفاده از هدف گذاری تو در تو و هدف گذاری تک بعدی در پوشه های محتوای مجزا در بسته دارایی یا ماژول بسته هستید. اگر از یک بعد هم در هدف‌یابی تک بعدی و هم در هدف‌یابی تودرتو استفاده می‌کنید، مجموعه مقادیری که استفاده می‌کنید باید همیشه یکسان باشند. به عنوان مثال، نمی‌توانید در هدف‌یابی ردیف دستگاه تک‌بعدی با 4 لایه هدف‌گیری کنید، و سپس در صورت تودرتو با مجموعه‌های کشور یا TCF، تنها از 3 لایه استفاده کنید.