Permite que los usuarios accedan a tu juego sin problemas y sigue usando tu propio sistema de cuentas. Con las APIs de Recall de Play Games Services, puedes vincular cuentas dentro del juego con una cuenta de Play Games Services. Luego, cuando un usuario juegue tu juego en diferentes dispositivos (o en el mismo dispositivo después de reinstalarlo), consultarás la cuenta vinculada en el juego y optimizarás el flujo de acceso.
Si realizaste la integración con las APIs de Recall de Android, estas APIs de Recall te resultarán familiares. Las integraciones del servidor con la función de Recuperación de los Servicios de juego de Play se pueden reutilizar en los títulos para PC, ya que son las mismas en Android y PC.
Espacio de nombres: PlayPcSdkManaged.Recall
Clase de cliente: RecallClient
Requisitos previos
Lee la descripción general de la API de Recall de Servicios de Play Games.
Completa la configuración de los Servicios de juego de Google Play en Play Console.
Agrega el ID de tu proyecto de los Servicios de juego de Play en el manifiesto
Después de completar la configuración de los Servicios de Play Games en Play Console, tu juego ahora tiene un ID de proyecto de los Servicios de Play Games asociado. Con este ID del proyecto, que se encuentra en la página Configuración de los Servicios de Play Games en Play Console, actualiza tu manifest.xml del juego.
Contenido de manifest.xml de ejemplo:
<?xml version="1.0" encoding="utf-8"?> <?Manifest version="1"> <?Application> <?PackageName>com.example.package<?/PackageName> <?PlayGamesServices> <?ProjectId>123456789<?/ProjectId> <?/PlayGamesServices> <?/Application> <?/Manifest>
Nota: Si quieres usar el SDK para PC mientras desarrollas en el editor de Unity sin necesidad de firmar digitalmente el ejecutable del juego ni iniciarlo desde Google Play Juegos. Para conocer los pasos de configuración adicionales del manifiesto, consulta la guía de configuración del modo de desarrollador.
Crea el cliente
Siempre usa la fábrica para crear un RecallClient. Esto garantiza que las devoluciones de llamada seguras para Unity se registren automáticamente.
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(); } }
Cómo solicitar acceso a Recuperación
Cuando tu juego controle un flujo de acceso, por ejemplo, cuando agregue una cuenta en el juego, solicita acceso a Recall con RequestRecallAccessAsync.
Esta llamada devuelve un ID de sesión que tu backend usa para realizar llamadas del servidor a Google para vincular y desvincular tus cuentas del juego con un usuario de los Servicios de Play Games.
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); } }
Procesa el ID de sesión de Recall
Una vez que tu juego tenga el ID de sesión de Recall y lo haya pasado a tu servidor de juegos de backend, usa las APIs de REST del servidor de Play Juegos para hacer lo siguiente:
- Consulta las cuentas existentes vinculadas en el juego con
recall.retrieveTokens. - Agrega o actualiza las cuentas vinculadas en el juego con
recall.linkPersona - Borra las cuentas vinculadas en el juego con
recall.unlinkPersona
Para obtener una guía más detallada sobre la integración del servidor, consulta la documentación sobre cómo usar la API de Recall en tu servidor de juegos.