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 Game Mode-Interventionen einreichen, um die Leistung von Spielen zu verbessern, die nicht mehr von Entwicklern aktualisiert werden.
Die Game Mode API und die 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
Für jedes Spiel kann das Verhalten der Game Mode API implementiert werden, es können Einstellungen für Game Mode-Interventionen für OEMs vorgeschlagen werden oder Game Mode-Interventionen können deaktiviert werden.
Einrichtung
So verwenden Sie die Game Mode API in Ihrem Spiel:
Laden Sie das Android 13 SDK herunter und installieren Sie es.
Deklarieren Sie Ihre App in der Datei
AndroidManifest.xmlals Spiel, indem Sie das AttributappCategoryim Element<application>festlegen:
android:appCategory="game"
- So fragen Sie den aktuellen Spielmodus ab:
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 unterstützt keine Game Mode-Interventionen. |
| STANDARD | Der Nutzer hat keinen Spielmodus ausgewählt oder den Standardmodus ausgewählt. |
| LEISTUNG | Bietet die niedrigsten Latenz-Framerate, was jedoch zu einer kürzeren Akkulaufzeit und einer geringeren Wiedergabetreue führt. |
| AKKU | Bietet die längstmögliche Akkulaufzeit, dafür werden die Wiedergabetreue oder die Framerates reduziert. |
Fügen Sie Code hinzu, um den Status des Spielmodus in der Funktion
onResumeabzufragen:
Best Practices
Wenn dein Spiel bereits mehrere Treue- und Framerate-Ziele unterstützt, solltest du die entsprechenden Einstellungen für den Leistungs- und den Energiesparmodus ermitteln:
Um durchgehend die maximalen Framerates des Geräts zu erreichen, sollten Sie die Detailgenauigkeit leicht reduzieren.
Um die Akkulaufzeit zu verlängern, solltest du eine niedrigere Aktualisierungsrate für das Display (z.B. 30 Hz oder 60 Hz) auswählen und Frame Pacing verwenden, um die reduzierte Rate zu erreichen.
Bei Spielen mit hoher Wiedergabetreue wie Ego-Shootern, Multiplayer Online Battle Arenas (MOBAs) und Rollenspielen (RPGs) sollten Sie sich darauf konzentrieren, hohe, gleichbleibende Framerates zu erzielen, um die Nutzerbindung zu maximieren.
Sowohl bei Spielen mit hoher grafischer Darstellung als auch bei Casual Games sollten Sie den Energiesparmodus unterstützen, um die Spieldauer durch Reduzierung der maximalen Framerates zu verlängern.
Unterstützung für Spielmodi deklarieren
Wenn Sie die Unterstützung für Spielmodi deklarieren und alle Spielmodi-Interventionen von OEMs überschreiben möchten, fügen Sie zuerst die Spielmodi-Konfiguration dem Element <application> in Ihrer Datei AndroidManifest.xml 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 eine game_mode_config.xml-Datei 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 Game Dashboard (auf Pixel-Geräten verfügbar) oder ähnliche Anwendungen von Geräteherstellern verwenden. Alternativ können Sie während der Entwicklung den Shell-Befehl für den Spielemodus verwenden.
Wenn Sie das Game Dashboard verwenden und das Optimierungssymbol beim Start 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 zum Testen von Apps im Google Play Store finden Sie unter App-Bundles und APKs intern freigeben.
Abbildung 1: Das Dashboard für Spiele wird als Overlay über dem laufenden Spiel auf einem Pixel-Gerät angezeigt.
In Abbildung 1 kann der Spielmodus des laufenden Spiels über das Optimierungs-Widget geändert werden. Wie im Widget zu sehen ist, wird das Spiel derzeit im Modus PERFORMANCE ausgeführt.
Wenn Sie während der Entwicklung ein Gerät ohne Game Dashboard verwenden und der Hersteller keine Möglichkeit bietet, den Spielemodus für jede App festzulegen, können Sie den Status des Spielemodus über adb ändern:
adb shell cmd game mode [standard|performance|battery] <PACKAGE_NAME>Beispiel-App
Das Game Mode API-Beispiel zeigt, wie du die FPS- und Renderauflösungsgrenzen optimieren kannst, um in deinen Apps etwa 25% weniger Strom zu verbrauchen.
Weiter
Im Artikel Game Mode Interventions erfahren Sie, wie Sie die Leistung eines Spiels verbessern können, wenn keine Spielupdates möglich sind.