Wycofanie usług gier Play

Umożliwia płynne logowanie użytkowników w grze przy jednoczesnym korzystaniu z własnego systemu kont. Interfejsy Recall API w usługach Gier Google Play umożliwiają łączenie kont w grze z kontem w usługach Gier Google Play. Gdy użytkownik gra w Twoją grę na różnych urządzeniach (lub na tym samym urządzeniu po ponownym zainstalowaniu gry), możesz wysłać zapytanie o połączone konto w grze i uprościć proces logowania.

Jeśli masz zintegrowane interfejsy Recall API na Androidzie, te interfejsy Recall API powinny być Ci znane. Wszystkie integracje po stronie serwera z funkcją wycofywania usług gier Play można ponownie wykorzystać w przypadku gier na PC, ponieważ są one takie same na Androidzie i PC.

Przestrzeń nazw: PlayPcSdkManaged.Recall

Klasa klienta: RecallClient

Wymagania wstępne

Dodawanie identyfikatora projektu usług gier Play do pliku manifestu

Po zakończeniu konfigurowania usług gier Play w Konsoli Play Twoja gra będzie miała powiązany identyfikator projektu usług gier Play. Używając tego identyfikatora projektu, który znajdziesz na stronie konfiguracji usług Gier Play w Konsoli Play, zaktualizuj manifest.xml w swojej grze.

Przykładowa zawartość manifest.xml:

<?xml version="1.0" encoding="utf-8"?>
<?Manifest version="1">
   <?Application>
     <?PackageName>com.example.package<?/PackageName>
     <?PlayGamesServices>
          <?ProjectId>123456789<?/ProjectId>
     <?/PlayGamesServices>
   <?/Application>
<?/Manifest>

Uwaga: jeśli chcesz używać pakietu SDK na PC podczas tworzenia w edytorze Unity bez konieczności podpisywania cyfrowo pliku wykonywalnego gry ani uruchamiania jej w Grach Play Google. Dodatkowe kroki konfiguracji pliku manifestu znajdziesz w przewodniku po konfiguracji trybu programisty.

Tworzenie klienta

Zawsze używaj fabryki do tworzenia RecallClient. Dzięki temu bezpieczne wywołania zwrotne Unity są rejestrowane automatycznie.

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();
    }
}

Prośba o dostęp do funkcji Przywołaj

Gdy gra obsługuje proces logowania, np. dodawanie konta w grze, poproś o dostęp do funkcji Recall za pomocą kodu RequestRecallAccessAsync.

To wywołanie zwraca identyfikator sesji, który jest używany przez backend do wykonywania wywołań po stronie serwera do Google w celu połączenia i rozłączenia kont w grze z użytkownikiem usług Gier Play.

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);
    }
}

Przetwarzanie identyfikatora sesji wycofania

Gdy gra uzyska identyfikator sesji Recall i przekaże go do backendowego serwera gry, użyj interfejsów API REST usług Gier Play po stronie serwera, aby:

Bardziej szczegółowy przewodnik dotyczący integracji po stronie serwera znajdziesz w dokumentacji, która zawiera informacje o tym, jak używać interfejsu Recall API na serwerze gry.