Recall API

Mit der Recall API können Spiele Verknüpfungen zwischen Nutzern der Google Play-Spieldienste (PGS) und ihren In-Game-Konten verwalten, indem Recall-Tokens auf Google-Servern gespeichert werden. Hier ist ein Beispielszenario für die Verwendung der Recall API.

  1. Ein Nutzer spielt ein Spiel, in dem der Entwickler ein Identitätssystem zum Nachverfolgen des Nutzerfortschritts verwendet und PGS parallel zu anderen Authentifizierungsmethoden verwendet, um Nutzer in seinem Spiel anzumelden. In diesem Beispiel ist ein Nutzer in seinem PGS-Konto Laura angemeldet und erstellt ein In-Game-Konto mit dem Identitätssystem des Entwicklers namens Racer94. Während der Nutzer das Spiel spielt, synchronisiert der Gameserver des Entwicklers seinen Fortschritt.

    Der Nutzer ist mit den Play-Spieldiensten und einem In-Game-Konto angemeldet

  2. Der Entwickler speichert separat ein Widerrufstoken bei Google, das dem In-Game-Konto des Nutzers entspricht. Google speichert dieses Recall-Token automatisch im PGS-Profil des Nutzers.

    Der Gameserver speichert das Recall-Token auf Google-Servern

  3. Der Nutzer entscheidet sich jetzt, das Spiel zum ersten Mal auf Google Play Spiele auf dem PC zu spielen. Der Nutzer wird automatisch mit seinem PGS-Konto angemeldet und der Spielclient prüft, ob für diesen PGS-Nutzer ein Fortschritt verfügbar ist. Der Spieleserver fragt dann Google, ob es Tokens für dieses PGS-Konto gibt. Da dies der Fall ist, sendet Google das Rückruf-Token zurück. Der Gameserver verwendet dieses Token, um das zugehörige Konto des Nutzers „Racer94“ zu finden und seinen Fortschritt wiederherzustellen. Da die Anmeldung über Play-Spieldienste reibungslos funktioniert, wird der Fortschritt des Nutzers von der App wiederhergestellt, ohne dass er einen Nutzernamen oder ein Passwort eingeben muss. Außerdem kann der Entwickler die PGS-Anmeldung mit seinem vorhandenen Identitätssystem verwenden und Google die Verknüpfung zwischen dem Fortschritt des Spielers und seinem PGS-Konto überlassen.

    Spielserver stellt Fortschritt mit Abruftoken wieder her

Wie im Beispiel oben gezeigt, werden von der Recall API zwei Hauptaktionen ausgeführt:

  • Speichern des Tokens bei Google, 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 Recall-Tokens ist für die Recall API auch eine stabile Kennung erforderlich, die dem In-Game-Konto entspricht. Diese wird als Persona bezeichnet und dient zur Durchsetzung von Kardinaltatsbeschränkungen. Sie können sich eine Persona als das Label vorstellen, das das In-Game-Konto des Nutzers im Identitätssystem des Entwicklers darstellt, und das Rückruftoken als Schlüssel, mit dem das In-Game-Konto des Nutzers im Spiel wiederhergestellt wird. Persona- und Tokenwerte dürfen nicht für verschiedene PGS-Projekte wiederverwendet werden. Außerdem können Recall-Tokens im Laufe der Zeit geändert werden, während eine Persona dem In-Game-Konto des Nutzers entsprechen sollte.

Kardinalitätsregeln

Die Recall API erzwingt eine 1:1-Beziehung zwischen PGS-Profilen und In-Game-Konten (Kardinaltätsregeln). Eine Persona kann also nur mit einem PGS-Profil und ein PGS-Profil nur mit einer Persona verknüpft werden. Die Persona wird als stabile Kennung für ein In-Game-Konto verwendet, da sich Rückruf-Tokens im Laufe der Zeit ändern können.

Die mit einem PGS-Profil verknüpfte Persona kann sich im Laufe der Zeit auch ändern, da verschiedene In-Game-Konten mit dem PGS-Profil verknüpft sind.

Technische Abläufe zum Speichern und Abrufen der Rückruf-Tokens

In diesem Abschnitt wird der technische Ablauf zwischen dem Game-Client und Servern mit Google-Servern beim Speichern und Abrufen von Rückruf-Tokens beschrieben.

Schritt 1: PGS-Nutzer anmelden und Sitzungs-ID abrufen

Das Spiel initialisiert das PGS SDK und versucht, den Nutzer mit PGS anzumelden.

Nutzer meldet sich mit den Play-Spieldiensten an

Angenommen, der Nutzer ist angemeldet, fordern Sie eine Sitzungs-ID vom Games SDK auf dem Game-Client 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 Play-Backend verwendet.

Entwickler fordert eine Sitzungs-ID an

Schritt 2: Verfügbares Widerrufstoken abrufen

