デバイス ターゲティングを使用すると、デバイスのハードウェアに基づいて、同じアセットの異なるバージョン(解像度など)をデバイスに配信できます。たとえば、ローエンド デバイスには低解像度のアセットを配信してパフォーマンスを向上させ、ハイエンド デバイスには高解像度のアセットを配信してグラフィックの品質を向上させることができます。いずれの場合も必要なアセットのみをユーザーのデバイスに配信するため、ゲーム全体のサイズが大きくなることはありません。これは、Play Asset Delivery のアセットパックのコンセプトに基づいています。後で説明するように、グループ条件を(現時点では RAM、特定のデバイスモデル、使用可能なシステム機能、システム オン チップに基づいて)定義できます。
デバイス ターゲティング構成ファイル
デバイス ターゲティングを開始するには、デバイス ターゲティング構成ファイルを作成します。手順については、デバイス ターゲティングのドキュメントをご覧ください。
アセットパックでデバイス ターゲティングを使用する
構成ファイルを作成したら、アセットパックをデバイス グループごとに分割できます。
必要な手順は、Android Gradle プラグインと Play Unity プラグインのどちらでアプリをビルドするかによって異なります。続行する前に、ビルド設定を選択します。
作成した既存のアセットパック ディレクトリを取得し、適切なフォルダに(後述のように)#group_myCustomGroup1
や #group_myCustomGroup2
などの接尾辞を追加します。アプリでアセットパックを使用する場合は、接尾辞でフォルダを参照する必要はありません(つまり、接尾辞はビルドプロセス中に自動的に削除されます)。
前のステップを実施すると、次のようになります。
...
.../asset-pack-name/src/main/assets/level#group_myCustomGroup1/
.../asset-pack-name/src/main/assets/level#group_myCustomGroup2/
...
この例では、接尾辞なしで asset-pack-name/assets/level/
を参照します。
myCustomGroup1
のデバイスは level#group_myCustomGroup1/
のすべてのアセットを受信し、myCustomGroup2
のデバイスは level#group_myCustomGroup2/
のすべてのアセットを受信します。
myCustomGroup1
または myCustomGroup2
に属していないデバイスには、空の asset-pack-name
パッケージが送信されます。
これは、デバイス グループと一致しないデバイスには、アセットパックのデフォルト バリアント(level#group_other
フォルダ内にあるもの、または #group_suffix
を含むディレクトリにないすべてのもの)が提供されるためです。