Rückruf der Play-Spieldienste

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

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:

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