Häufig gestellte Fragen

In diesem Dokument finden Sie Antworten auf häufig gestellte Fragen zu SDKs und zur Veröffentlichung von Google Play Games auf dem PC.

VPN hinzufügen

Entwicklern, die ihr Spiel in Regionen testen müssen, in denen Google Play Games auf dem PC nicht unterstützt wird, empfehlen wir, ein VPN zu verwenden, um eine IP-Adresse aus einer unterstützten Region zu erhalten.

Achten Sie darauf, dass Sie den TUN-Modus für das VPN aktivieren. Eine Anleitung zum Aktivieren des TUN-Modus und zum Konfigurieren der Firewall finden Sie im Benutzerhandbuch des VPN-Anbieters.

Nachdem der TUN-Modus aktiviert wurde, installieren Sie Google Play Games auf dem PC und den Emulator zu Testzwecken.

Kann ich den Kaufvorgang ohne Backend-Server verwenden?

Aus Sicherheitssicht ist die Verarbeitung ohne Backend-Server im Allgemeinen nicht empfehlenswert.

Weitere Informationen finden Sie unter Prozess ohne Backend-Server.

Wie kann ich mit der Entwicklung für Google Play Games auf dem PC in Unity oder UE Editor beginnen?

Werden beim Starten eines Spiels über die Google Play Games App Ihre Google-Kontodetails synchronisiert?

Nachdem das Spiel über den Google Play Games-Client gestartet wurde, wird das Konto automatisch synchronisiert. Eine erneute Anmeldung über den Google-Anmeldeprozess ist nicht erforderlich.

Muss das Spielpaket zur Überprüfung eingereicht werden, wenn ein Windows App Bundle (WAB) über einen Drittanbieter-Launcher eingereicht wird?

Sie können einfach Ihr Installationsprogramm einreichen. Sie müssen nicht Ihr gesamtes Spielepaket einreichen, da der Prüfer Ihr Spielepaket über das Installationsprogramm herunterladen kann.

Wenn ein Spieler einen Drittanbieter-Launcher anstelle des Google Play-Clients verwendet, wird sein Play-Spieldienste-Konto dann automatisch synchronisiert?

Damit die SDK-Funktionen funktionieren, muss das Spiel direkt über den Google Play Games-Client gestartet werden. Wenn das Spiel durch einen anderen Prozess, z. B. ein Installationsprogramm oder eine Launcher-Anwendung, gestartet wird, muss dieser Prozess selbst über den Google Play Games-Client gestartet werden. Das Spiel muss alle vom Client empfangenen Parameter an den Clientprozess übergeben.

Wie verarbeitet das SDK die Anmeldung mit einem Google-Konto für mehrere Instanzen oder Konten?

Jeder Spielstart in Google Play Spiele wird als „Spielsitzung“ behandelt und jeder „Spielsitzung“ kann ein Konto zugeordnet sein. Sie können unterschiedlich sein. Wenn Sie das Spiel also mit Konto A starten und dann zu Konto B wechseln und das Spiel neu starten, können beide gleichzeitig ausgeführt werden.

Gibt es Einschränkungen für die Dateigröße von WABs (Windows App Bundles)?

Sie können WAB-Dateien mit einer Größe von bis zu 10 GB hochladen.

Sind bestehende API-basierte Zahlungssysteme nach der Integration des Google Play Games auf dem PC SDK zulässig?

Alle Zahlungen müssen über das Google Play Games auf dem PC-SDK mit Google Play Billing abgewickelt werden. Sie können Ihre vorhandene API-basierte Zahlungsmethode nicht im selben Spiel verwenden.

Gibt es offene oder geschlossene Testumgebungen, die der mobilen Umgebung ähneln?

Eine spezielle End-to-End-Sandbox ist derzeit nicht verfügbar, aber wir wissen, dass Entwickler eine produktionsähnliche Testumgebung benötigen. Demnächst wird eine robustere Lösung angeboten.

Wir können im Entwicklermodus initiierte Käufe nicht korrekt verarbeiten.

Der Kauf muss im Entwicklermodus innerhalb von 3 Minuten aufgenommen werden, da er sonst möglicherweise erstattet wurde.

Gibt es Unterschiede zwischen der API (Legacy) und dem Google Play Games auf dem PC-SDK?

  • Legacy-Fokus nur auf Abrechnung
  • Das SDK unterstützt den Google Desktop Service (GDS) und alle PC-Funktionen.
  • Entwicklerfreundliche SDK-Schnittstelle
  • Keine browserbasierte Google-Anmeldung erforderlich

