Game Mode API

Mit der Game Mode API können Sie Ihr Spiel für die beste Leistung oder Akku mit der längsten Akkulaufzeit, wenn der Nutzer den entsprechenden Spielmodus auswählt.

Alternativ können Sie Anfragen einreichen für Maßnahmen im Spielmodus zur Verbesserung die Leistung von Spielen, die nicht mehr von Entwicklern aktualisiert werden.

Die Game Mode API und Maßnahmen sind verfügbar auf:

Für jedes Spiel kann das Spielmodus-API-Verhalten implementiert werden, Spielmodus vorschlagen. Einstellungen für OEMs Maßnahmen im Spielmodus deaktivieren.

Einrichten

So verwenden Sie die Game Mode API in Ihrem Spiel:

  1. Laden Sie die Android 13 SDK

  2. Führen Sie in der Datei AndroidManifest.xml folgende Schritte aus: Deklarieren Sie Ihre App als Spiel, indem Sie appCategory-Attribut im <application>-Element:

android:appCategory="game"
  1. Fragen Sie den aktuellen Spielmodus ab, indem Sie Folgendes zu Ihrer Hauptaktivität hinzufügen:

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
}
Unterstützter Spielmodus Beschreibung
NICHT UNTERSTÜTZT Das Spiel deklariert keine Unterstützung für die Game Mode API und Spielmodus-Eingriffe.
STANDARD Der Nutzer hat keinen Spielmodus oder den Standardmodus ausgewählt.
AUFFÜHRUNG Bietet die niedrigste Latenz von Framerates im Gegenzug für eine kürzere Akkulaufzeit und eine geringere Grafikqualität.
BATTERIE Bietet die längstmögliche Akkulaufzeit im Austausch für eine geringere Grafikqualität oder Framerates.
  1. Füge Code hinzu, um den Spielmodusstatus in der onResume-Funktion:

    Beispiel für die Einstellung des Akkumodus

Best Practices

Wenn Ihr Spiel bereits mehrere Optionen zur Grafikqualität und Framerate unterstützt sollten Sie die richtigen Einstellungen für die Leistung und Energiesparmodus:

  • Um konstant die maximalen Framerates des Geräts zu erreichen, sollten Sie eine geringe Anzahl an verminderte Bildqualität, um höhere Frame-Rates zu erzielen.

  • Zur Verlängerung der Akkulaufzeit sollten Sie eine niedrigere Aktualisierungsrate für das Display auswählen (z.B. 30 Hz oder 60 Hz) und verwenden Sie die Frametaktung für das Targeting auf reduzierten Steuersatz.

Für High-Fidelity-Spiele wie Ego-Shooter und Online-Mehrspielermodus Kampfarenen (MOBAs) und Rollenspiele (RPGs), auf die Sie sich beständige Framerates erzielen, um die Immersion bei den Nutzern zu maximieren.

Sowohl für High-Fidelity- als auch für Casual Games sollte der Energiesparmodus unterstützt werden. um die Spieldauer zu verlängern, indem Sie die Spitzen-Framerates reduzieren.

Unterstützung für Spielmodi deklarieren

Support für Spielmodi deklarieren und Spielmodus-Eingriffe überschreiben, OEMs müssen zuerst die Spielmodus-Konfiguration zur <application>-Element in Ihrem AndroidManifest.xml-Datei:

<application>
    <meta-data android:name="android.game_mode_config"
               android:resource="@xml/game_mode_config" />
  ...
</application>

Erstellen Sie dann eine game_mode_config.xml-Datei im res/xml/-Verzeichnis Ihres Projekts. mit folgendem Inhalt:

<?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"
/>

Spielmodi wechseln

Über das Dashboard für Spiele (verfügbar auf Pixel-Geräten) oder ähnliche Anwendungen von OEMs. Alternativ können Sie den Shell-Befehl für den Spielmodus während der Entwicklung verwenden.

Wenn Sie das Dashboard für Spiele verwenden und das Symbol für die Optimierung nicht angezeigt wird Wenn dein Spiel veröffentlicht wird, musst du deine App möglicherweise in die Google Play Console hochladen. und über den Play Store installieren. Informationen zu App-Tests finden Sie in der Play Store zu erhalten, siehe App Bundles und APKs intern freigeben

Dashboard-Aktivität für Spiele! Abbildung 1: Dashboard für Spiele über Pixel über dem laufenden Spiel .

In Abbildung 1 kann der Spielmodus des Laufspiels vom Optimierungsmodus Widget. Wie im Widget zu sehen ist, läuft das Spiel gerade auf PERFORMANCE .

Wenn Sie während der Entwicklung ein Gerät ohne Dashboard für Spiele und das bietet keine Möglichkeit, den Spielmodus für jede App festzulegen. Sie können den Status des Spielmodus über adb ändern:

adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>

Beispiel-App

Game Mode API-Beispiel hebt hervor, wie Sie die Framerate optimieren und Obergrenzen für die Renderingauflösung festlegen können, um in Ihren Apps bis zu 25% Energie zu sparen.

Weiter

Informationen zum Spielmodus , um die Leistung eines Spiels zu verbessern, wenn keine Spielupdates verfügbar sind.