Mit der Game Mode API können Sie Ihr Spiel für die beste Leistung oder die längste Akkulaufzeit optimieren, wenn der Nutzer den entsprechenden Spielmodus auswählt.
Alternativ können Sie Anfragen für Spielmodus-Interventionen senden, um die Leistung von Spielen zu verbessern, die nicht mehr von Entwicklern aktualisiert werden.
Die Game Mode API und die entsprechenden Interventionen sind auf folgenden Geräten verfügbar:
- Wählen Sie Geräte mit Android 12 aus.
- Geräte mit Android 13 oder höher
Jedes Spiel kann das Verhalten der Game Mode API implementieren, OEMs Einstellungen für Spielmodusinterventionen vorschlagen oder Spielmodus-Interventionen deaktivieren.
Einrichten
So verwenden Sie die Game Mode API in Ihrem Spiel:
Lade das Android 13 SDK herunter und installiere es.
Deklarieren Sie in der Datei
AndroidManifest.xml
Ihre App als Spiel, indem Sie das AttributappCategory
im Element<application>
festlegen:
android:appCategory="game"
- 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 weder Unterstützung für die Game Mode API noch unterstützt es Spielmodus-Interventionen. |
STANDARD | Der Nutzer hat keinen Spielmodus oder den Standardmodus ausgewählt. |
AUFFÜHRUNG | Bietet die niedrigsten Latenz-Framerates im Austausch für eine reduzierte Akkulaufzeit und Grafikqualität. |
BATTERIEN | Er sorgt für die längste Akkulaufzeit und verringert gleichzeitig die Wiedergabequalität oder Framerates. |
Fügen Sie Code hinzu, um den Spielmodusstatus in der Funktion
onResume
abzufragen:
Best Practices
Wenn Ihr Spiel bereits mehrere Ziele für Fidelity und Framerate unterstützt, sollten Sie die entsprechenden Einstellungen für den Leistungs- und Energiesparmodus festlegen:
Um konsequent die maximalen Framerates für das Gerät zu erreichen, solltest du geringfügige Reduzierungen der Grafikqualität in Betracht ziehen, um höhere Framerates zu erzielen.
Zur Verlängerung der Akkulaufzeit: Wähle eine niedrigere Aktualisierungsrate für das Display (z.B. 30 Hz oder 60 Hz) und verwende Frame-Taktung, um die reduzierte Rate zu erreichen.
Bei High-Fidelity-Spielen wie Ego-Shootern, Multiplayer Online Battle Arenen (MOBAs) und Rollenspielen (RPGs) sollten Sie sich auf hohe konsistente Framerates konzentrieren, um das Eintauchen der Nutzer zu maximieren.
Sowohl bei High-Fidelity- als auch bei Casual Games sollte der Energiesparmodus aktiviert werden, um die Spieldauer zu erhöhen und Spitzen-Framerates zu reduzieren.
Unterstützung für Spielmodi deklarieren
Wenn Sie die Unterstützung für Spielmodi deklarieren und Spielmodus-Interventionen durch OEMs überschreiben möchten, fügen Sie zuerst die Spielmoduskonfiguration dem <application>
-Element in der AndroidManifest.xml
-Datei hinzu:
<application>
<meta-data android:name="android.game_mode_config"
android:resource="@xml/game_mode_config" />
...
</application>
Erstellen Sie dann im Verzeichnis res/xml/
Ihres Projekts die Datei game_mode_config.xml
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
Um zwischen den Spielmodi zu wechseln, können Sie das Dashboard für Spiele (verfügbar auf Pixel-Geräten) oder ähnliche Anwendungen von OEMs verwenden. Alternativ können Sie während der Entwicklung den Shell-Befehl für den Spielmodus verwenden.
Wenn Sie das Dashboard für Spiele verwenden und das Optimierungssymbol bei der Veröffentlichung Ihres Spiels nicht angezeigt wird, müssen Sie Ihre App möglicherweise in die Google Play Console hochladen und über den Play Store installieren. Informationen zu App-Tests im Play Store finden Sie unter App Bundles und APKs intern freigeben.
Abbildung 1: Dashboard für Spiele, das auf einem Pixel-Gerät das laufende Spiel überlagert
In Abbildung 1 kann der Spielmodus des Laufspiels über das Optimierungs-Widget geändert werden. Wie im Widget zu sehen ist, wird das Spiel derzeit im PERFORMANCE
-Modus ausgeführt.
Wenn Sie während der Entwicklung ein Gerät ohne Dashboard für Spiele verwenden und der Hersteller keine Möglichkeit anbietet, den Spielmodus für jede App festzulegen, können Sie den Status des Spielmodus über adb ändern:
adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>
Beispiel-App
Das Game Mode API-Beispiel zeigt, wie Sie die fps und die Obergrenzen für die Renderingauflösung optimieren können, um den Akku Ihrer Apps um etwa 25% zu sparen.
Weiter
Informationen zur Verbesserung der Leistung eines Spiels finden Sie unter Eingriffe im Spielmodus, wenn keine Spielupdates zur Verfügung gestellt werden können.