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
Leggi la panoramica dell'API Play Games Services Recall.
Completa la configurazione di Google Play Games Services in Play Console.
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:
- Esegui query per gli account in-game collegati esistenti utilizzando
recall.retrieveTokens - Aggiungi o aggiorna gli account di gioco collegati utilizzando
recall.linkPersona - Elimina gli account in-game collegati utilizzando
recall.unlinkPersona
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.