Für Google Play Games auf dem PC sind Änderungen an deinem Spiel erforderlich, um es für PCs zu optimieren und kompatibel zu machen. Diese Änderungen sorgen dafür, dass dein Spiel auf einem PC ausgeführt werden kann und die Nutzererfahrung 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 die PC-Kompatibilität und ‑Optimierung (mit Ausnahme der x86-64-Unterstützung) vornehmen, 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 (empfohlen)
- 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)
- Begrenzter Speicher aktivieren (erforderlich)
- Zu Google Analytics 4 migrieren (empfohlen)
x86-64-ABI-Architektur einschließen
Achten Sie nach Möglichkeit darauf, dass alle in Ihrem Spiel enthaltenen Bibliotheken für x86-64 erstellt wurden. So können Sie die beste Leistung und Stabilität erzielen, da keine Übersetzungsebenen erforderlich sind.
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 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 Langzeitsupport (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 Google Play Games auf dem PC-Plattform 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 das onPause-Ereignis nicht abfangen, 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 Pinch-to-Zoom 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 Scrollbalken oder eine andere Möglichkeit bieten, große Entfernungen schnell zu überwinden.
- Keine anklickbare Tastatur auf dem Bildschirm für die Texteingabe anzeigen.
- Alle Texteingaben müssen innerhalb der Grenzen des Textfelds liegen.
- Klicks auf sichtbare Elemente sollten:
- Klicks an beliebiger Stelle innerhalb der sichtbaren Grenzen des Elements akzeptieren.
- Klicks im Bereich außerhalb des sichtbaren Elements werden nicht akzeptiert.
- Dialogfelder sollten einen sichtbaren Button zum Schließen haben. Klicks außerhalb der Dialogfeldgrenzen dürfen nicht erkannt werden.
Die meisten Berechtigungsdialogfelder deaktivieren
Mit Ausnahme von Mikrofon- und Benachrichtigungsberechtigungen werden in Google Play Games auf dem PC keine Berechtigungsdialogfelder angezeigt. Sie sollten daher nicht versuchen, sie anzuzeigen oder Berechtigungen zur Laufzeit anzufordern. Wenn Sie Berechtigungsdialogfelder zuvor 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 im 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 zur Laufzeit keine nicht unterstützten Android-Berechtigungen an. 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. Sie müssen Ihr Manifest nicht aktualisieren.
Weitere Informationen zur Kompatibilität von App-Manifesten finden Sie im Leitfaden zur Kompatibilität von App-Manifesten 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 aus Kompatibilitätsgründen als unterstützt aufgeführt, wenn pm list features ausgeführt wird, sind aber nicht vollständig implementiert. Weitere Informationen zum Entfernen der android.hardware.wifi-Funktion finden Sie unter Verbindungsstatus und Verbindungsmessung überwachen. Eine vollständige Liste der nicht unterstützten Funktionen finden Sie im Kompatibilitätsleitfaden für App-Manifeste 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 für Google Play Games auf dem PC in Ihrem Spiel 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, wird WebView in Google Play Games auf dem PC unterstützt. Da diese Funktion in der Google Play Games auf dem PC-Umgebung geöffnet wird, ist kein typischer Desktopbrowser vorhanden. Wenn Sie WebView zuvor zum Teilen Ihrer Nutzungsbedingungen, Datenschutzerklärung oder anderer ähnlicher Inhalte verwendet haben, 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-Dienste-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. Beachten Sie, dass einige Module zwar verfügbar sein können, ihre Funktionalität aber nicht immer unterstützt wird. 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
- Aufgaben
- Sehvermögen
- Google Pay
Eingeschränkter Support
Die folgenden Module sind teilweise funktionsfähig. Wir werden unser Bestes tun, 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 Google Analytics for Firebase)
- 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
- Places
- Google+
- SafetyNet (veraltet, bitte füllen Sie das Interessenbekundungsformular aus, um die bevorstehende Play Integrity API zu nutzen)
- Google Tag Manager
- Wear OS
Fehlerhaft
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.
Begrenzten Speicher aktivieren
Erforderlich für den Releaseprozess
Dieser Abschnitt gilt, wenn Ihr Spiel Daten auf externen Speicher liest oder schreibt. Die Erzwingung des Speichers für den Anwendungsbereich ist als alternative Methode zum Lesen und Schreiben von Daten im Speicher erforderlich. Dadurch ist es nicht mehr erforderlich, den Spieler nach diesen sensiblen Berechtigungen zu fragen:
android.permission.READ_EXTERNAL_STORAGEandroid.permission.WRITE_EXTERNAL_STORAGE
Weitere Informationen zu Scoped Storage finden Sie unter:
Analytics
Die alten Google Analytics-Produkte funktionieren nicht in Google Play Spiele auf dem PC. Wenn das auf Ihre Spiele zutrifft, sollten Sie sie zu Google Analytics 4 migrieren.
Diese Änderung betrifft dein Spiel nur, wenn du derzeit Google Analytics 360 verwendest. Wenn du das Firebase SDK verwendest, um Analyseereignisse in deinem Spiel zu erfassen, und dein Spiel als Property in der Google Analytics Console angezeigt wird, musst du nichts weiter tun.