Play Asset Delivery
Play Asset Delivery(PAD)を使用すると、App Bundle のメリットをゲームでも活用できます。ゲームに必要なすべてのリソースを含む 1 つのアーティファクトを Google Play で公開することで、200 MB を超えるゲームで以前の拡張ファイル(OBB)を置き換えることができます。PAD では、柔軟な配信モード、自動更新、圧縮、差分パッチを提供しており、無料で利用できます。PAD を使用すると、すべての Asset Pack のホストと配信が Google Play で行われるため、コンテンツ配信ネットワーク(CDN)を使用してゲームリソースをプレーヤーに配信する必要はありません。
Play Asset Delivery は、アセット(テクスチャ、シェーダー、音声など)で構成される Asset Pack を使用しますが、実行可能コードは使用しません。Dynamic Delivery では、各アセットパックをデバイスにダウンロードする方法とタイミングを、3 つの配信モード(install-time、fast-follow、on-demand)に基づいてカスタマイズできます。
ゲームに PAD を直接実装する場合は、次のステップをご覧ください。
自動更新
高度な圧縮および差分パッチ適用でゲームアセットを自動更新するよくある質問に対する回答
配信モード
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 Asset Delivery ライブラリを使用して照会できます。これらのファイルはユーザーによって削除されたり、Play Asset Delivery Library によってプレイ セッション間で移動されたりする可能性があるため、これらのファイルの存在やその場所をアプリで推測することはできません。これらのファイルは、アプリによる書き込みが可能であっても、読み取り専用として扱う必要があります(Asset Pack のパッチを適用するには、これらのファイルの完全性が維持されている必要があるため)。
Instant App で Play Asset Delivery を使用する場合、サポートされるモードはオンデマンドのみです。
アセットの更新
アプリを更新する際、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 ストアから更新を行うのではなく、アプリ内から更新をトリガーできます。
ダウンロード サイズの上限
アセットパックはサイズの上限が大きいため、大規模なゲームに適しています。また、ゲーム向け Google Play パートナー プログラムに参加しているデベロッパーについては、サイズの上限を引き上げることができます。最大サイズについて詳しくは、Google Play の最大サイズの制限をご覧ください。
テクスチャ圧縮形式のターゲット設定を使用する場合、これらのダウンロード サイズの上限は、各テクスチャ形式に個別に適用されます。
次のステップ
次のいずれかを使用して、ゲームまたはアプリに Play Asset Delivery を組み込みます。
利用規約とデータ セーフティ
Play Asset Delivery ライブラリにアクセスするか、これを使用すると、Play Core ソフトウェア開発キット利用規約に同意したことになります。適用されるすべての利用規約とポリシーを読んで理解したうえで、ライブラリにアクセスしてください。
Play Core ライブラリは、Google Play ストアにおけるアプリのランタイム インターフェースです。そのため、アプリで Play Core を使用すると、Play ストア独自のプロセスが実行され、Google Play 利用規約に則ってデータが処理されます。ここでは、Play Core ライブラリがデータを処理して、アプリからの特定のリクエストを処理する方法について説明します。
Play Asset Delivery
使用量について収集されたデータ | デバイスのメタデータ アプリのバージョン |
データ収集の目的 | 収集されたデータは、適切なアセットパックをデバイスに配信し、更新後にインストール済みのアセットパックを保持するために使用されます。 |
データの暗号化 | データは暗号化されています。 |
データの共有 | データが第三者に転送されることはありません。 |
データの削除 | 一定の保持期間が経過すると、データは削除されます。 |
Google はできる限り透明性を確保することを心掛けていますが、アプリによるユーザーデータの収集、共有、セキュリティ対策について、Google Play のデータ セーフティ セクション フォームにどのように対応するかを決定する責任は、デベロッパーが単独で負うものとします。