複数のディメンションによるアセット ターゲット設定(ネストされたターゲット設定)

アセットパックまたはバンドル モジュール内のフォルダを複数のディメンション(テクスチャ圧縮形式、デバイス階層、国セット)でターゲット設定するには、ネストされたターゲット設定を使用します。

ネストされたターゲット設定を使用すると、最大 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 以降と、Gradle 8.1 以降を必要とする Android Gradle プラグイン 8.2.0-alpha01 以降でサポートされています。

個々のディメンションの設定をカスタマイズする方法について詳しくは、各ターゲティング ディメンションのドキュメントをご覧ください。

制限事項

  • 最大で 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 つの国セット(latam、sea、デフォルトのフォールバック)がある場合、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 階層のみを使用することはできません。