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

タブレット、折りたたみ式デバイス、ChromeOS デバイス、PC には、次の基本品質要件があります。

要件 タブレットと折りたたみ式デバイス 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 アーキテクチャを含める

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 Vitals で「Chromebook」をフィルタすると、すべての ChromeOS デバイスにおけるクラッシュ発生率と ANR を確認できます。次に、明確な目標を設定してゲームを最適化します。

デバイス カタログ

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

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

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

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

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

PC 版 Google Play Games を管理する場合は、専用のリリース トラックを作成するか(ベータ版プログラムに参加している場合)、Android TV 向けリリース(機能を管理するために別のビルドが必要な場合)を作成します。このオプションを選択した場合、元に戻すことはできません。フォーム ファクタ向けリリースの管理に別々のトラックを使用する場合は、製品版トラックとテストトラックでさまざまなフォーム ファクタにアクセスできます。

Android App Bundle を使用してさまざまな機能を管理する

Android App Bundle は、アプリのコンパイル済みコードとリソースがすべて含まれた公開形式です。APK の生成と署名は Google Play が行います。

さまざまなフォーム ファクタをサポートするには、多くの場合、フォーム ファクタごとに異なる ABI、アセット、ライブラリ、コードパスが必要です。プロジェクトに機能モジュールを追加できる Play Feature Delivery を利用できます。モジュールに含まれる機能とリソースは、指定した条件に基づいてアプリにのみ含まれるか、後で Play Core ライブラリを使用してダウンロードできるようになります。

また、大量のゲームアセットを柔軟な配信方法と高いパフォーマンスで配信できる Google Play のソリューションである Play Asset Delivery を使用することもできます。