Nutzer können sich nahtlos in Ihrem Spiel anmelden und dabei Ihr eigenes Kontosystem weiter verwenden. Mit den Recall APIs der Play Games-Dienste können Sie In-Game-Konten mit einem Google Play Games-Dienste-Konto verknüpfen. Wenn ein Nutzer Ihr Spiel dann auf verschiedenen Geräten spielt (oder auf demselben Gerät, nachdem er Ihr Spiel neu installiert hat), fragen Sie das verknüpfte In-Game-Konto ab und optimieren den Anmeldevorgang.
Wenn Sie die Android Recall APIs eingebunden haben, sollten Ihnen diese Recall APIs bekannt vorkommen. Alle serverseitigen Einbindungen mit Play Games Services Recall können für PC-Titel wiederverwendet werden, da sie sowohl für Android als auch für PC gleich sind.
Namespace:PlayPcSdkManaged.Recall
Client-Klasse:RecallClient
Vorbereitung
Lesen Sie die Übersicht über die Recall API der Play Games-Dienste.
Schließen Sie die Einrichtung der Google Play Games-Dienste in der Play Console ab.
Play Games-Dienste-Projekt-ID im Manifest hinzufügen
Nachdem Sie die Einrichtung der Play Games-Dienste in der Play Console abgeschlossen haben, hat Ihr Spiel jetzt eine zugehörige Play Games-Dienste-Projekt-ID. Aktualisieren Sie mit dieser Projekt-ID, die Sie auf der Seite „Konfiguration der Play Games-Dienste“ “ in der Play Console finden, die Datei manifest.xml Ihres Spiels.
Beispiel für manifest.xml-Inhalte:
<?xml version="1.0" encoding="utf-8"?> <?Manifest version="1"> <?Application> <?PackageName>com.example.package<?/PackageName> <?PlayGamesServices> <?ProjectId>123456789<?/ProjectId> <?/PlayGamesServices> <?/Application> <?/Manifest>
Hinweis:Wenn Sie das PC SDK verwenden möchten, während Sie im Unity-Editor entwickeln, ohne die ausführbare Datei Ihres Spiels digital signieren oder sie über Google Play Games starten zu müssen. Weitere Schritte zur Manifestkonfiguration finden Sie im Einrichtungsleitfaden für den Entwicklermodus.
Client erstellen
Verwenden Sie immer die Factory, um einen RecallClient zu erstellen. So wird sichergestellt, dass Unity-sichere Callbacks automatisch registriert werden.
using UnityEngine; using System; using System.Threading.Tasks; // Required SDK Namespaces using PlayPcSdkManaged.Recall; using PlayPcSdkManaged.Unity; public class RecallManager : MonoBehaviour { private RecallClient _recallClient; public void SetupRecall() { try { // Creates the client with the required UnityRecallCallbacksHandler _recallClient = PlayPcSdkFactory.CreateRecallClient(); Debug.Log("Recall Client created successfully."); } catch (Exception ex) { Debug.LogError($"Failed to create Recall Client: {ex.Message}"); } } private void OnDestroy() { // Always dispose of the client to clean up native C++ resources _recallClient?.Dispose(); } }
Recall-Zugriff anfordern
Wenn Ihr Spiel einen Anmeldevorgang verarbeitet, z. B. ein In-Game
Konto hinzufügt, fordern Sie mit
RequestRecallAccessAsync Zugriff auf Recall an.
Dieser Aufruf gibt eine Sitzungs-ID zurück, die von Ihrem Backend verwendet wird, um serverseitige Aufrufe an Google zu senden, um Ihre In-Game-Konten mit einem Play Games-Dienste-Nutzer zu verknüpfen und die Verknüpfung aufzuheben.
public async Task RequestRecallAccessAsync() { try { Debug.Log("Requesting Recall access..."); // Async call to retrieve the session ID var result = await _recallClient.RequestRecallAccessAsync(); if (result.IsOk) { // On success, access the RecallSessionId var sessionId = result.Value.RecallSessionId; Debug.Log($"Recall Access Granted! Session ID: {sessionId}"); // Pass 'sessionId' to your backend server to process account linking } else { // Handle expected API errors (e.g., Error) Debug.LogError($"Request Failed: {result.Code} - {result.ErrorMessage}"); } } catch (Exception ex) { Debug.LogException(ex); } }
Recall-Sitzungs-ID verarbeiten
Sobald Ihr Spiel die Recall-Sitzungs-ID hat und sie an Ihren Backend-Gameserver übergeben wurde, verwenden Sie die serverseitigen REST APIs der Play Games-Dienste, um Folgendes zu tun:
- Mit
recall.retrieveTokensnach vorhandenen verknüpften In-Game-Konten suchen - Mit
recall.linkPersonaverknüpfte In-Game-Konten hinzufügen oder aktualisieren - Mit verknüpften In-Game-Konten löschen
recall.unlinkPersona
Eine ausführlichere Anleitung zur serverseitigen Einbindung finden Sie in der Dokumentation zur Verwendung der Recall API auf Ihrem Gameserver.