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 のアプリの更新は、次の手順で行われます。

  1. アプリのパッチ(すべてのアセットを含む)がデバイス上の安全な場所にダウンロードされます。
  2. アプリのバイナリが更新されます。これには、install-time Asset Pack がすべて含まれます。
  3. 以前にダウンロードされた Asset Pack はすべて無効になります。
  4. アセットのパッチがコピーされ、アプリの内部ストレージに保存されているアセットに適用されます。

ほとんどの場合、ユーザーがゲームを開いたときには更新がすべて完了しており、ユーザーは更新版のプレイをすぐに開始できます。まれに、アプリを開いたときに、アプリのバイナリがすでに更新されているものの、アセットのパッチ適用プロセスがまだ完了しておらず、そのためにアセットにアクセスできない場合があります。このようなシナリオには、アセットの「更新処理が進行中」であることを示す適切なユーザー インターフェース要素、またはアクセスできない無効なアセットを処理する組み込みロジックを提供することによって対応する必要があります。アプリのバイナリの更新は、すべてのタイプの Asset Pack がダウンロードされた後に行われるため、パッチの適用はローカルかつオフラインですばやく行われます。

テクスチャ圧縮形式のターゲット設定

テクスチャ圧縮は、GPU が専用ハードウェアで圧縮テクスチャから直接レンダリングすることを可能にする不可逆の画像圧縮形式です。この形式を使用することで、必要なテクスチャのメモリ容量とメモリ帯域幅を削減できます。テクスチャ圧縮形式のターゲット設定により、複数のテクスチャ圧縮形式で圧縮したテクスチャを Android App Bundle に含め、Google Play でアセットを自動的に配信する際にデバイスごとに最適なテクスチャ圧縮形式を使用することができます。

アプリのバージョンの更新

新しいバージョンのアプリが Google Play にアップロードされた後も、デバイス上でアプリが更新されるまでは、ユーザーは以前のバージョンを開くことができます。このような場合、アプリで必要に応じて In-App Updates API を呼び出すことにより、強制的に更新するか、更新を促すことができます。この API を使用すると、Google Play ストアから更新を行うユーザーの代わりに、アプリ内から更新をトリガーできます。

ダウンロード サイズの上限

アセットパックはサイズの上限が大きいため、大規模なゲームに適しています。

  1. fast-followon-demand の各アセットパックのダウンロード サイズの上限は 512 MB です。
  2. すべての install-time アセットパックの合計ダウンロード サイズの上限は 1 GB です。
  3. Android App Bundle に含まれるすべてのアセットパックの合計ダウンロード サイズの上限は 2 GB です。
  4. Android App Bundle では、最大 50 個のアセットパックを使用できます。

テクスチャ圧縮形式のターゲット設定を使用する場合、これらのダウンロード サイズの上限は、各テクスチャ形式に個別に適用されます。

次のステップ

次のいずれかを使用して、ゲームまたはアプリに Play Asset Delivery を組み込みます。

その他のリソース

事例紹介
ワルシャワ(ポーランド)を拠点とするゲーム デベロッパー、CD Projekt RED(CDPR)は、ウィッチャー 3 内のミニゲーム「GWENT: The Witcher Card Game」を一新し、2020 年 3 月に Google Play でスタンドアロンの無料ゲームとしてリリースしました。
事例紹介
米国を拠点とするデベロッパー RV AppStudios は、カジュアル ゲーム、子供向け教育アプリ、ユーティリティ アプリのポートフォリオ全体で、これまでに 2 億回以上のダウンロード数を誇っています。
事例紹介
2000 年、Gameloft は、ゲームへの情熱と、世界中のプレーヤーにゲームを届けたいという思いから誕生しました。
動画
新しくリリースされたゲーム用 App Bundle を使ってゲーム配信を最適化すると、カスタマイズ可能な大規模なゲームアセットを無料で配信できるようになります。
ブログ投稿
Android App Bundle が Google Play でアプリやゲームを公開する際の実質的な標準となってから、2 年あまりが経ちました。この形式で新しいアプリやゲームを公開するにあたり必要な手順について確認してください。