Asset-Targeting nach mehreren Dimensionen (verschachteltes Targeting)

Um ein Targeting auf einen Ordner in einem Asset-Pack oder Bundle-Modul nach mehreren Dimensionen (Texturkomprimierungsformat, Gerätestufe, Ländereinstellung) vorzunehmen, können Sie das verschachtelte Targeting verwenden.

Beim verschachtelten Targeting lassen sich Targeting-Kriterien definieren, die bis zu zwei Targeting-Dimensionen kombinieren.

Formatieren

Wenn Sie die Ausrichtung auf einen Ordner nach mehreren Dimensionen vornehmen möchten, geben Sie die Liste der Dimensionen in Form von Hashtag-Suffixen an den Ordnernamen an.

Wenn Sie beispielsweise ein Targeting auf einen Asset-Ordner nach dem Texturkomprimierungsformat ASTC und Gerätestufe 2 vornehmen möchten, sieht das Targeting so aus:

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

Wenn Sie Ihre App mit Gradle erstellen, werden Targeting-Suffixe aus dem Verzeichnisnamen in den endgültigen APKs oder Asset-Packs entfernt, die an die Geräte der Nutzer gesendet werden.

Wenn Sie „bundletool“ direkt verwenden, geben Sie an, ob das Suffix für jede der Dimensionen einzeln in BundleConfig.json entfernt werden soll. Hier ein Beispiel für das Targeting auf Geräteklassen:

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

Das verschachtelte Targeting wird in Bundletool 1.14.1 oder höher und im Android Gradle-Plug-in 8.2.0-alpha01 oder höher unterstützt, für das Gradle 8.1 oder höher erforderlich ist.

Weitere Informationen zum Anpassen der Konfiguration für einzelne Dimensionen finden Sie in der Dokumentation zu den einzelnen Targeting-Dimensionen.

Einschränkungen

  • Sie können maximal zwei verschachtelte Dimensionen verwenden. Mit anderen Worten, Sie können nicht gleichzeitig einen Ordner für Gerätestufe, Texturkomprimierungsformat und Land festlegen. Sie müssen „2“ auswählen.

  • Sie sollten die beiden verschachtelten Dimensionen auf derselben Ebene des Ordnerpfads angeben. Beispielsweise ist das folgende Ordner-Targeting unzulässig, da #tcf_astc und #tier_2 in verschiedenen Pfadsegmenten enthalten sind:

.../level1/src/main/assets/character-textures#tcf_astc/level1#tier_2/
  • Die verschachtelten Abmessungen müssen für das gesamte Set gleich sein. Du kannst beispielsweise kein Asset-Pack haben, in dem du Geräteebenen und Ländereinstellungen verschachtelst, und ein anderes Asset-Pack, in dem du Länder- und Texturkomprimierungsformat verschachtelst.

  • Die Werte, die Sie für die beiden Dimensionen verwenden, müssen im gesamten Set gleich sein und Sie müssen die vollständige Wertekombination angeben. Wenn Sie beispielsweise das Texturkomprimierungsformat und die Ländergruppe verschachteln möchten und 4 TCFs (ASTC, ETC2, PVRTC, Standard-Fallback) und drei Ländersätze (Lateinamerika, Meer, Standard-Fallback) haben, müssen Sie einen Ordner für alle 12 Kombinationen angeben:

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/…
  • Sie können für unterschiedliche Inhaltsordner im selben Asset-Pack oder Bundle-Modul sowohl das verschachtelte Targeting als auch das Targeting mit einer Dimension verwenden. Wenn Sie eine Dimension sowohl für das Targeting mit einer einzelnen Dimension als auch für das verschachtelte Targeting verwenden, müssen Sie immer dieselben Werte verwenden. Beispielsweise ist es nicht möglich, beim Targeting auf Gerätestufen mit nur einer Dimension ein Targeting nach vier Stufen vorzunehmen und dann nur drei Stufen zu verwenden, wenn Sie mit Ländersätzen oder TCFs verschachtelt sind.