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:
- Ausgewählte Geräte mit Android 12
- Geräte mit Android 13 oder höher
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:
Laden Sie die Android 13 SDK
Führen Sie in der Datei
AndroidManifest.xml
folgende Schritte aus: Deklarieren Sie Ihre App als Spiel, indem SieappCategory
-Attribut im<application>
-Element:
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 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. |
Füge Code hinzu, um den Spielmodusstatus in der
onResume
-Funktion:
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
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.