タブレット、折りたたみ式デバイス、Android Auto、Android Automotive OS 搭載車、ChromeOS デバイス、パソコンには、次の基本的な品質要件があります。
| 要件 | タブレット、折りたたみ式デバイス | Android Auto | Android Automotive OS | ChromeOS | PC 版 Google Play Games |
|---|---|---|---|---|---|
| x86-64 | 省略可 | 省略可 | 推奨 | 推奨 | 必須 |
| サイズ変更、さまざまなウィンドウ サイズ、アスペクト比をサポートする | サイズ変更のサポートを推奨 | 必須 | 縦向きと横向きのサポートが必須 | サイズ変更のサポートを推奨 | アスペクト比 16:9、16:10、3:2、21:9、または縦向きのアスペクト比 9:16 のいずれか、またはすべてをサポートする |
| 構成変更(サイズ変更、回転、折りたたみ / 展開など)時に再起動せずにゲームの状態を維持する | 必須 折りたたみ時の姿勢のサポートを推奨 |
必須 | 必須 | 必須: サイズ変更、回転、キーボードの変更 | なし |
| サポートされていない機能と権限を削除する | 推奨 特に、タブレット デバイスのリーチを最大化するには、以下を必須にしないでください。
|
なし | 必須 | 必須 | 必須 |
| ゲームの操作、ビジュアル、パフォーマンスによりプレイアビリティが損なわれることがない(たとえば、ぼやけていたり読めなかったりしない、すべての UI が使用可能である) | 必須 | 必須 | 必須 | 必須 | 必須 |
| マウスとキーボードのサポート | 推奨 | 省略可 | 省略可 | シングルタップ入力でゲームをプレイできない場合は必須 | シングルタップ入力でゲームをプレイできない場合は必須 |
| ゲーム コントローラのサポート | 推奨 | 推奨 | 推奨 | 推奨 | 推奨 |
| 高解像度グラフィックに対応している | 推奨 | 推奨 | 推奨 | 推奨 | 推奨 |
| Input SDK | なし | 該当なし | 該当なし | なし | ゲームのプレイにキーボードが必要な場合は必須 |
| PGS v2 | 省略可 | 省略可 | 推奨 | 省略可 | 必須 |
x86-64 ABI アーキテクチャを含める
Android Automotive OS 搭載車、ChromeOS デバイス、PC 版 Google Play Games などのフォーム ファクタで最高のパフォーマンスと安定性を確保するには、ゲームに含まれるすべてのライブラリに x86-64 互換の ABI バージョンを追加します。
Google は、ゲームエンジンとサードパーティ ライブラリのプロバイダと協力して、デバイスのサポートを確保しています。最小限の作業でゲームの x86_64 バージョンを実装できるはずです。
Android App Bundle を使用すると、x86-64 .so ファイルの増加は Google Play Console へのアップロード サイズにのみ影響します。Google Play ストアは必要な ABI を各デバイスに配信するため、対象のフォーム ファクタでのダウンロード サイズは変わりません。
Android マニフェストを監査してフォーム ファクタの互換性を確認
スマートフォンやタブレットの一般的なハードウェア機能(カメラや位置情報など)の一部は、他のフォーム ファクタでは使用できません。機能要件のあるゲームは、その機能を備えていないフォーム ファクタ デバイスにダウンロードしてインストールすることはできません。
次の ADB コマンドを使用すると、利用可能な機能の一覧を表示できます。
adb shell pm list features
できるだけ多くのデバイスに対応させるには、次の推奨事項と禁止事項に従ってください。
<uses-feature>宣言にandroid:required="false"を追加して、マニフェストで機能をオプションとしてマークします。この追加は、マニフェストですでに宣言されている機能にのみ適用されます。コードが機能の存在を前提としていないことを確認します。- ゲームに暗黙的な機能要件がある場合は、それらを認識してください。
- 不足している機能を実行時に使用しないでください。
- サポートされていない Android 権限を実行時にリクエストしないでください。
- 実行時に利用可能な機能を検出し、フォーム ファクタ固有のコードパスを回避します。
マニフェストの互換性について詳しくは、以下をご覧ください。
- Android Automotive OS: アプリのマニフェスト ファイルを構成する
- ChromeOS: Chromebook 向けアプリ マニフェストの互換性
- PC 版 Google Play Games: PC 版 Google Play Games の互換性と最適化
一般的な課題として、多くのゲームが android.hardware.wifi をリクエストするのは、プレーヤーが従量制ネットワークを使用しているかどうかを確認するためだけであるにもかかわらず、ConnectivityManager API を使用すれば、追加の権限をリクエストする必要がないという点が挙げられます(接続ステータスと接続の従量制をモニタリングするを参照)。
Google Play Console を使用して配信をサポートする
Google Play Console を使用すると、フォーム ファクタで指標をフィルタしたり、デバイス カタログでデバイスの互換性を確認したり、フォーム ファクタのリリース トラックを管理したりできます。
フォーム ファクタ フィルタ
Google Play Console のサポートでは、次の場所でフォーム ファクタをフィルタとして使用しています。
- Android Vitals(Android Automotive OS を除く)
- リーチとデバイス
- 統計情報
- 評価とクチコミ
たとえば、Android Vitals で「Chromebook」をフィルタすると、すべての ChromeOS デバイスのクラッシュ発生率と ANR を確認できます。明確な目標を設定してゲームを最適化します。
デバイス カタログ
デバイス カタログは、ゲームに対応しているデバイスと対応していないデバイスを調べるのに役立つツールです。フォーム ファクタ フィルタを使用して、サポートされていないデバイスとその理由を確認します。このデバイスの詳細ページに移動したら、[詳細を表示] をクリックして、特定のデバイスでゲームがサポートされていない正確な理由を確認します。たとえば、次のような理由が考えられます。
- サポートされていない ABI
- サポートされていない機能と権限
- サポートされていないグラフィック API
要件を修正すると、これらのデバイスのユーザーが Google Play ストアでゲームを見つけられるようになります。
フォーム ファクタ トラック
フォーム ファクタの設定は、Google Play Console の [設定] > [詳細設定] > [フォーム ファクタ] で管理できます。モバイル、タブレット、折りたたみ式デバイス、ChromeOS はデフォルトのトラックにバインドされます。すべてのフォーム ファクタで単一のリリース アーティファクトを使用すると、リリースを簡単に管理できます。
機能の管理に別のビルドが必要な場合は、専用のリリース トラックを作成して、PC 版 Google Play Games(ベータ版プログラムに参加している場合)、Android Automotive OS、Android TV のリリースを管理できます。個別のトラックを使用してフォーム ファクタ向けのリリースを管理する場合、本番環境トラックとテストトラックを通じてさまざまなフォーム ファクタにアクセスできます。
Android App Bundle を使用してさまざまな機能を管理する
Android App Bundle は、アプリのコンパイル済みコードとリソースがすべて含まれた公開形式です。ただし、APK の生成と署名は Google Play が行います。
さまざまなフォーム ファクタをサポートするには、多くの場合、フォーム ファクタごとに特定の ABI、アセット、ライブラリ、コードパスが必要です。Play Feature Delivery を利用すると、プロジェクトに機能モジュールを追加できます。モジュールには、指定した条件に基づいてアプリにのみ含まれる機能とリソースが含まれています。また、Play Core ライブラリを使用して、実行時にダウンロードすることもできます。
また、Play Asset Delivery を使用することもできます。これは、柔軟な配信方法と高いパフォーマンスで大量のゲームアセットを配信するための Google Play のソリューションです。