Play Asset Delivery
Play Asset Delivery(PAD)を使用することで、App Bundle のメリットをゲームでも活用できます。ゲームに必要なすべてのリソースを含む単一アーティファクトを Google Play で公開することで、150 MB を超えるゲームで以前の拡張ファイル(OBB)を置き換えることができます。PAD では、柔軟な配信モード、自動更新、圧縮、差分パッチを提供しており、無料で利用できます。PAD を使用すると、すべての Asset Pack のホストと配信が Google Play で行われるため、コンテンツ配信ネットワーク(CDN)を使用してゲームリソースをプレーヤーに配信する必要はありません。
Play Asset Delivery は、アセット(テクスチャ、シェーダー、音声など)で構成される Asset Pack を使用しますが、実行可能コードは使用しません。Dynamic Delivery では、各アセットパックをデバイスにダウンロードする方法とタイミングを、3 つの配信モード(install-time、fast-follow、on-demand)に基づいてカスタマイズできます。
ゲームに PAD を直接実装する場合は、次のステップをご覧ください。

単一アーティファクトを公開
ゲームのすべてのリソースを含む単一アーティファクトを Google Play で公開する
柔軟な配信モード
Google Play がゲームアセットを配信するタイミングと方法を管理する
テクスチャ圧縮形式のターゲット設定
リーチを犠牲にせず、利用可能なハードウェアの効率的な使用を開始する
自動更新
高度な圧縮と差分パッチを適用してゲームアセットを自動更新するよくある質問に対する回答
配信モード
install-time
Asset Pack は、アプリのインストール時に、分割 APK(APK セットの一部)として配信されます。この Asset Pack は「Upfront」Asset Pack と呼ばれることもあり、アプリを起動するとすぐに使用できます。また、Google Play ストアに表示されるアプリのサイズには、これらの Asset Pack が含まれます。これらの Asset Pack をユーザーが変更または削除することはできません。
fast-follow
Asset Pack は、アプリがインストールされるとすぐに自動的にダウンロードされます。そのため、fast-follow
Asset Pack のダウンロードを開始するためにユーザーがアプリを開く必要はありません。この自動ダウンロードによってアプリを開けなくなることはありません。また、Google Play ストアに表示されるアプリのサイズには、これらの Asset Pack が含まれます。
on-demand
アセットパックは、アプリの実行中にダウンロードされます。
fast-follow
および on-demand
として設定されたアセットパックは、Google Play ストアによって分割 APK ではなくアーカイブ ファイルとして配信され、その後、アプリの内部ストレージ内で展開されます。このように配信された Asset Pack の場所は、Play Core API を使用して照会できます。これらのファイルはユーザーによって削除されたり、Play Core SDK によってプレイ セッション間で移動されたりすることがあるため、ファイルが存在するかどうかやファイルの場所をアプリが推定することはできません。これらのファイルは、アプリによる書き込みが可能であっても、読み取り専用として扱う必要があります(Asset Pack のパッチを適用するには、これらのファイルの完全性が維持されている必要があるため)。
アセットの更新
アプリを更新する際、install-time
Asset Pack の更新は、ベースアプリの更新の一環として行われます(デベロッパーによるアクションは必要ありません)。
fast-follow
および on-demand
Asset Pack のアプリの更新は、次の手順で行われます。
- アプリのパッチ(すべてのアセットを含む)がデバイス上の安全な場所にダウンロードされます。
- アプリのバイナリが更新されます。これには、
install-time
Asset Pack がすべて含まれます。 - 以前にダウンロードされた Asset Pack はすべて無効になります。
- アセットのパッチがコピーされ、アプリの内部ストレージに保存されているアセットに適用されます。
ほとんどの場合、ユーザーがゲームを開いたときには更新がすべて完了しており、ユーザーは更新版のプレイをすぐに開始できます。まれに、アプリを開いたときに、アプリのバイナリがすでに更新されているものの、アセットのパッチ適用プロセスがまだ完了しておらず、そのためにアセットにアクセスできない場合があります。このようなシナリオには、アセットの「更新処理が進行中」であることを示す適切なユーザー インターフェース要素、またはアクセスできない無効なアセットを処理する組み込みロジックを提供することによって対応する必要があります。アプリのバイナリの更新は、すべてのタイプの Asset Pack がダウンロードされた後に行われるため、パッチの適用はローカルかつオフラインですばやく行われます。
テクスチャ圧縮形式のターゲット設定
テクスチャ圧縮は、GPU が専用ハードウェアで圧縮テクスチャから直接レンダリングすることを可能にする不可逆の画像圧縮形式です。この形式を使用することで、必要なテクスチャのメモリ容量とメモリ帯域幅を削減できます。テクスチャ圧縮形式のターゲット設定により、複数のテクスチャ圧縮形式で圧縮したテクスチャを Android App Bundle に含め、Google Play でアセットを自動的に配信する際にデバイスごとに最適なテクスチャ圧縮形式を使用することができます。
アプリのバージョンの更新
新しいバージョンのアプリが Google Play にアップロードされた後も、デバイス上でアプリが更新されるまでは、ユーザーは以前のバージョンを開くことができます。このような場合、アプリで必要に応じて In-App Updates API を呼び出すことにより、強制的に更新するか、更新を促すことができます。この API を使用すると、Google Play ストアから更新を行うユーザーの代わりに、アプリ内から更新をトリガーできます。
ダウンロード サイズの上限
アセットパックはサイズの上限が大きいため、大規模なゲームに適しています。
fast-follow
とon-demand
の各アセットパックのダウンロード サイズの上限は 512 MB です。- すべての
install-time
アセットパックの合計ダウンロード サイズの上限は 1 GB です。 - Android App Bundle に含まれるすべてのアセットパックの合計ダウンロード サイズの上限は 2 GB です。
- Android App Bundle では、最大 50 個のアセットパックを使用できます。
テクスチャ圧縮形式のターゲット設定を使用する場合、これらのダウンロード サイズの上限は、各テクスチャ形式に個別に適用されます。
次のステップ
次のいずれかを使用して、ゲームまたはアプリに Play Asset Delivery を組み込みます。