Consenti agli utenti di accedere facilmente al tuo gioco continuando a utilizzare il tuo sistema di account. Con le API Recall di Google Play Games Services puoi collegare gli account di gioco a un account Google Play Games Services. Quando un utente gioca al tuo gioco su dispositivi diversi (o sullo stesso dispositivo dopo averlo reinstallato), puoi eseguire una query sull'account di gioco collegato e semplificare la procedura di accesso.
Se hai eseguito l'integrazione con le API Recall di Android, queste API ti risulteranno familiari. Tutte le integrazioni lato server con Recall di Play Games Services possono essere riutilizzate dai titoli per PC, poiché sono le stesse sia su Android sia su PC.
Spazio dei nomi: PlayPcSdkManaged.Recall
Classe client: RecallClient
Prerequisiti
Leggi la panoramica dell'API Recall di Play Games Services.
Completa la configurazione di Google Play Games Services in Play Console.
Aggiungi l'ID progetto di Play Games Services nel manifest
Dopo aver completato la configurazione di Play Games Services in Play Console, il tuo gioco ha ora un ID progetto di Play Games Services associato. Utilizza questo ID progetto,
che si trova nella pagina Configurazione di Play Games Services
in Play Console,
per aggiornare il file manifest.xml del gioco.
Esempio di contenuti 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 factory per creare un RecallClient. In questo modo, i callback sicuri per Unity vengono registrati 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(); } }
Richiedi l'accesso a Recall
Quando il gioco gestisce una procedura di accesso, ad esempio l'aggiunta di un account di gioco, richiedi l'accesso a Recall utilizzando
RequestRecallAccessAsync.
Questa chiamata restituisce un ID sessione utilizzato dal backend per effettuare chiamate lato server a Google per collegare e scollegare gli account di gioco a 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 Recall
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:
- Eseguire una query sugli account di gioco collegati esistenti utilizzando
recall.retrieveTokens - Aggiungere o aggiornare gli account di gioco collegati utilizzando
recall.linkPersona - Eliminare gli account di gioco collegati utilizzando
recall.unlinkPersona
Per una guida più dettagliata sull'integrazione lato server, consulta la documentazione su come utilizzare l'API Recall all'interno del server di gioco.