ゲームをすべてのフォーム ファクタに対応させる

タブレット、折りたたみ式デバイス、Android Automotive OS 自動車、ChromeOS デバイス、パソコンには、次のベースラインの品質要件があります。

要件 タブレットと折りたたみ式デバイス Android Automotive OS ChromeOS PC 版 Google Play Games
x86-64 任意 必須 推奨 必須
サイズ変更、さまざまなウィンドウ サイズ、アスペクト比をサポートする サイズ変更のサポートを推奨 縦向きと横向きの両方をサポートする必要がある サイズ変更のサポートを推奨 16:9、16:10、3:2、21:9、または縦向きアスペクト比 9:16 のいずれか、またはすべてをサポートする
構成の変更(サイズ変更、回転、折りたたみ / 展開など)で再起動せずにゲームの状態を維持する 必須
折りたたみ式の姿勢のサポートが推奨
必須 必須: サイズ変更、回転、キーボードの変更 なし
サポートされていない機能と権限を削除する 推奨
特に、タブレット デバイスのリーチを最大化するには、以下を必要としないことをおすすめします。
  • android.hardware.camera.autofocus
  • android.hardware.camera.flash
  • android.hardware.location.gps
必須 必須 必須
ゲームの操作、ビジュアル、パフォーマンスによりプレイアビリティが損なわれることがない(ぼやけていない、判読できない、すべての 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.hardware.wifi をリクエストしていますが、追加の権限をリクエストせずに ConnectivityManager API を使用できます(接続ステータスと接続の測定をモニタリングするをご覧ください)。

Google Play Console を使用して配信をサポートする

フォーム ファクタ フィルタ

Google Play Console サポートでは、次の場所でフォーム ファクタをフィルタとして使用します。

  • Android Vitals(Android Automotive OS を除く)
  • リーチとデバイス
  • 統計情報
  • 評価とレビュー

たとえば、Android Vitals で [Chromebook] をフィルタすると、すべての ChromeOS デバイスのクラッシュ発生率と ANR を確認できます。明確な目標を設定してゲームを最適化します。

デバイス カタログ

デバイス カタログは、ゲームに対応しているデバイスとサポートされていないデバイスを確認するのに便利なツールです。フォーム ファクタ フィルタを使用して、サポートされていないデバイスとその理由を確認します。デバイスの詳細ページに移動したら、[詳細を表示] をクリックして、特定のデバイスでゲームがサポートされていない理由を正確に確認します。たとえば、次のような理由が考えられます。

  • サポートされていない ABI
  • サポートされていない機能と権限
  • サポートされていないグラフィック API

要件を修正すると、対象デバイスのプレーヤーが Google Play ストアでゲームを見つけられるようになります。

フォーム ファクタ トラック

フォーム ファクタの設定は、Google Play Console の [設定] > [詳細設定] > [フォーム ファクタ] で管理できます。モバイル、タブレット、折りたたみ式デバイス、ChromeOS はデフォルトのトラックにバインドされます。すべてのフォーム ファクタに 1 つのリリース アーティファクトを使用すると、リリースの管理が容易になります。

機能を管理するために個別のビルドが必要な場合は、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 のソリューションで、柔軟な配信方法と高パフォーマンスを実現できます。