Der Emulator für Entwickler von Google Play Games auf dem PC ist ein Emulator für Google Play Games auf dem PC, der speziell für Entwickler entwickelt wurde. Im Gegensatz zur Nutzererfahrung können Sie Ihre eigenen Pakete installieren und debuggen. Sie können auch verschiedene Spielerkonfigurationen wie das Seitenverhältnis, die Maus-Emulation und das Grafik-Backend simulieren, um sicherzustellen, dass Ihr Spiel auf einer Vielzahl von PC-Konfigurationen wie erwartet funktioniert.
Emulator starten
Nach der Installation haben Sie ein Startmenüelement „Emulator für Entwickler von Google Play Games“ und eine Desktopverknüpfung zum Starten des Emulators. Der Emulator bleibt in der Taskleiste, wenn Sie das Fenster schließen.
Anmelden
Sie werden beim ersten Ausführen des Emulators aufgefordert, sich in Ihrem Google-Konto anzumelden. Verwenden Sie dieselben Anmeldedaten, die Sie für die Entwicklung verwenden möchten.
Sie können sich abmelden, indem Sie mit der rechten Maustaste auf das Taskleistensymbol klicken, Entwickler Optionen auswählen und dann auf Abmeldung erzwingen klicken. Der Emulator wird dann sofort neu gestartet und Sie werden aufgefordert, sich noch einmal anzumelden.
Navigation
Nach dem Start sehen Sie einen typischen Android-Startbildschirm. Linksklicks werden im Maus-Emulationsmodus direkt in Fingertipps übersetzt. Spiele, die für die Entwicklung sideloaded wurden, werden in der Anwendungsliste angezeigt. Sie können sie aufrufen, indem Sie auf dem Desktop nach oben klicken und ziehen (als würden Sie auf einem Smartphone oder Tablet nach oben wischen).
Neben der Mausübersetzung bietet der Emulator für Entwickler von Google Play Games auf dem PC Tastenkombinationen zur Verbesserung der Navigation:
Strg + H : Startbildschirm aufrufenStrg + B : Button „Zurück“ drückenF11 oderAlt + Eingabetaste : Zwischen Vollbild- und Fenstermodus wechselnUmschalt + Tab : Google Play Games auf dem PC-Overlay öffnen, einschließlich der aktuellen Tastenbelegungen für das Input SDK
Spiel installieren
Der Emulator für Entwickler von Google Play Games auf dem PC verwendet die Android Debug Bridge (adb) zum Installieren von Paketen.
adb-Kompatibilität
Aktuelle Versionen von adb sind mit dem Emulator für Entwickler von Google Play Games auf dem PC kompatibel.
Außerdem wird bei der Installation
des Emulators eine kompatible Version unter C:\Program
Files\Google\Play Games Developer Emulator\current\emulator installiert.
Damit Sie dieser Anleitung folgen können, muss adb in Ihrem $PATH verfügbar sein. Mit dem Befehl adb devices können Sie
prüfen, ob adb richtig konfiguriert ist.
adb devices
List of devices attached
localhost:6520 deviceSpiel installieren
Google Play Games for PC EmulatorstartenGeben Sie
adb devicesin die Eingabeaufforderung ein. Hier sollten Sie dies sehen:adb devices List of devices attached localhost:6520 deviceFehlerbehebung:
- Wenn ein Fehler auftritt, prüfen Sie, ob Sie die Anleitung unter adb Kompatibilität befolgt haben.
- Wenn kein Gerät angezeigt wird, versuchen Sie, die Verbindung über Port
6520wiederherzustellen:
adb connect localhost:6520Geben Sie
adb install path\to\your\game.apkein, um Ihr Spiel zu installieren. Wenn Sie ein Android App Bundle (aab) erstellt haben, folgen Sie der Anleitung für bundletool und verwenden Siebundletool install-apksstattdessen.Führen Sie Ihr Spiel auf eine der folgenden Arten aus:
- Geben Sie
adb shell monkey -p your.package.name 1ein, um Ihr Spiel auszuführen. Ersetzen Sieyour.package.namedabei durch den Paketnamen Ihres Spiels. - Klicken Sie im Emulator für Entwickler von Google Play Games auf dem PC auf das Symbol, um Ihr Spiel auszuführen. Wie auf einem Android-Smartphone müssen Sie auf dem Startbildschirm nach oben wischen, um die Liste der installierten Spiele zu sehen.
- Geben Sie
Spiel debuggen
Verwenden Sie die Android Debug Bridge (adb), um das Spiel zu debuggen, wie bei jedem anderen Spiel.
Der Emulator wird als Gerät angezeigt, das über localhost:6520 verbunden ist.
adb logcat funktioniert wie erwartet, ebenso wie Tools, mit denen die logcat-Ausgabe formatiert oder gefiltert werden kann, einschließlich Android Studio.
Zusätzlich zu adb können Sie auf Protokolle im Verzeichnis %LOCALAPPDATA%\Google\Play Games Developer Emulator\Logs zugreifen. Am nützlichsten ist hier AndroidSerial.log. Es enthält alles, was adb logcat ab dem Start des Emulators ausgeben würde.
Entwicklereinstellungen
Der Emulator für Entwickler von Google Play Games auf dem PC konzentriert sich auf die Effizienz von Entwicklern und nicht auf die Nutzererfahrung. Das bedeutet, dass Sie uneingeschränkten Zugriff auf das Android-System haben, einschließlich der Verwendung des Standard-Android-Launchers anstelle der Google Play Games auf dem PC-Oberfläche. Außerdem haben Sie die Möglichkeit, Funktionen zu steuern, die für Spieler automatisch aktiviert und deaktiviert werden.
Mauseingabe testen
Während der Entwicklung verwendet der Emulator für Entwickler von Google Play Games auf dem PC standardmäßig die Touch-Emulation, anstatt Ihnen die direkte Mauseingabe zu ermöglichen. Sie können die direkte Mauseingabe aktivieren, indem Sie mit der rechten Maustaste auf das Taskleistensymbol klicken, Entwickleroptionen, und dann PC-Modus (KiwiMouse) auswählen.
Google Play Games auf dem PC hat zwei Mausmodi: einen emulierten Modus, der Mausklicks in einzelne Tippen übersetzt, und einen Passthrough-PC-Modus, mit dem Spiele Mausaktionen nativ verarbeiten und den Mauszeiger erfassen können. Weitere Informationen zur Mauseingabe in Google Play Games auf dem PC finden Sie unter Mauseingabe einrichten.
Im Player-Client wird die Emulation deaktiviert, indem Sie Folgendes in Ihr Manifest einfügen:
<manifest ...>
<uses-feature
android:name="android.hardware.type.pc"
android:required="false" />
...
</manifest>
Dieses Funktions-Flag hat in der Entwicklungsumgebung keine Auswirkungen.
Seitenverhältnisse testen
Der Emulator für Entwickler wird im Seitenverhältnis 16:9 gestartet. Im Gegensatz dazu leitet der Player-Client sein Seitenverhältnis vom primären Display ab. Wenn Sie mit der rechten Maustaste auf das Taskleistensymbol klicken, Entwickleroptionen und dann eine Option im Bereich Anzeigeverhältnis auswählen, können Sie testen, wie das Spiel auf den Bildschirmen verschiedener Spieler aussieht.
Die bevorzugte Methode zum Konfigurieren des Seitenverhältnisses
ist die Verwendung von android:minAspectRatio und android:maxAspectRatio.
Ein Spiel im Hochformat hat beispielsweise ein
Seitenverhältnis von 9/16 oder 0.5625. Sie können also ein
maximales Seitenverhältnis von 1 festlegen, um zu verhindern, dass Ihr Spiel breiter als quadratisch wird:
<activity android:maxAspectRatio="1">
...
</activity>
Ein Spiel im Querformat hat ein Seitenverhältnis von 16/9 oder ungefähr 1.778. Sie können also
ein minimales Seitenverhältnis von 1 festlegen, um zu verhindern, dass es schmaler als quadratisch wird:
<activity android:minAspectRatio="1">
...
</activity>
Was sollte getestet werden?
Wenn Ihr Spiel im Manifest nur den Hochformatmodus unterstützt, können Sie im Drop-down-Menü 9:16 (Hochformat) auswählen, um zu sehen, wie es auf den PCs der Spieler aussieht. Andernfalls prüfen Sie, ob Ihr Spiel mit den breitesten und schmalsten Querformatverhältnissen funktioniert, die Sie in Ihrem Manifest unterstützen. Beachten Sie, dass 16:9 (Standard) (oder 9:16 (Hochformat) , wenn Ihr Spiel nur im Hochformat verfügbar ist) für die vollständige Zertifizierung erforderlich ist.
Rendering-Backends testen
Google Play Games auf dem PC verwendet Vulkan zum Rendern Ihrer Spiele. Das ist sowohl in Android- als auch in PC-Umgebungen üblich. Eine Sandbox-Ebene wird verwendet, um die PC- und Android-Umgebungen zu isolieren. Da viele Spiele immer noch OpenGL ES zum Rendern verwenden, ANGLE konvertiert OpenGL ES-Befehle in Vulkan-Befehle, die mit dem Host-PC kompatibel sind.
Google Play Games auf dem PC maximiert außerdem die Spielkompatibilität und minimiert den Aufwand für Entwickler, indem es für Mobilgeräte optimierte Texturformate wie ETC1 und ETC2 zur Laufzeit automatisch in PC-freundliche Formate konvertiert. Die besten Ergebnisse erzielen Sie, wenn Sie diese Konvertierung vermeiden und Formate verwenden, die von PC-GPUs unterstützt werden, z. B. DXTC oder BPTC.
Was sollte getestet werden?
Wenn in Ihrem Spiel unerwartete Rendering-Artefakte auftreten, prüfen Sie Ihre Quellgrafiken und erwägen Sie, zu einem PC-freundlichen Format zu wechseln. Achten Sie genau auf Texturen, die für komplexere Effekte verwendet werden, da Probleme mit normalen oder Cube-Maps oft schwieriger zu erkennen sind als Probleme mit Albedo.
Die Konvertierung Ihrer OpenGL ES-Befehle in Vulkan durch ANGLE führt zu einem gewissen Mehraufwand. Prüfen Sie, ob Sie Ihre erwarteten Leistungsziele erreichen, und erwägen Sie, zu einem Vulkan-basierten Renderer zu wechseln.
PC-Spiel profilieren
Da der Emulator dieselbe Technologie wie der Nutzer-Client verwendet, ist er eine geeignete Umgebung für die Leistungsprofilierung.
Perfetto ist ein Tool zur Analyse der Leistung unter Android. So erfassen und sehen Sie einen Perfetto-Trace:
Starten Sie an einer PowerShell-Eingabeaufforderung einen Trace mit
adb.adb shell perfetto --time 10s gfx wm sched --out /data/misc/perfetto-traces/example.trace- Das Flag
--timegibt die Dauer des zu erfassenden Traces an. In diesem Beispiel beträgt der Trace 10 Sekunden. - Die Argumente nach dem Flag
--timegeben an, welche Ereignisse getracet werden sollen. In diesem Beispiel stehtgfxfür Grafiken,wmfür die Fensterverwaltung undschedfür Informationen zur Prozessplanung. Dies sind gängige Flags für die Profilierung von Spielen. Eine vollständige Referenz ist verfügbar. - Das Flag
--outgibt die Ausgabedatei an, die im nächsten Schritt aus dem Emulator auf den Hostcomputer übertragen wird.
- Das Flag
Trace vom Host abrufen
adb pull /data/misc/perfetto-traces/example.trace $HOME/Downloads/example.traceTrace in der Perfetto-Benutzeroberfläche öffnen
- Öffnen Sie ui.perfetto.dev.
- Wählen Sie links oben unter Navigation die Option Trace-Datei öffnen aus.
- Öffnen Sie die Datei
example.trace, die Sie im vorherigen Schritt in Ihr VerzeichnisDownloads/heruntergeladen haben.
Prüfen Sie den Trace in der Perfetto-Benutzeroberfläche. Ein paar Tipps:
- Jeder Prozess hat eine eigene Zeile, die erweitert werden kann, um alle Threads in diesem Prozess anzuzeigen. Wenn Sie ein Spiel profilieren, ist der Prozess wahrscheinlich die erste Zeile.
- Sie können mit gedrückter Strg-Taste und dem Mausrad zoomen.
- Wenn Sie das Ereignis
schedverwenden, gibt es eine Zeile für jeden Thread, in der der Status des Threads angezeigt wird: „running“ (wird ausgeführt), „runnable“ (ausführbar), „sleeping“ (wird inaktiviert) oder „blocked“ (blockiert). - Wenn Sie ein Ereignis wie
gfxaktivieren, können Sie die verschiedenen Grafikaufrufe sehen, die von verschiedenen Threads ausgeführt werden. Sie können einzelne „Slices“ auswählen, um zu sehen, wie lange sie gedauert haben. Alternativ können Sie eine Zeile ziehen, um unten einen Bereich „Slices“ zu öffnen, in dem die Dauer aller Slices im ausgewählten Zeitraum angezeigt wird.
Grafikprofilierung
Mit RenderDoc ist eine gewisse Grafikprofilierung möglich.
- Legen Sie die Umgebungsvariable
ANDROID_EMU_RENDERDOCauf einen nicht leeren String fest (z. B."1"). Legen Sie die Umgebungsvariable
TMPauf%USERPROFILE%\AppData\LocalLowfest. Dadurch wird Renderdoc angewiesen, die Protokolldateien an einem erreichbaren Ort in der Emulator-Sandbox zu platzieren.Wenn Sie das Vulkan-Backend verwenden. Wählen Sie Grafikeinstellungen > Vulkan-Instanz – Implizite Ebenen aus und prüfen Sie, ob VKLAYER_RENDERDOC_Capture aktiviert ist.
Starten Sie den Emulator für Entwickler von Google Play Games auf dem PC. Solange die Unterstützung aktiviert ist, wird oben ein RenderDoc-Overlay angezeigt.
Starten Sie RenderDoc jederzeit vor oder nach dem Start des Emulators für Entwickler von Google Play Games auf dem PC.
Klicken Sie auf Datei > An laufende Instanz anhängen und wählen Sie crosvm aus.
Umgebungsvariablen angeben
Damit Renderdoc funktioniert, müssen Sie Umgebungsvariablen in Windows hinzufügen oder ändern. Sie können Umgebungsvariablen über die Benutzeroberfläche, PowerShell oder cmd.exe ändern.
Benutzeroberfläche verwenden
- Drücken Sie
die Windows-Taste + R , um das Dialogfeld „Ausführen“ zu öffnen. - Geben Sie
sysdm.cplein, um das Fenster Systemeigenschaften zu öffnen. - Wählen Sie den Tab Erweitert aus, falls er noch nicht aktiv ist.
- Klicken Sie auf die Schaltfläche Umgebungsvariablen.
Hier können Sie entweder auf die Schaltfläche Neu klicken, um eine neue Umgebungsvariable zu erstellen, oder eine Variable auswählen und auf die Schaltfläche Bearbeiten klicken, um sie zu bearbeiten.
PowerShell verwenden
Geben Sie in einem PowerShell-Fenster Folgendes ein:
$Env:VARIABLE_NAME=VALUE
Ersetzen Sie VARIABLE_NAME und VALUE durch die gewünschten Werte. Wenn Sie
beispielsweise ANDROID_EMU_RENDERDOC auf "1" setzen möchten, geben Sie Folgendes ein:
$Env:ANDROID_EMU_RENDERDOC="1"
cmd.exe verwenden
Geben Sie in einem cmd.exe-Fenster Folgendes ein:
set VARIABLE_NAME=VALUE
Ersetzen Sie VARIABLE_NAME und VALUE durch die gewünschten Werte. Wenn Sie
beispielsweise ANDROID_EMU_RENDERDOC auf "1" setzen möchten, geben Sie Folgendes ein:
set ANDROID_EMU_RENDERDOC="1"
Tipps für Android 11 (API-Level 30) oder höher
Google Play Games auf dem PC wird mit den neuesten Android-Releases aktualisiert. Hier sind einige Tipps für die Arbeit mit der neuesten Android-Version.
Tools auf dem neuesten Stand halten
Android Studio installiert eine Version von adb, die mit dem Emulator für Entwickler kompatibel ist. Einige Game-Engines enthalten jedoch eine ältere Version von adb. In diesem
Fall finden Sie nach der Installation des Emulators für Entwickler eine kompatible
Version von adb unter C:\Program Files\Google\Play Games Developer
Emulator\current\emulator.
Wenn Sie eine Version von adb starten, wird die andere beendet. Wenn Ihre Game-Engine also automatisch eine eigene adb-Instanz startet, müssen Sie die Version von adb, die mit dem Emulator für Entwickler geliefert wird, bei jeder Bereitstellung neu starten und wieder verbinden.
Wenn Sie ein Android App Bundle verwenden, müssen Sie die neueste Version von Bundletool aus dem GitHub-Repository installieren.
Begrenzter Speicher
Android 11 (API-Level 30) oder höher umfasst begrenzten Speicher, der einen besseren Schutz für App- und Nutzerdaten auf externen Speichermedien bietet. Sie müssen nicht nur dafür sorgen, dass Ihr Spiel mit den Anforderungen für begrenzten Speicher kompatibel ist, sondern auch zusätzliche Schritte ausführen, um APK-Erweiterungsdateien (obb) oder Asset-Daten in den Emulator für Entwickler von Google Play Games auf dem PC zu laden. Führen Sie diese Schritte aus, wenn Sie Probleme beim Zugriff auf diese Dateien über Ihr Spiel haben:
- Erstellen Sie ein Verzeichnis, das Ihre App lesen kann.
- Übertragen Sie Ihre Erweiterungsdateien auf den Emulator.
adb shell mkdir /sdcard/Android/obb/com.example.gameadb push main.com.example.game.obb /sdcard/Android/obb/com.example.game
Sichtbarkeit von Paketen
Aufgrund der neuen Regeln zur Sichtbarkeit von Paketen können Apps, die auf Android 11
(API-Level 30) oder höher ausgerichtet sind, keine Informationen zu den
anderen Apps abfragen, die auf einem Gerät installiert sind. Das bedeutet, dass Ihr Spiel nicht auf Play-Dienste zugreifen kann, wenn es über adb per Sideload übertragen wird, anstatt über den Google Play Store installiert zu werden. Wenn Sie Ihre In-App-Käufe mit einem sideloaded Spiel testen möchten, müssen Sie der Datei AndroidManifest.xml eine Abfrage für das Paket "com.android.vending" hinzufügen:
<manifest>
<queries>
<package android:name="com.android.vending" />
</queries>
</manifest>
Spiel im Nutzer-Client installieren
Sie können ein Spiel erst dann im Nutzer-Client installieren, wenn es im Katalog der Play Games-Dienste aufgeführt ist. Nachdem Ihr Spiel einen Release hat, können Sie einen internen Testtrack erstellen, um zukünftige Updates vor der Veröffentlichung zu prüfen.
Der Player-Client unterstützt die entwicklerorientierten Funktionen des Emulators für Entwickler von Google Play Games auf dem PC nicht. Er eignet sich am besten für die Qualitätssicherung des Spiels vor der Veröffentlichung, um die End-to-End-Nutzererfahrung nach der ersten Veröffentlichung zu testen.