Richiamo dei servizi per i giochi di Play

Consenti agli utenti di accedere facilmente al tuo gioco continuando a utilizzare il tuo sistema di account. Con le API Recall di Play Games Services puoi collegare gli account di gioco a un account Google Play Games Services. In questo modo, quando un utente gioca al tuo gioco su dispositivi diversi (o sullo stesso dispositivo dopo averlo reinstallato), puoi eseguire query sull'account di gioco collegato e semplificare il flusso di accesso.

Se hai eseguito l'integrazione con le API Android Recall, queste API Recall dovrebbero esserti familiari. Tutte le integrazioni lato server con il richiamo dei servizi per i giochi di Play possono essere riutilizzate dai titoli per PC, in quanto sono le stesse su Android e PC.

Spazio dei nomi: PlayPcSdkManaged.Recall

Client Class: RecallClient

Prerequisiti

Aggiungi l'ID progetto Play Games Services nel manifest

Dopo aver completato la configurazione di Play Games Services in Play Console, il tuo gioco ora ha un ID progetto di Play Games Services associato. Utilizzando questo ID progetto, che si trova all'interno della pagina di configurazione di Play Games Services in Play Console, aggiorna il file manifest.xml del tuo gioco.

Contenuti di esempio di 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>

Nota:se vuoi utilizzare l'SDK per PC durante lo sviluppo in Unity Editor senza dover firmare digitalmente l'eseguibile del gioco o avviarlo da Google Play Giochi. Per ulteriori passaggi di configurazione del manifest, consulta la guida alla configurazione della modalità sviluppatore.

Crea il client

Utilizza sempre la fabbrica per creare un RecallClient. In questo modo, le callback sicure per Unity vengono registrate automaticamente.

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

Richiedere l'accesso a Ricordo

Quando il gioco gestisce un flusso di accesso, ad esempio l'aggiunta di un account in-game, richiedi l'accesso a Recall utilizzando RequestRecallAccessAsync.

Questa chiamata restituisce un ID sessione utilizzato dal tuo backend per effettuare chiamate lato server a Google per collegare e scollegare i tuoi account in-game con un utente di Play Games Services.

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

Elabora l'ID sessione di richiamo

Una volta che il gioco ha l'ID sessione di Recall e lo ha passato al server di gioco di backend, utilizza le API REST lato server di Play Games per:

Per una guida più dettagliata che illustra l'integrazione lato server, consulta la documentazione che spiega come utilizzare l'API Recall nel server di gioco.