استهداف مواد العرض حسب أبعاد متعددة (الاستهداف المتداخل)

لاستهداف مجلد في حزمة مواد عرض أو وحدة حزمة حسب عدة سمات (تنسيق ضغط البنية، وفئة الجهاز، ومجموعة البُلدان)، يمكنك استخدام التتبُّع المُدمَج.

يسمح الاستهداف المتداخل بتحديد معايير استهداف تضم ما يصل إلى بُعدين استهداف.

التنسيق

لاستهداف مجلد حسب سمات متعددة، حدِّد قائمة السمات في سلسلة من لاحقات علامات الهاشتاغ لاسم المجلد.

على سبيل المثال، لاستهداف مجلد مواد عرض حسب تنسيق ضغط البنية 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 الإضافي" 8.2.0-alpha01 أو إصدار أحدث، والذي يتطلّب Gradle 8.1 أو إصدار أحدث.

يمكنك العثور على مزيد من المعلومات حول كيفية تخصيص الإعدادات الخاصة بالسمات الفردية في مستندات كل سمة استهداف.

القيود

  • لا يمكنك استخدام أكثر من سمتَين مدمجتَين. بمعنى آخر، لا يمكن أن يكون لديك مجلد يستهدف فئة الجهاز، وتنسيق ضغط البنية والبلد، حيث يتم تعيين البلد في الوقت نفسه: يجب اختيار 2.

  • يجب تحديد السمتَين المتداخلتَين في المستوى نفسه من مسار المجلد. على سبيل المثال، يُحظر استهداف المجلد التالي، لأنّ #tcf_astc و #tier_2 يظهران في أجزاء مسار مختلفة:

.../level1/src/main/assets/character-textures#tcf_astc/level1#tier_2/
  • يجب أن تكون الأبعاد المدمجة متطابقة على مستوى الحزمة بالكامل. على سبيل المثال، لا يمكن أن يكون لديك حزمة مواد عرض يمكنك من خلالها دمج مستويات الجهاز ومجموعة بلدان، وكذلك حزمة مواد عرض أخرى حيث يمكنك دمج البلد وتنسيق الضغط.

  • يجب أن تكون القيم التي تستخدمها للسمتَين متطابقة في السلسلة بأكملها، ويجب تحديد المجموعة الكاملة من القيم. على سبيل المثال، إذا كنت تريد دمج تنسيق ضغط النسيج ومجموعة البلدان، وكان لديك 4 تنسيقات TCF (ASTC وETC2 وPVRTC وdefault fallback) و3 مجموعات بلدان (latam وsea وdefault fallback)، عليك تحديد مجلد لجميع التركيبات الـ 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 مستويات في استهداف فئة الجهاز ذي البعد الواحد، ثم استخدام 3 مستويات فقط عند الدمج مع مجموعات البلدان أو إطارات الشفافية والموافقة.