Nutzer können sich nahtlos in Ihrem Spiel anmelden, während Sie Ihr eigenes Kontosystem weiterhin verwenden. Mit den Recall APIs der Play-Spieldienste können Sie In-Game-Konten mit einem Google Play-Spieldienste-Konto verknüpfen. Wenn ein Nutzer Ihr Spiel dann auf verschiedenen Geräten spielt (oder auf demselben Gerät nach der Neuinstallation), fragen Sie das verknüpfte In-Game-Konto ab und optimieren den Anmeldevorgang.
Wenn Sie die Android Recall APIs bereits eingebunden haben, sollten Ihnen diese Recall APIs bekannt sein. Alle serverseitigen Integrationen mit Play-Spieldienste-Recall können für PC-Titel wiederverwendet werden, da sie sowohl auf Android als auch auf dem PC gleich sind.
Namespace:PlayPcSdkManaged.Recall
Client-Klasse:RecallClient
Voraussetzungen
Lesen Sie die Übersicht zur Play Games Services Recall API.
Schließen Sie die Einrichtung der Google Play-Spieldienste in der Play Console ab.
Fügen Sie die Projekt-ID für Play Games-Dienste im Manifest hinzu.
Nachdem Sie die Einrichtung der Play-Spieldienste in der Play Console abgeschlossen haben, ist Ihrem Spiel eine Play-Spieldienste-Projekt-ID zugewiesen. Aktualisieren Sie die manifest.xml Ihres Spiels mit dieser Projekt-ID, die Sie in der Play Console auf der Konfigurationsseite der Play-Spieldienste finden.
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 bei der Entwicklung im Unity-Editor verwenden möchten, ohne die ausführbare Datei Ihres Spiels digital signieren oder es ü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 ein RecallClient zu erstellen. So werden Unity-kompatible Rückrufe automatisch registriert.
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(); } }
Zugriff auf Recall anfordern
Wenn in Ihrem Spiel ein Anmeldevorgang ausgeführt wird, z. B. wenn ein Konto im Spiel hinzugefügt wird, fordern Sie den Recall-Zugriff mit RequestRecallAccessAsync 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-Spieldienste-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-Spielserver übergeben wurde, können Sie die serverseitigen Play Games-REST-APIs verwenden, um:
- Mit
recall.retrieveTokensnach vorhandenen verknüpften In-Game-Konten suchen - Verknüpfte In-Game-Konten über
recall.linkPersonahinzufügen oder aktualisieren - Verknüpfte In-Game-Konten über
recall.unlinkPersonalöschen
Eine ausführlichere Anleitung zur serverseitigen Integration finden Sie in der Dokumentation zur Verwendung der Recall API auf Ihrem Gameserver.