Mit der Authentifizierung über die Google Play-Spieldienste können Sie die Plattformauthentifizierung für Nutzer Ihres Spiels optimieren. Initialisieren Sie das Play Games Services SDK, um die Authentifizierung auszulösen. Dadurch ist kein separater Vorgang für die Plattformauthentifizierung erforderlich.
Nutzerkonten verknüpfen, um Kontinuität und geräteübergreifende Wiedergabe zu ermöglichen
Spieler nutzen ihre Lieblingsspiele auf einer Vielzahl von Geräten und Plattformen, darunter Smartphones, Tablets und PCs. Sie erwarten, dass sie ihr Spiel unabhängig vom verwendeten Gerät nahtlos an der Stelle fortsetzen können, an der sie aufgehört haben.
Eine erhebliche Barriere, die oft dazu führt, dass Nutzer die Nutzung abbrechen, ist die Notwendigkeit, sich auf jedem neuen Gerät separat anzumelden. Nutzer möchten sofort in das Spiel eintauchen, ohne unnötige Unterbrechungen.
Um eine nahtlose Kontinuität und geräteübergreifende Wiedergabe zu ermöglichen, müssen Sie zwei wichtige Funktionen implementieren:
- Kontoverknüpfung
- Cloud-Speicher
Der Authentifizierungsprozess der Play-Spieldienste bietet flexible Optionen für Spieler-IDs. Mit diesen Optionen können Sie die Play-Spieldienste in Ihre eigene vorhandene Identitätslösung einbinden.
Neue Play-Spieldienste-Integration
Bei Spielen ohne vorhandene Play-Spieldienste-Integration vereinfacht die Recall API die Backend-Einrichtung, da sie Kontoverknüpfungen verwaltet und die Verbindung zwischen dem Spielkonto eines Nutzers und seinem Play-Spieldienste-Konto speichert.
Kontoverknüpfung mit der Recall API
Die Recall API ist die empfohlene Lösung zum Verknüpfen von Nutzerkonten in plattformübergreifenden Spielen. Diese API ist besonders nützlich für Spiele ohne vorhandene Play-Spieldienste-Integration oder für Spiele, die neben den Play-Spieldiensten zusätzliche Lösungen für die Plattformauthentifizierung verwenden.
Die Recall API vereinfacht die Einrichtung des Backends Ihres Spiels, da sie die Kontoverknüpfungen verwaltet.
- Vereinfachtes Backend: Die API vereinfacht die Einrichtung des Backends Ihres Spiels für die Kontoverknüpfung.
- Von Play verwaltete Verknüpfungen: Play speichert die Verknüpfung zwischen den Spielekonten der Nutzer (einschließlich Konten von Drittanbietern) und ihren Play-Spieldienste-Konten.
- Wiederherstellung des Fortschritts: Entwickler generieren und senden Speicherdaten-Tokens an Play, die dann abgerufen werden können, um den Spielfortschritt eines Nutzers wiederherzustellen.
Bei der Implementierung der Recall API müssen Entwickler prüfen, ob Speicherdaten-Tokens undurchsichtige Strings sind. Diese Tokens dürfen keine vertraulichen oder personenidentifizierbaren Informationen über Gamer enthalten, z. B. Name, E‑Mail-Adresse oder demografische Daten.
Spiele müssen beim Generieren von Speicherdaten-Tokens robuste Verschlüsselungsalgorithmen verwenden, um Nutzerdaten zu schützen und die Sicherheit zu gewährleisten.
Weitere Informationen zur Funktionsweise von Recall finden Sie unter Recall API.
Informationen zur Implementierung der Recall API finden Sie unter Recall API der Play-Spieldienste in Ihr Spiel einbinden.
Mehrere Konten mit der Recall API verwalten
Wenn Sie mehrere Konten für denselben Nutzer verwalten, können Sie jedes Konto als eine separate Identität betrachten. Dieser Ansatz ermöglicht maßgeschneiderte Erlebnisse basierend auf dem spezifischen Kontext des Nutzers.
So implementieren Sie diesen Ansatz:
- Generieren Sie für jede Identität ein eindeutiges Token. Weitere Informationen finden Sie unter Spieleclient einrichten.
- Verknüpfen Sie diese Tokens mit dem Konto der Play-Spieldienste über die Recall API. Weitere Informationen finden Sie unter Tokens speichern.
- Legen Sie eine Richtlinie für die Auflösung von Szenarien fest, in denen ein Play-Spieldienste-Konto mit mehreren Identitäten verknüpft ist. Weitere Informationen finden Sie unter Letztes Speicherdaten-Token für alle Spiele, die Entwicklerkonten gehören.
Es sind verschiedene Richtlinienoptionen verfügbar, z. B. das automatische Wiederherstellen des letzten Kontos. Wir empfehlen jedoch dringend, dem Nutzer eine Aufforderung einzublenden. In dieser Aufforderung sollten sie aufgefordert werden, das Konto auszuwählen, das sie wiederherstellen möchten. Das sorgt für eine klare und nutzerfreundliche Erfahrung.
Vorhandene Play-Spieldienste-Integration
In diesem Abschnitt wird erläutert, wie Sie Ihr Spiel in Play-Spieldienste einbinden, indem Sie Spielerkonten verknüpfen. Hier erfahren Sie, wie Sie Spieler-IDs verwenden, um authentifizierte Spieler zu identifizieren und mehrere Spielkonten für einen einzelnen Nutzer der Play-Spieldienste zu verwalten.
Mit einer Player_id verknüpfen
Eine Spieler-ID ist eine Kennung für ein Play-Spieldienste-Konto. Ihr Spiel kann eine Spieler-ID für jeden Spieler abrufen, der sich über die Play-Spieldienste in Ihrem Spiel authentifiziert hat.
Bei Spielen, deren Backend mit Play-Spieldienste-Player_Id eingerichtet ist, oder bei Spielen, die Unterstützung für minderjährige Nutzer benötigen, sollte Player_Id verwendet und das Spiel und die Drittanbieterkonten mit Player_Id verknüpft werden.
So verhalten sich Spieler-IDs:
- Einheitlich innerhalb eines Spiels: Eine Spieler-ID bleibt für einen Nutzer auf mehreren Geräten gleich, wenn er dasselbe Spiel spielt.
- Inkonsistent zwischen Spielen: Spieler-IDs sind nicht immer konsistent, wenn ein Nutzer verschiedene Spiele spielt.
Weitere Informationen finden Sie unter Spieler-IDs der nächsten Generation.
Mehrere Konten pro Nutzer durch Verknüpfung verwalten
Wenn Sie mehrere Nutzerkonten mit einem einzelnen Play-Spieldienste-Konto verknüpfen möchten, erstellen Sie in Ihrer Tabelle eine 1:n-Zuordnung.
Plattformübergreifende Google-Identität mit „Über Google anmelden“
Mit Google anmelden (SiwG) ist die primäre Identitätslösung von Google, mit der Spieleentwickler die Profilinformationen ihrer Spieler sicher abrufen können, z. B. Name, E-Mail-Adresse und Profilbild.
Ein wichtiger Vorteil von „Über Google anmelden“ ist die breite Verfügbarkeit auf verschiedenen Plattformen, darunter Web, Android und iOS. Es bietet eine schnelle, sichere und vertraute Anmeldung, die Spieler bereits kennen und der sie vertrauen.
Mit dem Feld sub des Google-ID-Tokens verknüpfen
Um eine nahtlose plattformübergreifende Nutzung zu ermöglichen, können Sie eine Authentifizierungsstrategie implementieren, die das Kontosystem Ihres Spiels mit einer eindeutigen Google-Konto-Kennung verknüpft. Bei diesem Ansatz wird die optimierte Authentifizierung der Play-Spieldienste unter Android genutzt, während auf anderen Plattformen wie iOS und im Web das Standard-SDK für die Anmeldung mit Google verwendet wird.
Der Schlüssel zu dieser Strategie ist das Feld sub aus dem Google-ID-Token. Das Feld sub (oder „subject“) ist eine eindeutige und dauerhafte Kennung für das Konto eines Google-Nutzers. Sie verwenden diese ID als „Brücke“, um alle Sitzungen eines Spielers mit einem einzelnen Spielerkonto in Ihrem Backend zu verknüpfen.
Allgemeiner Ablauf:
- Auf Android-Geräten:Ihr Spiel initialisiert das Play Games Services SDK, um die Authentifizierung auf Android-Geräten automatisch auszulösen. Sie konfigurieren die Integration der Play-Spieldienste v2 so, dass die drei Anmeldebereiche
email,profileundopenidangefordert werden. Das sind dieselben Bereiche, die von einem Standard-SDK für die Anmeldung über Google angefordert werden. So können Sie ein ID-Token abrufen, das das Feldsubdes Spielers enthält. - Im Web und unter iOS:Ihr Spiel verwendet die Standard-SDKs Mit Google anmelden für das Web und Google-Anmeldung für iOS und macOS. Wenn sich der Nutzer anmeldet, stellt das SiwG SDK ein ID-Token bereit, das auch das Feld
subdes Nutzers enthält. - Kontoverknüpfung:Da sich der Nutzer auf beiden Plattformen mit demselben Google-Konto anmeldet, ist das Feld
sub, das Sie erhalten, identisch. Sie können diesensub-Wert dann in Ihrer Identitätslösung mit Ihrer internen Nutzer-ID verknüpfen und so eine einheitliche Nutzererfahrung schaffen.
Integration auf Android
Unter Android verwenden Sie das Google Play Games Services SDK als primären Integrationspunkt. Sie müssen Ihren Google Play-Spieldienste-Anmeldeclient so konfigurieren, dass die zusätzlichen Anmeldebereiche angefordert werden. So können Sie einen serverseitigen Autorisierungscode abrufen, den Ihr Backend gegen ein ID-Token eintauschen kann, das die Nutzerinformationen einschließlich des eindeutigen Felds sub enthält.
Auf übergeordneter Ebene umfasst die Implementierung Folgendes:
Client-IDs in einem einheitlichen Projekt einrichten:Bevor Sie die Integration vornehmen, müssen Sie Play-Spieldienste in der Google Play Console einrichten, um Ihre OAuth 2.0-Client-IDs zu erhalten.
Play-Spieldienste konfigurieren:Bevor Sie beginnen, müssen Sie Ihr Spiel in der Google Play Console hinzufügen und die Authentifizierung der Play-Spieldienste-Plattform in Ihr Spiel einbinden.
Button „Über Google anmelden“ hinzufügen:Fügen Sie auf der Anmeldeseite oder im Bildschirm mit den Nutzereinstellungen Ihres Spiels einen Button „Über Google anmelden“ hinzu. Durch Klicken auf diese Schaltfläche wird der Anmelde- oder Registrierungsvorgang gestartet. Wenn Sie diese Schaltfläche erstellen, sollten Sie die Branding-Richtlinien für „Mit Google anmelden“ beachten. Auf der Schaltfläche muss mindestens „Google“ oder „Über Google anmelden“ deutlich zu sehen sein. Über den Link zu den Richtlinien können Sie auch UX-Assets herunterladen, die den Richtlinien entsprechen und in Ihrem Spiel verwendet werden können.
Server-Autorisierungscode mit Anmeldebereichen anfordern:Wenn der Spieler auf die Schaltfläche klickt, fordert Ihr Spiel einen einmaligen Server-Autorisierungscode an. Der wichtigste Schritt ist, diese Anfrage so zu konfigurieren, dass sie die folgenden Anmeldebereiche enthält:
EMAIL,PROFILEundOPEN_ID.Wie Sie das konfigurieren, hängt von Ihrer Entwicklungsumgebung ab:
Für Java/Kotlin:Informationen zum Abrufen des Serverautorisierungscodes mit
requestServerSideAccessfinden Sie in der Anleitung.Für Unity:Weitere Informationen finden Sie im Leitfaden zum Abrufen von Autorisierungscodes in Unity.
Authentifizierungscode tauschen und ID-Token im Backend überprüfen:Senden Sie den Authentifizierungscode aus dem vorherigen Schritt an Ihren Backend-Server. Folgen Sie auf dem Server der Anleitung zum standardmäßigen OAuth 2.0-Codeaustauschablauf, um den Code gegen ein ID-Token, ein Zugriffstoken und ein Aktualisierungstoken einzutauschen. Wie im Leitfaden beschrieben, müssen Sie das ID-Token auf Ihrem Server überprüfen.
sub-Feld binden:Wenn das ID-Token erfolgreich bestätigt wurde, extrahieren Sie dassub-Feld aus der Nutzlast. Verwenden Sie diesensub-Wert als eindeutigen Schlüssel für die Google-Identität in Ihrer Identitätslösung.Wenn dieser
sub-Wert bereits in Ihrer Datenbank vorhanden ist, hat der Nutzer die Verknüpfung bereits hergestellt. Melden Sie sich in dem entsprechenden Spiel-Konto an.Wenn dieser
sub-Wert nicht vorhanden ist, können Sie entweder ein neues Nutzerkonto im Kontosystem Ihres Spiels erstellen, das mit diesemsub-Wert verknüpft ist, oder eine Verknüpfung zu einem vorhandenen Nutzerkonto in Ihrem Kontosystem herstellen, indem Sie Nutzerinformationen (z. B. die E-Mail-Adresse) abgleichen, die im ID-Token angegeben sind.
Integration unter iOS, im Web und auf anderen Plattformen
Auf anderen Plattformen als Android, iOS, Web oder PC verwenden Sie die Standard-SDKs für die Anmeldung mit Google. Das Ziel ist dasselbe wie beim Android-Ablauf: ein Google-ID-Token sicher abrufen, es an Ihr Backend senden und das Feld sub zum Verknüpfen des Kontos verwenden.
Auf übergeordneter Ebene umfasst die Implementierung Folgendes:
Clientseitige Integration:Folgen Sie der offiziellen Dokumentation, um das „Mit Google anmelden“-SDK für Ihre Plattform zu integrieren. In diesen Anleitungen wird der gesamte clientseitige Ablauf beschrieben, vom Rendern der Schaltfläche „Über Google anmelden“ bis zum Abrufen des ID-Tokens.
Für iOS:Google Log-in für iOS und macOS
Für Plattformen ohne dediziertes SDK (z. B. eine benutzerdefinierte Game-Engine oder ein PC-Build) können Sie den OAuth 2.0-Webserverablauf manuell implementieren, um die erforderlichen Tokens zu erhalten.
Backend-Logik:Senden Sie das ID-Token (oder den Autorisierungscode) an Ihr Backend. Ihr Server führt dann genau dieselbe Überprüfung und
sub-Feld-Bindungslogik aus, die in den Schritten 4 und 5 des Abschnitts „Integration unter Android“ beschrieben wird.
Da das Feld sub aus allen diesen „Mit Google anmelden“-Abläufen mit dem Feld identisch ist, das aus dem Google Play-Spieldienste-Ablauf unter Android abgerufen wird (für dasselbe Google-Konto), wird das Konto des Nutzers durch diesen Prozess auf allen Plattformen verknüpft.