Game Mode API を使用すると、ユーザーが対応するゲームモードを選択したときに、パフォーマンスとバッテリー駆動時間に対してゲームを最適化できます。
または、デベロッパーが更新をやめているゲームのパフォーマンスを向上させるため、ゲームモード介入に関するリクエストを送信できます。
Game Mode API と介入は以下で利用できます。
- Android 12 デバイスを選択する
- Android 13 以降を搭載したデバイス
各ゲームは Game Mode API の動作を実装し、ゲームモードを提案できます。 介入の設定を OEM に提供する ゲームモード介入をオプトアウトする。
設定
ゲームで Game Mode API を使用するには、次の手順で行います。
以下をダウンロードしてインストールします: Android 13 SDK。
AndroidManifest.xml
ファイルで、次の操作を行います。 次のようにして、アプリをゲームとして宣言します。 次のクラスのappCategory
属性:<application>
要素:
android:appCategory="game"
- 以下をメイン アクティビティに追加して、現在のゲームモードを照会します。
Java
// Only call this for Android 12 and higher devices
if ( Build.VERSION.SDK_INT >= Build.VERSION_CODES.S ) {
// Get GameManager from SystemService
GameManager gameManager = Context.getSystemService(GameManager.class);
// Returns the selected GameMode
int gameMode = gameManager.getGameMode();
}
Kotlin
// Only call this for Android 12 and higher devices
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
// Get GameManager from SystemService
val gameManager: GameManager? = context.getSystemService(Context.GAME_SERVICE) as GameManager?
// Returns the selected GameMode
val gameMode = gameManager?.gameMode
}
サポートされるゲームモード | 説明 |
---|---|
サポート対象外 | ゲームで Game Mode API のサポートを宣言しておらず、ゲームモード介入もサポートしていない。 |
標準 | ユーザーがゲームモードを選択していない、またはユーザーが標準モードを選択している。 |
パフォーマンス | バッテリー駆動時間の減少および忠実度の低下と引き換えに、最小の遅延フレームレートを実現します。 |
バッテリー | 忠実度またはフレームレートの低下と引き換えに、できるだけバッテリー駆動時間を延長します。 |
ゲームモードの状態をクエリするコードを
onResume
関数:
ベスト プラクティス
ゲームがすでに複数の忠実度目標とフレームレート目標をサポートしている場合は、パフォーマンス モードとバッテリー セーバー モードに適した設定を特定する必要があります。
最高のデバイス フレームレートを安定して継続させるには、忠実度をわずかに下げて、フレームレートを高めることを検討してください。
バッテリー駆動時間を改善させるには、低いディスプレイ リフレッシュ レート(30 Hz や 60 Hz)を選択することや、フレーム ペーシングを使用して目標レートを下げること検討してください。
ファーストパーソン シューティング、マルチプレーヤー型オンライン バトルアリーナ(MOBA)、ロールプレイング ゲーム(RPG)などの忠実度の高いゲームでは、ユーザーの没入感を高めるために、安定した高いフレームレートを達成することに焦点を当てる必要があります。
忠実度と気軽さの両方を重視するゲームでは、ピーク時のフレームレートを下げてプレイ時間を延長するバッテリー セーバー モードをサポートする必要があります。
ゲームモードのサポートを宣言する
ゲームモードのサポートを宣言し、ゲームモードの介入をオーバーライドするには、
OEM は、まずゲームモード構成を
<application>
要素:
AndroidManifest.xml
ファイル:
<application>
<meta-data android:name="android.game_mode_config"
android:resource="@xml/game_mode_config" />
...
</application>
次に、プロジェクトの res/xml/
ディレクトリに game_mode_config.xml
ファイルを作成します。
次の内容に置き換えます。
<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
xmlns:android="http://schemas.android.com/apk/res/android"
android:supportsBatteryGameMode="true"
android:supportsPerformanceGameMode="true"
/>
ゲームモードを切り替える
ゲームモードを切り替えるには、ゲーム ダッシュボード( Google Pixel デバイスなど)または OEM が提供する同様のアプリを使用する場合があります。別の方法として、 ゲームモード シェルコマンドを使用します。
ゲーム ダッシュボードを使用していて、最適化アイコンが表示されない場合 ゲームのリリース時に、Google Play Console へのアプリのアップロードが必要になることがあります Google Play ストアからインストールできます。アプリのテストについて詳しくは、 詳しくは、 App Bundle と APK を内部で共有する。
図 1. 実行中のゲームが Google Pixel に重なって表示されているゲーム ダッシュボード できます。
図 1 では、実行中のゲームのゲームモードを
追加します。ウィジェットに表示されているとおり、ゲームは現在
PERFORMANCE
モードです。
開発中に、ゲーム ダッシュボードと メーカーは、アプリごとにゲームモードを設定する方法を提供していません。 adb でゲームモードのステータスを変更します。
adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>
サンプル アプリケーション
Game Mode API サンプル FPS を最適化し、解像度の上限をレンダリングしてアプリの消費電力を約 25% 削減する方法を紹介します。
次へ
ゲームモード介入を読む ゲームのアップデートを提供できない場合に、ゲームのパフォーマンスを向上させるため。