Mit der Recall API können Spiele Verknüpfungen zwischen Nutzern der Google Play-Spieldienste (PGS) und ihren In-Game-Konten verwalten, indem sie Recall-Tokens auf Google-Servern speichern. Hier ist ein Beispielszenario für die Verwendung der Recall API.
Ein Nutzer spielt ein Spiel, in dem der Entwickler ein Identitätssystem verwendet, um den Fortschritt der Nutzer zu verfolgen. Er verwendet die Play-Spieldienste parallel zu anderen Authentifizierungsmethoden, um Nutzer in seinem Spiel anzumelden. In diesem Beispiel ist ein Nutzer in seinem PGS-Konto Laura angemeldet und erstellt mit dem Identitätssystem des Entwicklers ein In-Game-Konto namens Racer94. Während der Nutzer das Spiel spielt, synchronisiert der Gameserver des Entwicklers seinen Fortschritt.
Der Entwickler speichert separat ein Erinnerungstoken bei Google, das dem In-Game-Konto des Nutzers entspricht. Google speichert dieses Recall-Token automatisch im Play-Spieldienste-Profil des Nutzers.
Der Nutzer entscheidet sich nun, das Spiel zum ersten Mal über Google Play Spiele auf dem PC zu spielen. Der Nutzer wird automatisch mit seinem PGS-Konto authentifiziert und der Spieleclient prüft, ob für diesen PGS-Nutzer Fortschrittsdaten verfügbar sind. Der Spielserver fragt dann bei Google an, ob es Tokens für dieses PGS-Konto gibt. Da es ihn gibt, sendet Google das Rückruf-Token zurück. Der Spielserver verwendet dieses Token, um das zugehörige Konto „Racer94“ des Nutzers zu finden und den Fortschritt wiederherzustellen. Da die Authentifizierung mit den Play-Spieldiensten reibungslos abläuft, wird der Fortschritt des Nutzers von der App wiederhergestellt, ohne dass der Nutzer einen Nutzernamen oder ein Passwort eingeben muss. Außerdem kann der Entwickler die Authentifizierung der Play-Spieldienste mit seinem vorhandenen Identitätssystem verwenden und sich darauf verlassen, dass Google die Verknüpfung zwischen dem Spielfortschritt und dem Play-Spieldienste-Konto speichert.
Wie im Beispiel oben zu sehen ist, gibt es zwei Hauptaktionen, die von der Recall API ausgeführt werden:
Das Token wird bei Google gespeichert, wenn sich ein Nutzer mit einem der In-Game-Konten anmeldet.
Abrufen des Tokens für einen Nutzer, um seine In-Game-Konten wiederherzustellen.
Zusätzlich zu den Recall-Tokens erfordert die Recall API auch eine stabile Kennung, die dem In-Game-Konto entspricht, die als Identität bezeichnet wird. Sie können sich eine Identität als das Label vorstellen, das das In-Game-Konto des Nutzers im Identitätssystem des Entwicklers repräsentiert, und das Erinnerungs-Token als Schlüssel, der verwendet wird, um das In-Game-Konto des Nutzers im Spiel wiederherzustellen. Persona- und Token-Werte dürfen nicht für verschiedene PGS-Projekte wiederverwendet werden. Recall-Tokens können sich im Laufe der Zeit ändern, eine Persona sollte jedoch entsprechend dem In-Game-Konto des Nutzers stabil sein.
Technische Abläufe zum Speichern und Abrufen der Recall-Tokens
In diesem Abschnitt wird der technische Ablauf zwischen dem Spieleclient und den Servern mit Google-Servern beim Speichern und Abrufen von Recall-Tokens beschrieben.
Schritt 1: PGS-Nutzer authentifizieren und Sitzungs-ID abrufen
Das Spiel initialisiert das PGS SDK und versucht, den Nutzer mit PGS zu authentifizieren.
Wenn der Nutzer authentifiziert ist, fordern Sie eine Sitzungs-ID vom Games SDK auf dem Spieleclient und ein OAuth 2.0-Token vom OAuth-Backend von Google an. Die Sitzungs-ID und die OAuth 2.0-Tokens werden für die Kommunikation mit dem Google Games-Backend verwendet.
Schritt 2: Verfügbare Recall-Tokens abrufen
Fordern Sie alle zugehörigen Rückruf-Tokens für das Konto des PGS-Nutzers an. Wenn ein Token vorhanden ist, fahren Sie mit Schritt 3a fort und stellen Sie den Fortschritt wieder her. Wenn es sich um einen neuen Nutzer handelt und kein Token vorhanden ist, fahren Sie mit Schritt 3b fort und speichern Sie ein neues Token.
Schritt 3a: Wenn ein Token vorhanden ist, Fortschritt wiederherstellen
Wenn ein Token vorhanden ist, rufen Sie es ab, entschlüsseln Sie es und stellen Sie die Nutzerdaten wieder her.
Schritt 3b: Wenn kein Token vorhanden ist, speichern Sie ein Token.
Da kein Token vorhanden ist, wird kein Fortschritt wiederhergestellt. Der Nutzer fährt mit der Plattformauthentifizierung mit dem Identitätssystem des Entwicklers fort oder erstellt ein neues Konto, falls noch keines vorhanden ist. Hinweis: Hier erfolgt keine Authentifizierung bei PGS (die bereits erfolgt ist), sondern bei einem Identitätssystem des Entwicklers außerhalb von PGS.
Erstellen Sie ein verschlüsseltes Recall-Token, in dem das In-Game-Konto des Nutzers codiert ist, und senden Sie es zusammen mit der Sitzungs‑ID und dem OAuth 2.0-Token an Google. An diesem Punkt stellt Google eine Verknüpfung zwischen dem gesendeten Rückruf-Token und dem PGS-Konto des Spielers her.
Abläufe für Nutzer ohne PGS-Profil
Sie können Recall-Tokens für einen Nutzer speichern, der noch kein PGS-Profil erstellt hat, indem Sie den Profilmodus ohne Profil verwenden. Es gibt jedoch zwei wichtige Einschränkungen:
- Sie können keine Tokens für Nutzer ohne Play-Spieldienste-Profil abrufen. Die Profilerstellung wird automatisch ausgelöst, wenn der Nutzer versucht, sich auf einem zweiten Gerät mit Play-Spieldiensten in Ihrem Spiel anzumelden.
- Sie müssen zusätzliche Richtlinien einhalten, um sicherzustellen, dass Sie einen geeigneten Hinweis mit den folgenden Informationen haben und die entsprechende Einwilligung der Endnutzer einholen:
- Sie geben die Daten an Google weiter, um die Funktion zur Verknüpfung von Play Spiele-Konten zu aktivieren.
- Die Verfügbarkeit von Einstellungen zur Verwaltung dieser Freigabe, z. B. Play Spiele-Einstellungen.
- Die Verarbeitung dieser Daten unterliegt der Datenschutzerklärung von Google.
Token- und Persona-Paar speichern
- Ein Nutzer ohne PGS-Profil öffnet ein Spiel, in dem der profillose Rückruf aktiviert ist.
- Das Games SDK löst eine automatische Plattformauthentifizierung aus, die fehlschlägt, weil der Nutzer kein PGS-Profil hat.
- Das Games SDK zeigt eine Snackbar an, in der der Nutzer darüber informiert wird, dass das Spiel in Google integriert ist. Diese Snackbar ist interaktiv – der Nutzer kann die Funktion „Recall“ deaktivieren, bis ein Profil erstellt wird.
- Das Spiel fordert den Zugriff auf die Funktion „Wiederaufruf“ an. Beachten Sie, dass die Play-Spieldienste Rückrufzugriffsanfragen ablehnen, wenn auf dem Gerät Play-Spieldienste-Profile vorhanden sind oder wenn auf dem Gerät keine Google-Konten vorhanden sind. In diesem Fall sollte das Spiel ohne PGS fortgesetzt werden.
- Nachdem sich der Nutzer mit einem Konto im Spiel angemeldet hat, erstellt das Spiel ein Token- und Identitätspaar für den Nutzer, das seinem Konto im Spiel entspricht. Das Spiel speichert dieses Paar bei Google. Das Spiel speichert möglicherweise später weitere Tokens, wenn sich der Nutzer in anderen In-Game-Konten anmeldet.
Spiel auf einem neuen Gerät starten
- Ein Nutzer ohne Play-Spieldienste-Profil öffnet ein Spiel, für das die profillose Erinnerung auf einem Gerät aktiviert ist.
- Das Spiel zeichnet ein Recall-Token ohne Profil auf, wie unter Token und Persona-Paar speichern beschrieben.
- Der Nutzer öffnet dasselbe Spiel auf einem anderen Gerät, auf dem dasselbe Konto eingerichtet ist.
- Das Games SDK löst die Profilerstellung aus. Der Nutzer kann zuvor gespeicherte Recall-Tokens prüfen und ablehnen. Der Nutzer erstellt zu diesem Zeitpunkt ein Play-Spieldienste-Profil.
- Die automatische Plattformauthentifizierung in PGS wird abgeschlossen und das Spiel erhält den authentifizierten Status.
- Das Spiel ruft wie gewohnt Recall-Tokens für den Nutzer ab.
Nächste Schritte
Folgen Sie dieser Anleitung, um die Recall API in Ihren Client und Spielserver einzubinden.