Permite que los usuarios accedan a tu juego sin inconvenientes mientras siguen usando tu propio sistema de cuentas. Con las APIs de recuperación de los Servicios de juego de Play, puedes vincular cuentas en el juego con una cuenta de los Servicios de juego de Google Play. Luego, cuando un usuario juega tu juego en diferentes dispositivos (o en el mismo dispositivo después de volver a instalarlo), puedes consultar la cuenta vinculada en el juego y optimizar el flujo de acceso.
Si realizaste la integración con las APIs de Android Recall, estas APIs de Recall deberían resultarte familiares. Los títulos para PC pueden volver a usar cualquier integración del servidor con la recuperación de los Servicios de juego de Play, ya que son iguales en Android y PC.
Requisitos previos
Completa la configuración del SDK.
Lee la descripción general de la API de Recall de los Servicios de juego de Play.
Completa la configuración de los Servicios de juego de Google Play en Play Console.
Paso 1: Agrega el ID de tu proyecto de los Servicios de Play Juegos en el manifiesto
Después de completar la configuración de los Servicios de juego de Play en Play Console, tu juego ahora tiene un ID de proyecto de los Servicios de juego de Play asociado. Usa este ID de proyecto, que se encuentra en la página Configuración de los Servicios de juego de Play en Play Console, para actualizar el manifest.xml
de tu 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>
Paso 2: Solicita acceso de recuperación cuando accedas
Cuando tu juego controle un flujo de acceso, por ejemplo, cuando agregues una cuenta en el juego, solicita acceso de recuperación con GamesRecallClient::RequestRecallAccess()
.
Esta llamada muestra un ID de sesión que usa tu backend para realizar llamadas del servidor a Google para vincular y desvincular tus cuentas en el juego con un usuario de los Servicios de juego de Play.
auto promise = std::make_shared<std::promise<RecallAccessResult>>();
games_recall_client.RequestRecallAccess(params, [promise](RecallAccessResult result) {
promise->set_value(std::move(result));
});
auto recall_access_result = promise->get_future().get();
if (recall_access_result.ok()) {
auto recall_session_id = recall_access_result.value().recall_session_id;
// Pass the recall session ID to your backend game server so it can query
// for an existing linked in-game account.
// - If you discover an existing linked in-game account, continue to sign-in
// the in-game account. This provides a seamless cross-device sign-in
// experience.
// - If there is not an existing linked in-game account, when the user
// completes the sign-in using your in-game account system record the
// account linking with Play Games Services Recall. This helps to provide
// a seamless cross-device sign-in experience when the user returns on a
// different device or after re-installing your game on the same device.
} else {
// Handle the error
}
Paso 3: Procesa el ID de sesión de recuperación
Una vez que tu juego tenga el ID de sesión de Recall y lo haya pasado al servidor de juegos de backend, usa las APIs de REST del servidor de los Servicios de juego de Play para lo siguiente:
- Cómo consultar las cuentas vinculadas existentes en el juego con
recall.retrieveTokens
- Agrega o actualiza cuentas vinculadas en el juego con
recall.linkPersona
- Borra las cuentas vinculadas en el juego con
recall.unlinkPersona
Si quieres 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.