Gibt es eine alternative Möglichkeit, das SDK zu initialisieren, indem das Spiel direkt über den Game Launcher gestartet wird, ohne Google Play Games auf dem PC zu verwenden?

Das Spiel muss über den Google Play Games auf dem PC-Client gestartet werden. Weitere Informationen finden Sie in der Entwicklerdokumentation.

Wiederkehrende Zahlungen oder Abos werden nicht unterstützt. Gibt es Pläne, dies zu implementieren?

Es ist nicht geplant, diese Kaufoptionen über den In-App-Kauf hinaus hinzuzufügen. Wir freuen uns über Ihr Feedback zu bestimmten Anwendungsfällen.

Wird billingerror durch den Start eines Kaufvorgangs oder durch das Zahlungsergebnis ausgelöst?

Es ist die Antwort auf das Zahlungsresultat. LaunchPurchaseFlow wird sofort zurückgegeben, ohne zu blockieren. Sie müssen jedoch auf den Callback warten, um zu erfahren, wann der Vorgang abgeschlossen ist, und um das Ergebnis zu erfassen.

Gibt es eine Möglichkeit, eine Verknüpfung zu erstellen, um das Spiel direkt zu öffnen?

Sie können den folgenden URI verwenden, um das Spiel direkt zu öffnen:

googleplaygames://launch/?pid=2&id=com.company.gamename

Mit dem URI kann erkannt werden, ob der Google Play Games auf dem PC-Client geöffnet ist. Wenn der Client nicht geöffnet ist, wird er vor dem Spiel bzw. Launcher geöffnet. Sie müssen das Spiel bzw. den Launcher verwalten, um zu verhindern, dass mehrere Instanzen ausgeführt werden.

QueryProductDetails Limits für API-Anfragen

Die maximale Anzahl von Produkten, die in einem einzelnen Aufruf der QueryProductDetails-API abgefragt werden können, beträgt 50. Wenn Sie dieses Limit überschreiten, müssen Sie die Anfrage in mehrere Aufrufe aufteilen.

Warum wird mein Spiel nicht installiert oder angezeigt, nachdem ich mein erstes Windows App Bundle (WAB) hochgeladen habe?

Wenn Ihr Spiel ohne eine vorhandene PC-Version eingeführt wird („First-Time WAB“), wird es möglicherweise automatisch in den Status „Verwaltete Veröffentlichung“ versetzt. Das liegt daran, dass keine vorhandene Baseline aktualisiert werden kann. Damit das WAB vollständig veröffentlicht und das Spiel zur Installation verfügbar gemacht wird, müssen Sie die Google Play Console aufrufen und die erforderliche Veröffentlichungsaktion manuell ausführen (z. B. auf „Änderungen veröffentlichen“ klicken).

Wie gehen Sie mit der Initialisierung um, wenn Google Play Games einen Launcher für Spiele von Drittanbietern startet?

Sie müssen das SDK nicht direkt in Ihren Launcher einbinden. Sie müssen jedoch alle Befehlszeilenargumente, die der Launcher vom Google Play Spiele-Client empfängt, direkt an den untergeordneten Prozess (die ausführbare Datei des Spiels) weiterleiten. Wenn die Initialisierung fehlschlägt (z. B. durch die Rückgabe von kActionRequiredShutdownClientProcess), müssen alle Prozesse, einschließlich des Launchers, beendet werden, damit Google Play Spiele versuchen kann, das Spiel automatisch wiederherzustellen und neu zu starten. Weitere Informationen finden Sie im Schritt 5 des Einrichtungsleitfadens.

Ist ein Zeitüberschreitungsfehler vorgesehen, wenn ein Nutzer den Browser schließt, ohne während eines Kaufvorgangs zu bezahlen?

Ja, das ist ein bekanntes Problem und das Verhalten ist im aktuellen browserbasierten Ablauf so vorgesehen. Google arbeitet aktiv an einer nahtlosen Kaufoption (WebView-basiert), mit der der Zahlungsvorgang im Spiel bleibt und das Problem mit dem Zeitlimit behoben wird.

Unterstützt das native PC SDK Multibyte-Zeichen in der Zertifizierungsdatei (PEM)?

