Für Google Play Games auf dem PC müssen Sie Änderungen an Ihrem Spiel vornehmen, um es mit PCs kompatibel zu machen und zu optimieren. Diese Änderungen sorgen dafür, dass Ihr Spiel auf einem PC ausgeführt werden kann und die Nutzerfreundlichkeit für die Plattform optimiert ist.
Außerdem gelten für Google Play Games auf dem PC Anforderungen an die Grafik, die Geräteeingabe und das geräteübergreifende Spielen. Weitere Informationen finden Sie im Startleitfaden.
Wenn Sie die Änderungen für PC-Kompatibilität und ‑Optimierung vornehmen (mit Ausnahme der x86-64-Unterstützung), können Sie Ihr Spiel so einrichten, dass Google Play Games auf dem PC erkannt wird und plattformspezifische Funktionen dann deaktiviert oder aktiviert werden. So können Sie dasselbe APK oder App-Bundle für Ihre Android-Mobil- und PC-Releases verwenden.
Hier finden Sie eine Zusammenfassung der Anforderungen und Empfehlungen auf dieser Seite:
- x86-64-ABI einbeziehen (erforderlich)
- Google Play Games zur Laufzeit erkennen (empfohlen)
- Das onPause-Ereignis verarbeiten (empfohlen)
- UI-Elemente aktualisieren (erforderlich)
- Dialogfelder für Android-App-Berechtigungen deaktivieren (erforderlich)
- Nicht unterstützte Android-Funktionen und ‑Berechtigungen deaktivieren (erforderlich)
- WebViews durch Browser-Intents ersetzen (empfohlen)
- Nicht unterstützte Google Play-Dienste-APIs deaktivieren (erforderlich)
- Scoped Storage aktivieren (erforderlich)
- Zu Google Analytics 4 migrieren (empfohlen)
x86-64-ABI-Architektur einschließen
Erforderlich für den Releaseprozess
Für alle in Ihrem Spiel enthaltenen Bibliotheken sind x86-64-ABI-kompatible Versionen erforderlich, um die beste Leistung und Stabilität auf der Plattform zu gewährleisten.
Wenn es technisch nicht möglich ist, für Ihr Spiel eine ausführbare 64‑Bit-x86-Datei bereitzustellen, müssen Sie sich an das Überprüfungsteam wenden, um eine Ausnahme zu beantragen. Dein Spiel kann mit einer Ausnahme nicht vollständig zertifiziert werden, kann aber als „spielbares“ Spiel in den Katalog aufgenommen werden.
Bibliothekskompilierung
Um eine möglichst hohe Kompatibilität mit x86-64-Prozessoren zu gewährleisten, sollten Sie beim Kompilieren Ihrer Bibliotheken nicht den Atom-Befehlssatz verwenden. Wenn Sie beispielsweise gcc verwenden, sollten Sie -march=atom vermeiden und stattdessen -march=x86-64 verwenden.
Zielarchitektur in Unity
Einige Versionen von Unity 2019 und 2020 unterstützen die x86‑64-Architektur unter Android nicht. Sie benötigen Unity 2019.4.31f1, 2020.3.19f1 oder höher.
Wenn in Ihrem Spiel eine kompatible Version der Unity-Spiel-Engine verwendet wird, gehen Sie so vor, um x86-64-Android-Ziele zu aktivieren:
Gehen Sie zu Player Settings > Other Settings > Configuration > Scripting Backend und wählen Sie im Drop-down-Menü IL2CPP aus, um das IL2CPP-Scripting-Backend zu aktivieren.
Aktivieren Sie x86-64-Android-Ziele für Ihre Version von Unity:
Unity 2018 und früher:Gehen Sie zu Player Settings > Other Settings > Target Architecture (Playereinstellungen > Weitere Einstellungen > Zielarchitektur) und setzen Sie ein Häkchen bei x86. Da Unity 2018 nur x86-Ziele unterstützt, können Sie keine x86-64-Builds erstellen. Für diesen Build ist eine Ausnahme vom Überprüfungsteam erforderlich. Wenden Sie sich an Ihren Google-Ansprechpartner, um eine x86-Ausnahme zu beantragen.
Unity 2019 LTS-Version und höher: Gehen Sie zu Player Settings > Other Settings > Target Architectures und aktivieren Sie x86-64 (ChromeOS).
Google Play Games auf dem PC erkennen
Sie können die Google Play Games auf dem PC-Plattform zur Laufzeit erkennen, sodass Sie plattformspezifische Funktionen in Ihrem Spiel aktivieren oder deaktivieren können.
Prüfe, ob die Systemfunktion com.google.android.play.feature.HPE_EXPERIENCE vorhanden ist, um festzustellen, ob dein Spiel auf der Plattform „Google Play Games auf dem PC“ ausgeführt wird:
Kotlin
var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
Java
PackageManager pm = getPackageManager(); boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
C#
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity"); var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager"); var isPC = packageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");
Android-Lebenszyklusereignisse verarbeiten
Es ist wichtig, das Ereignis
onPause
(c++)
in der Google Play Games auf dem PC-Umgebung zu verarbeiten. Ihr Spiel ist sichtbar, wenn ein Spieler das Emulator-Overlay aktiviert. Wenn Sie also nicht auf das onPause-Ereignis reagieren, kann dies zu einer schlechten Nutzererfahrung führen.
Benutzeroberfläche aktualisieren
Bestimmte UI-Elemente und ‑Gesten sind auf dem PC nicht geeignet und sollten aktualisiert werden.
Erforderlich:
- Ersetzen Sie UI-Aktionen, für die zwei oder mehr Finger erforderlich sind (Multitouch-Gesten). Beispielsweise sollten Sie das Auf- und Zuziehen zum Zoomen und andere Multitouch-Gesten durch die entsprechenden Maus- und Tastatureingaben ersetzen. Weitere Informationen zu Änderungen bei der Geräteeingabe finden Sie unter Eingabeunterstützung.
Empfohlen:
- In allen für Nutzer sichtbaren Texten sollte „klicken“ statt „tippen“ verwendet werden.
- Scrollbare Listen sollten Bildlaufleisten haben.
- Bereiche, in denen Nutzer schwenken können, sollten entweder Scrollleisten oder eine andere Möglichkeit zum schnellen Zurücklegen großer Entfernungen haben.
- Es wird keine anklickbare Tastatur auf dem Bildschirm für die Texteingabe angezeigt.
- Alle Texteingaben müssen innerhalb der Grenzen des Textfelds liegen.
- Klicks auf sichtbare Elemente sollten:
- Klicks an einer beliebigen Stelle innerhalb der sichtbaren Grenzen des Elements akzeptieren.
- Klicks im Bereich außerhalb des sichtbaren Elements werden nicht akzeptiert.
- Dialogfelder sollten eine sichtbare Schaltfläche zum Schließen haben. Klicks außerhalb der Dialogfeldgrenzen nicht erkennen.
Die meisten Berechtigungsdialogfelder deaktivieren
Mit Ausnahme von Mikrofon- und Benachrichtigungsberechtigungen werden in Google Play Spiele für PC keine Berechtigungsdialogfelder angezeigt. Sie sollten daher nicht versuchen, sie anzuzeigen oder Berechtigungen zur Laufzeit anzufordern. Wenn Sie bereits Berechtigungsdialogfelder angezeigt haben, sollten Sie Ihr Spiel aktualisieren, damit sie nicht mehr auf PCs angezeigt werden.
Nicht unterstützte Android-Funktionen und ‑Berechtigungen
Erforderlich für den Releaseprozess
Einige gängige Hardwarefunktionen von Smartphones und Tablets sind auf PCs nicht verfügbar. Dazu gehören Hardwarefunktionen wie die Kamera oder der Standort eines Spielers. Spiele, für die fehlende Funktionen erforderlich sind, können nicht auf den PC eines Spielers heruntergeladen und installiert werden. Anfragen für fehlende Funktionen auf einem PC schlagen automatisch fehl.
Eine vollständige Liste der verfügbaren Funktionen erhalten Sie, wenn Sie Folgendes eingeben:
adb shell pm list featuresDamit Ihr Spiel mit PCs kompatibel ist, sind die folgenden Änderungen erforderlich:
Markieren Sie Funktionen in Ihrem App-Manifest als optional, indem Sie der
<uses-feature>-Deklarationandroid:required="false"hinzufügen. Dies gilt nur für die Funktionen, die bereits in Ihrem App-Manifest deklariert sind.Versuchen Sie nicht, fehlende Funktionen zur Laufzeit zu verwenden. Wenn Sie dasselbe APK sowohl für Ihre Mobilgeräte- als auch für Ihre PC-Tracks verwenden, erkennen Sie die PC-Umgebung zur Laufzeit und vermeiden Sie die entsprechenden Codepfade.
Fordern Sie keine nicht unterstützten Android-Berechtigungen zur Laufzeit an. Wenn Sie dasselbe APK für Ihre mobilen und PC-Tracks verwenden, erkennen Sie die PC-Umgebung zur Laufzeit und vermeiden Sie die entsprechenden Codepfade. Sie müssen Ihr Manifest nicht aktualisieren.
Weitere Informationen zur Kompatibilität von App-Manifesten finden Sie im Leitfaden App-Manifest-Kompatibilität für Chromebooks.
Anforderungen an Funktionstests
Entfernen Sie diese Hardwarefunktionen, bevor Sie den ersten Test-Build in der Google Play Console einreichen:
android.hardware.wifiandroid.hardware.bluetoothandroid.hardware.cameraandroid.hardware.location
Einige dieser Funktionen werden möglicherweise als unterstützt aufgeführt, wenn pm list features aus Kompatibilitätsgründen ausgeführt wird, sind aber nicht vollständig implementiert. Weitere Informationen zum Entfernen der android.hardware.wifi-Funktion finden Sie unter Verbindungsstatus und Verbindungsnutzung überwachen. Eine vollständige Liste der nicht unterstützten Funktionen finden Sie im Leitfaden zur App-Manifest-Kompatibilität für Chromebooks.
Anforderungen an Qualitätstests
Diese häufig verwendeten Hardwarefunktionen sind nicht mit PCs kompatibel. Sie müssen sie also vor der endgültigen Einreichung in der Google Play Console entfernen:
android.hardware.audio.proandroid.hardware.bluetoothandroid.hardware.cameraandroid.hardware.consumerirandroid.hardware.locationandroid.hardware.nfcandroid.hardware.sensor.lightandroid.hardware.sensor.accelerometerandroid.hardware.sensor.barometerandroid.hardware.sensor.compassandroid.hardware.sensor.gyroscopeandroid.hardware.sensor.proximityandroid.hardware.telephonyandroid.hardware.touchscreenandroid.hardware.usb.accessoryandroid.hardware.usb.hostandroid.hardware.wifiandroid.software.midi
Nicht unterstützte Berechtigungen
Die folgenden häufig verwendeten Berechtigungen werden auf PCs nicht unterstützt. Daher müssen sie in Ihrem Spiel für Google Play Games auf dem PC deaktiviert werden:
android.permission.ACCESS_COARSE_LOCATIONandroid.permission.ACCESS_FINE_LOCATIONandroid.permission.ACCESS_WIFI_STATEandroid.permission.BLUETOOTHandroid.permission.CAMERAandroid.permission.FOREGROUND_SERVICEandroid.permission.GET_ACCOUNTSandroid.permission.INSTALL_PACKAGESandroid.permission.READ_CONTACTSandroid.permission.READ_EXTERNAL_STORAGEandroid.permission.READ_PHONE_STATEandroid.permission.RECEIVE_BOOT_COMPLETEDandroid.permission.REQUEST_INSTALL_PACKAGESandroid.permission.SYSTEM_ALERT_WINDOWandroid.permission.USE_CREDENTIALSandroid.permission.WRITE_EXTERNAL_STORAGEandroid.permission.WRITE_SETTINGScom.google.android.gms.permission.ACTIVITY_RECOGNITION
Externe Websites und WebViews
Browser-Intents werden im nativen Webbrowser eines PCs geladen und nicht in der Umgebung von Google Play Games auf dem PC. Das ist in den meisten Situationen ideal für Spieler.
Um die Portierung zu erleichtern, unterstützt Google Play Games auf dem PC WebView. Da diese in der Umgebung von Google Play Games auf dem PC geöffnet wird, ist kein typischer Desktopbrowser vorhanden. Wenn Sie WebView bisher verwendet haben, um Ihre Nutzungsbedingungen, Datenschutzerklärung oder ähnliche Inhalte zu teilen, sollten Sie stattdessen eine Browser-Intent aufrufen.
Nicht unterstützte Google Play-Dienste-APIs deaktivieren
Erforderlich für den Releaseprozess
Google Play Games auf dem PC wird mit einer eigenen Variante der Google Play-Dienste ausgeliefert, die nur eine Teilmenge der Google Play Services APIs enthält. Sie müssen bestätigen, dass Ihre Anwendung nicht stark von Modulen abhängt, die auf dem PC ausgelassen oder nicht unterstützt werden. Einige Module sind möglicherweise verfügbar, ihre Funktionen werden aber nicht immer unterstützt. Firebase Cloud Messaging funktioniert beispielsweise nicht, wenn Google Play Games auf dem PC geschlossen ist.
Unterstützte Module
Diese Module sind derzeit verfügbar und werden von Google Play Games auf dem PC unterstützt. Es ist geplant, die Unterstützung für zusätzliche Funktionen zu erweitern:
- Google Log-in (ohne Kontoübertragung, Smart Lock, SMS-Bestätigung, Berechnung der Passwortkomplexität)
- Cronet
- Google Play Games-Dienste
- Tasks
- Sehvermögen
- Google Pay
Eingeschränkter Support
Die folgenden Module sind nur teilweise funktionsfähig. Wir werden unser Bestes tun, um sie in Google Play Games auf dem PC zu unterstützen, können ihre Funktionalität aber nicht garantieren.
- Google Cloud Messaging (eingestellt, verwenden Sie Firebase Cloud Messaging)
- Firebase Authentication (Telefonnummer-Authentifizierung funktioniert nicht)
- Firebase Cloud Messaging
- Firebase Common Libraries
- Firebase ML
- Firebase Remote Config
- Firebase Analytics
Nicht unterstützt
Diese Module werden in Google Play Games auf dem PC nicht unterstützt, verursachen aber keine Probleme, wenn sie fehlschlagen:
- Google Analytics (eingestellt, verwenden Sie Firebase Analytics)
- Google Cast
- Awareness API
- Drive (eingestellt, wird bald entfernt)
- FIDO
- Firebase Realtime Database
- Firestore
- Firebase A/B Testing
- Google Fit
- Address API
- Instant Apps API
- Location API
- Google Maps SDK
- Nearby
- Panorama
- Orte
- Google+
- SafetyNet (veraltet, bitte füllen Sie das Interessenbekundungsformular aus, um die kommende Play Integrity API zu nutzen)
- Google Tag Manager
- Wear OS
Fehlerhafte
Erforderlich für den Releaseprozess
Sie dürfen diese Module nicht auf PCs verwenden, da sie in Google Play Games auf dem PC zu unerwartetem Verhalten führen können.
Scoped Storage aktivieren
Erforderlich für den Releaseprozess
Dieser Abschnitt gilt, wenn Ihr Spiel Daten auf externen Speicher liest oder schreibt. Die Erzwingung des Speicherbereichs ist als alternative Möglichkeit zum Lesen und Schreiben von Daten im Speicher erforderlich. Dadurch ist es nicht mehr erforderlich, den Nutzer des Players nach diesen sensiblen Berechtigungen zu fragen:
android.permission.READ_EXTERNAL_STORAGEandroid.permission.WRITE_EXTERNAL_STORAGE
Weitere Informationen zu Scoped Storage finden Sie hier:
Analysezwecke
Die alten Google Analytics-Produkte funktionieren nicht in Google Play Games auf dem PC. Wenn das auf Ihre Spiele zutrifft, sollten Sie die Daten zu Google Analytics 4 migrieren.
Dies sollte sich nur auf Ihr Spiel auswirken, wenn Sie derzeit Google Analytics 360 verwenden. Wenn Sie das Firebase SDK verwenden, um Analyseereignisse in Ihrem Spiel zu erfassen, und Ihr Spiel als Property in der Google Analytics Console angezeigt wird, müssen Sie nichts weiter tun.