Fordere alle mit dem Konto des PGS-Nutzers verknüpften Widerrufstokens an. Wenn ein Token vorhanden ist, fahren Sie mit Schritt 3a fort und stellen Sie den Fortschritt wieder her. Andernfalls, wenn es sich um einen neuen Nutzer handelt und er kein Token hat, fahre mit Schritt 3b fort und speichere ein neues Token.

Entwickler ruft Widerrufstoken ab

Schritt 3a: Fortschritt wiederherstellen, wenn ein Token vorhanden ist

Wenn ein Token vorhanden ist, rufen Sie es ab, entschlüsseln Sie es und stellen Sie die Nutzerdaten wieder her.

Entwickler stellt Daten aus dem Widerrufstoken wieder her

Schritt 3b: Wenn kein Token vorhanden ist, ein Token speichern

Da kein Token vorhanden ist, wird kein Fortschritt wiederhergestellt. Der Nutzer meldet sich dann mit dem Identitätssystem des Entwicklers an oder erstellt ein neues Konto, falls noch keines vorhanden ist. Hinweis: Es handelt sich nicht um eine Anmeldung über die Play-Spieldienste, die bereits erfolgt ist, sondern um eine Anmeldung über das Identitätssystem eines Entwicklers außerhalb der Play-Spieldienste.

Nutzer meldet sich mit seinem In-Game-Konto an

Erstelle ein verschlüsseltes Recall-Token, das das In-Game-Konto des Nutzers codiert, und sende 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 Widerrufstoken und dem PGS-Konto des Spielers her.

Rückruftoken für Entwicklerspeicher

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 Modus ohne Profil verwenden. Es gibt jedoch zwei wichtige Einschränkungen:

  • Sie können keine Tokens für einen Nutzer abrufen, der kein Play-Spieldienste-Profil hat. Die Profilerstellung wird automatisch angezeigt, wenn der Nutzer versucht, sich mit den Play Spiele-Diensten auf einem zweiten Gerät in Ihrem Spiel anzumelden.
  • Sie müssen zusätzliche Richtlinien einhalten, um eine entsprechende Mitteilung zu haben, in der die folgenden Punkte beschrieben und die entsprechende Einwilligung des Endnutzers eingeholt wird:
    • Sie geben die Daten für Google frei, um die Funktion zum Verknüpfen von Play Spiele-Konten zu aktivieren.
    • Verfügbarkeit von Einstellungen zur Verwaltung dieser Freigabe, z. B. Play Spiele-Einstellungen
    • Die Verarbeitung solcher Daten gemäß der Datenschutzerklärung von Google.

Token und Persona-Paar speichern

Nutzer ohne Play-Spieldienste-Profil öffnet ein Spiel

  1. Ein Nutzer ohne PGS-Profil öffnet ein Spiel, für das der geräteübergreifende Rückruf aktiviert ist.
  2. Das Games SDK löst eine automatische Anmeldung aus, die fehlschlägt, weil der Nutzer kein PGS-Profil hat.
  3. Das Games SDK zeigt eine Snackbar an, in der der Nutzer darüber informiert wird, dass das Spiel mit Google verknüpft ist. Diese Snackbar ist interaktiv: Der Nutzer kann die Funktion „Zurückrufen“ deaktivieren, bis ein Profil erstellt wurde.
  4. Das Spiel fordert den Widerrufszugriff an. Hinweis: PGS lehnt Anträge auf Rückrufzugriff ab, wenn sich PGS-Profile auf dem Gerät befinden oder wenn sich keine Google-Konten auf dem Gerät befinden. In diesem Fall sollte das Spiel ohne PGS fortgesetzt werden.
  5. Nachdem sich der Nutzer mit einem In-Game-Konto angemeldet hat, erstellt das Spiel ein Token und ein Persona-Paar für den Nutzer, das seinem In-Game-Konto entspricht. Das Spiel speichert diese Verknüpfung bei Google. Das Spiel kann später weitere Tokens speichern, wenn sich der Nutzer in anderen In-Game-Konten anmeldet.

Spiel auf einem neuen Gerät starten

  1. Ein Nutzer ohne PGS-Profil öffnet ein Spiel, für das der gerätebasierte Rückruf aktiviert ist.
  2. Das Spiel zeichnet ein sitzungsspezifisches Recall-Token auf, wie unter Token und Persona-Paar speichern beschrieben.
  3. Der Nutzer öffnet dasselbe Spiel auf einem anderen Gerät mit derselben Kontoeinrichtung.
  4. 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 PGS-Profil.
  5. Die automatische Anmeldung in PGS wird abgeschlossen und das Spiel erhält den Status „authentifiziert“.
  6. Das Spiel ruft wie gewohnt Recall-Tokens für den Nutzer ab.

Nächste Schritte

Wenn Sie die Recall API in Ihren Client und Gameserver einbinden möchten, folgen Sie dieser Anleitung.