Ja, das SDK unterstützt Multibyte-Zeichen für die Zertifizierung.

Welche Parameter sind beim Aufrufen von BillingClient::QueryPurchases oder BillingClient::LaunchPurchaseFlow erforderlich?

Die Funktion akzeptiert QueryPurchasesContinuation, einen Funktions-Callback mit der Signatur std::function<void(QueryPurchasesResult)>. Der Callback übergibt das Ergebnis mit allen ProductPurchaseDetails an Sie. Diese Informationen sind in den SDK-Headerdateien in der Datei includes/billing/models.h verfügbar.

Die resultierende launch_purchase_flow_result hat die Funktionen ok() und code(). Die Funktion ok() gibt zurück, ob der Flow erfolgreich war. Die Funktion code() gibt das Enum BillingError (includes/billing/enums.h) zurück, das 10 mögliche Fehlerfälle hat, z. B. „vom Nutzer abgebrochen“ oder „Netzwerkfehler“.

Kann beim Aufrufen von BillingClient::LaunchPurchaseFlow() eine benutzerdefinierte Bestellnummer übergeben werden?

Im aktuellen SDK-Design ist es nicht möglich, eine eigene Nutzlast zu übergeben. Sie können jedoch eine beliebige Kombination aus obfuscated_account_id und obfuscated_profile_id angeben. Sie können keinen, nur einen oder beide Nachweise einreichen.

Das Feld offer_token ist erforderlich und gibt das Kaufangebot an, das der Nutzer im Checkout-Vorgang kaufen möchte. Derzeit hat jede SKU bei Google Play genau ein Angebot (z. B. ein Artikel für 10 €). In Zukunft wird das Play-Abrechnungsteam Unterstützung für mehrere Angebote anbieten.

Damit Metadaten im Falle von Unterbrechungen des Kaufvorgangs zugeordnet werden, speichern Sie die Metadaten auf Ihrem Backend-Server, bevor Sie den Kaufdialog starten, und ordnen Sie sie der Konto-ID des Nutzers, der gekauften Artikelnummer und dem aktuellen Zeitstempel zu. Weitere Informationen finden Sie unter Kauf mit internen Daten verknüpfen.

Funktioniert die Integration des Play Install Referrer?

Die aktuelle Version des SDK (25.5.409.0 und höher) unterstützt die Play Install Referrer API. Weitere Informationen finden Sie unter Play Install Referrer API.

Muss sich ein Nutzer für jedes Spiel separat anmelden, um einen Kauf zu tätigen?

Das Vordergrundkonto in Google Play Games wird für jede Spielsitzung verwendet. Sie müssen sich also nicht noch einmal anmelden. Das Konto, das Sie in Google Play Games verwenden, wenn die Spielsitzung beginnt, ist das Konto, mit dem API-Aufrufe ausgegeben werden. Wenn Sie einen Kaufvorgang im Browser starten, müssen Sie angemeldet sein und dasselbe Konto wie für die Spielsitzung verwenden. Wenn der Nutzer mit einem anderen Konto angemeldet ist, wird er im Webvorgang aufgefordert, das Konto zu wechseln.

Welche Voraussetzungen müssen erfüllt sein, um von der Google-Abrechnung mit OAuth zur nativen Google-Abrechnung mit DLL zu wechseln?

Spiele können weiterhin die OAuth-Anmeldung mit Google verwenden, um das angemeldete Konto zu verwalten. Google empfiehlt jedoch, die alten REST-Abrechnungs-APIs nicht mehr zu verwenden. Die Umstellung von den REST-Abrechnungs-APIs (mit OAuth2-Anmeldung) auf den SDK-Ablauf kann über ein Feature-Flag erfolgen. Beide können also für einen bestimmten Zeitraum parallel verwendet werden, während das Spiel umgestellt wird.

Wird die Payment Request API (LaunchPurchaseFlow) über einen Webbrowser verarbeitet?

Ja, derzeit wird die Verarbeitung über einen Browser durchgeführt. Google plant, den gesamten Ablauf ohne Verlassen des Spiels über das SDK zu ermöglichen.

Ist es möglich, die Initialisierungsparameter mehrmals zu verwenden?

Das ist möglich, solange der Google Play Spiele-Client ausgeführt wird und die Anmeldedaten gültig sind. In Szenarien wie dem im Leitfaden beschriebenen müssen jedoch alle vom Spiel gestarteten Prozesse beendet werden, wenn der Nutzer das Spiel schließt oder das Spiel aufgrund eines SDK-Initialisierungsfehlers beendet wird, z. B. kActionRequiredShutdownClientProcess.

