Rückruf der Play-Spieldienste

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

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:

Eine ausführlichere Anleitung zur serverseitigen Integration finden Sie in der Dokumentation zur Verwendung der Recall API auf Ihrem Gameserver.