Kann ich Registrierungsschlüssel unter HKEY_CURRENT_USER anstelle von HKEY_LOCAL_MACHINE verwenden?

Sie sollten Registrierungsschlüssel basierend auf der Stammstruktur erstellen. Je nach Zweck und Art der Daten können Sie die Stammzelle entweder auf HKEY_LOCAL_MACHINE oder HKEY_CURRENT_USER festlegen. Die HKEY_LOCAL_MACHINE-Struktur wird in den Richtlinien als Beispiel verwendet.

Kann ein Spiel sowohl das native SDK als auch die alten Zahlungssysteme gleichzeitig unterstützen?

Das Zahlungssystem basiert auf einem Dual-Flow-Modell, das von der Binärversion des Spiels abhängt. Nutzer mit alten Builds verwenden weiterhin den bisherigen Ablauf. Nutzer mit neuen Builds werden auf SDK-basierte Zahlungen umgestellt. Nutzer mit beiden Zahlungsabläufen sind während des Übergangszeitraums vorhanden.

Wie lade ich die WAB für interne Tests hoch?

Geben Sie die Konten auf der Zulassungsliste für Google frei, damit Google sie für interne Tests aktivieren kann. Nachdem Google die Liste erhalten hat, wird dafür gesorgt, dass die entsprechenden Personen in den Onboarding-Prozess einbezogen werden.

Wo fügen Sie neue Tester hinzu?

Ihr Google-Ansprechpartner erstellt für jedes PC-Projekt eine E-Mail-Gruppe, in die die Google-Konten der Tester aufgenommen werden müssen. Nur Mitglieder dieser E‑Mail-Gruppe sind berechtigt, die Testpakete in Google Play Games herunterzuladen.

Wo sollte das offizielle PC-Paket vor der offiziellen Markteinführung hochgeladen werden?

Sie können das WAB-Paket an dem in der ersten Frage genannten Ort hochladen. Sie können sie jedoch nicht manuell veröffentlichen. Sie müssen dem Google-Backend-Team eine genaue UTC-Zeit (bis auf die Stunde genau) angeben. Google konfiguriert dann den Veröffentlichungszeitplan und sorgt dafür, dass die Inhalte rechtzeitig veröffentlicht werden.

Wie handhaben Sie Upgrades und Wartung nach der offiziellen Einführung?

Nachfolgende Upgrades und Wartungsarbeiten müssen über Ihren Launcher implementiert werden. Der Google Play Spiele-Client unterstützt keine Updatefunktionen. Der Launcher muss also sowohl das Spiel als auch sich selbst aktualisieren können.

Welche Anforderungen gelten für die Überprüfung von PC-Paketen durch Google?

PC-Pakete werden auf Malware gescannt. Danach testen Prüfer nur die Installation, den erfolgreichen Start und die Deinstallation des Spiels.

Muss ich alle APIs einbinden?

Andere APIs sind nicht erforderlich, bieten aber zusätzliche Vorteile. google::play::billing ist für In-App-Käufe und den Verkauf digitaler Inhalte erforderlich. google::play::games::recall ist erforderlich, um Empfehlungsdaten zu erfassen. So können Sie nachvollziehen, über welche Traffic-Quellen die meisten Nutzer Ihre App herunterladen. google::play::games::integrity ist erforderlich, um Ihre App vor böswilligen Akteuren zu schützen. Dazu werden potenziell riskante Geräte und unbekannte Emulatoren erkannt.

Warum werden einige Spielprozesse beendet, wenn der Google Play Spiele-Client geschlossen wird, andere jedoch nicht?

Google hat keinen Einfluss auf die untergeordneten Prozesse oder Prozesse des laufenden Spiels. Das Verhalten hängt davon ab, ob es sich um ein emuliertes Android-Spiel oder ein natives PC-Spiel handelt. Emulierte Spiele werden in einer eigenen Umgebung installiert. Ihr Verhalten hängt daher weitgehend von der Initialisierung und dem Herunterfahren des Emulators ab.

Sollten Sie die Deinstallationsfunktion von Google Play Games oder ein benutzerdefiniertes Deinstallationstool verwenden?

Google empfiehlt, Google Play Games zu deinstallieren.