Identidad y vinculación de cuentas

Usa la autenticación de los Servicios de juego de Google Play para optimizar la experiencia de autenticación de la plataforma del usuario en tu juego. Inicializa el SDK de los Servicios de juego de Play para activar la autenticación, lo que elimina la necesidad de un flujo de autenticación de plataforma independiente.

Vincula cuentas de usuario para habilitar la continuidad y el juego en varios dispositivos

Los jugadores disfrutan sus juegos favoritos en una variedad de dispositivos y plataformas, incluidos dispositivos móviles, tablets y PCs. Una expectativa fundamental de estos jugadores es la capacidad de reanudar sin problemas su juego exactamente donde lo dejaron, independientemente del dispositivo que elijan.

Un obstáculo importante que suele provocar que los usuarios abandonen el proceso es el requisito de acceder por separado en cada dispositivo nuevo. Los usuarios necesitan una inmersión inmediata en la experiencia de juego, sin interrupciones innecesarias.

Para facilitar la continuidad y la jugabilidad multidispositivo sin problemas, debes implementar dos funciones clave:

El proceso de autenticación de los Servicios de juego de Play proporciona opciones flexibles para los identificadores de jugadores. Estas opciones te permiten integrar los Servicios de juego de Play en tu propia solución de identidad existente.

Nueva integración de los Servicios de juego de Play

En el caso de los juegos sin integración existente de los Servicios de juego de Play, la API de Recall simplifica la configuración del backend, ya que administra las asociaciones de cuentas y almacena la conexión entre la cuenta de juego de un usuario y su cuenta de los Servicios de juego de Play.

Vinculación de cuentas con la API de Recall

La API de Recall es la solución recomendada para vincular cuentas de usuario en juegos multiplataforma. Esta API es especialmente útil para los juegos que no tienen una integración existente de los Servicios de juego de Play o que usan soluciones de autenticación de plataformas adicionales más allá de los Servicios de juego de Play.

La API de Recall simplifica la configuración del backend de tu juego, ya que administra las asociaciones de cuentas.

  • Backend simplificado: La API optimiza la configuración del backend de tu juego para la vinculación de cuentas.
  • Asociaciones administradas por Play: Play almacena la asociación entre las cuentas de juego de los usuarios (incluidas las cuentas de terceros) y sus cuentas de los Servicios de juego de Play.
  • Restablecimiento del progreso: Los desarrolladores generan y envían tokens de Recall a Play, que luego se pueden recuperar para restablecer el progreso del juego de un usuario.

Cuando implementen la API de Recall, los desarrolladores deben verificar que los tokens de Recall sean cadenas opacas. Estos tokens no deben incluir información sensible ni de identificación personal (como el nombre, la dirección de correo electrónico o los datos demográficos) sobre los jugadores.

Los juegos deben usar algoritmos de encriptación sólidos cuando generen tokens de recuperación para proteger los datos del usuario y mantener la seguridad.

Para obtener más información sobre cómo funciona Recall, consulta la API de Recall .

Para implementar la función de la API de Recall, consulta Cómo integrar la API de Recall de los Servicios de juego de Play en tu juego.

Administra varias cuentas con la API de Recall

Cuando administres varias cuentas para el mismo usuario, puedes tratar cada cuenta como un personaje distinto. Este enfoque permite ofrecer experiencias personalizadas según el contexto específico del usuario.

Para implementar este enfoque, sigue estos pasos:

Si bien hay varias opciones de políticas disponibles (como restablecer automáticamente la última cuenta), recomendamos mostrarle un mensaje al usuario. Esta instrucción debe pedirle al usuario que seleccione la cuenta que desea restablecer, lo que proporcionará una experiencia clara y fácil de usar.

Integración existente de los Servicios de juego de Play

En esta sección, se explica cómo integrar tu juego con los Servicios de juego de Play vinculando cuentas de jugadores. Obtén información para usar IDs de jugador para identificar a los jugadores autenticados y administrar varias cuentas de juegos para un solo usuario de los Servicios de juego de Play.

Vincula con un Player_id

Un ID de jugador es un identificador para una cuenta de jugador de los Servicios de juego de Play. Tu juego puede recuperar un ID de jugador para cualquier usuario que se autentique en tu juego con los Servicios de juego de Play.

Los juegos que tienen el backend configurado con los Servicios de juego de Play Player_Id o los juegos que requieren compatibilidad con usuarios menores de edad deben usar Player_Id y vincular sus cuentas de juegos y de terceros con Player_Id.

Comprende cómo se comportan los IDs de jugador:

  • Coherente dentro de un juego: El ID de jugador sigue siendo el mismo para un usuario en varios dispositivos cuando juega el mismo juego.
  • Incoherencia entre juegos: Los IDs de jugador no siempre son coherentes cuando un usuario juega diferentes juegos.

Para obtener más información, consulta IDs de jugador de nueva generación.

Administra varias cuentas por usuario con la vinculación

Para vincular varias cuentas de usuario a una sola cuenta de los Servicios de juego de Play, crea una asignación de uno a varios en tu tabla.

Identidad de Google multiplataforma con Acceder con Google

Acceder con Google (SiwG) es la solución de identidad principal de Google que permite a los desarrolladores de juegos recibir de forma segura la información del perfil de sus jugadores: su nombre, dirección de correo electrónico y foto de perfil.

Un beneficio clave de Acceder con Google es su amplia disponibilidad en todas las plataformas, incluidas la Web, Android y iOS. Proporciona una experiencia de acceso rápida, segura y familiar que los jugadores ya conocen y en la que confían.

Vincula con el campo sub del token de ID de Google

Para crear una experiencia fluida en todas las plataformas, puedes implementar una estrategia de autenticación que vincule el sistema de cuentas de tu juego a un identificador único de la Cuenta de Google. Este enfoque aprovecha la autenticación optimizada de los Servicios de juego de Play en Android y usa el SDK estándar de Acceder con Google en otras plataformas, como iOS y la Web.

La clave de esta estrategia es el campo sub del token de ID de Google. El campo sub (o "sujeto") es un identificador único y persistente para la cuenta de un usuario de Google. Usarás este ID como "puente" para vincular todas las sesiones de un jugador a una sola cuenta de juego en tu backend.

Este es el flujo general:

  • En Android: Tu juego inicializa el SDK de los Servicios de juego de Play para activar la autenticación automáticamente en dispositivos Android. Configuras tu integración de los Servicios de juego de Play v2 para solicitar los tres alcances de acceso: email, profile y openid. Estos son los mismos permisos que solicita un SDK estándar de Acceder con Google. Esto te permite recuperar un token de ID que contiene el campo sub del jugador.
  • En la Web y en iOS: Tu juego usa los SDKs estándar de Acceder con Google para la Web y de Acceder con Google para iOS y macOS. Cuando el usuario accede, el SDK de SiwG proporciona un token de ID que también contiene el campo sub del usuario.
  • Vinculación de la cuenta: Debido a que el usuario accede con la misma Cuenta de Google en ambas plataformas, el campo sub que recibes será idéntico. Luego, puedes vincular con confianza este valor de sub a tu ID de usuario interno en tu solución de identidad, lo que crea una experiencia del usuario unificada.

Integración en Android

En Android, usarás el SDK de los Servicios de juego de Google Play como el punto de integración principal. La clave es configurar tu cliente de acceso de los Servicios de juego de Google Play para que solicite los permisos de acceso adicionales. Esto te permite recuperar un código de autorización del servidor, que tu backend puede intercambiar por un token de ID que contenga la información del usuario, incluido el campo sub único.

En términos generales, la implementación implica lo siguiente:

  1. Configura IDs de cliente en un proyecto unificado: Antes de realizar la integración, debes configurar los Servicios de juego de Play en Google Play Console para obtener tus IDs de cliente de OAuth 2.0.

  2. Configura los Servicios de juego de Play: Antes de comenzar, primero deberás agregar tu juego en Google Play Console y, luego, integrar la autenticación de la plataforma de los Servicios de juego de Play a tu juego.

  3. Agrega un botón de Acceder con Google: En la página de acceso o en la pantalla de configuración del usuario del juego, agrega un botón de "Acceder con Google". Este botón activará el flujo de acceso o registro. Cuando crees este botón, te recomendamos que sigas los lineamientos de desarrollo de la marca para el Acceso con Google. Como mínimo, el botón debe mostrar claramente "Google" o "Acceder con Google". El vínculo a los lineamientos también proporciona recursos de UX descargables que son compatibles y se pueden usar en tu juego.

  4. Solicita el código de Auth del servidor con los alcances de acceso: Cuando el jugador hace clic en el botón, tu juego solicita un código de Auth del servidor de un solo uso. El paso más importante es configurar esta solicitud para que incluya los siguientes alcances de acceso: EMAIL, PROFILE y OPEN_ID.

    La forma en que configures esto dependerá de tu entorno de desarrollo:

  5. Intercambia el código de autorización y verifica el token de ID en el backend: Envía el código de autorización del paso anterior a tu servidor de backend. En el servidor, sigue la guía del flujo de intercambio de códigos de OAuth 2.0 estándar para intercambiar el código por un token de ID, un token de acceso y un token de actualización. Como se describe en la guía, debes verificar el token de ID en tu servidor.

  6. Vincula el campo sub: Una vez que se verifique correctamente el token de ID, extrae el campo sub de su carga útil. Usa este valor de sub como la clave única para la identidad de Google en tu solución de identidad.

    • Si este valor de sub ya existe en tu base de datos, significa que el usuario ya vinculó su cuenta. Haz que acceda a su cuenta de juego correspondiente.

    • Si este valor de sub no existe, puedes crear una nueva cuenta de usuario en el sistema de cuentas de tu juego asociada a este sub o vincularla a una cuenta de usuario existente en tu sistema de cuentas haciendo coincidir la información del usuario (como la dirección de correo electrónico) proporcionada en el ID Token.

Integración en iOS, la Web y otras plataformas

En las plataformas que no sean Android, iOS, la Web o PC, usarás los SDKs estándares de Acceder con Google. El objetivo es el mismo que el del flujo de Android: obtener de forma segura un token de ID de Google, enviarlo a tu backend y usar el campo sub para vincular la cuenta.

En términos generales, la implementación implica lo siguiente:

  1. Integración del cliente: Sigue la documentación oficial para integrar el SDK de Sign in with Google en tu plataforma. En estas guías, se abarca el flujo completo del cliente, desde la renderización de un botón de acceso con Google hasta la recuperación del token de ID.

  2. Lógica de backend: Envía el token de ID (o el código de autorización) a tu backend. Luego, tu servidor realiza la misma verificación y lógica de vinculación del campo sub que se describen en los pasos 4 y 5 de la sección "Integración en Android".

Dado que el campo sub de todos estos flujos de Acceder con Google es idéntico al que se recupera del flujo de los Servicios de juego de Google Play en Android (para la misma Cuenta de Google), este proceso vincula correctamente la cuenta del usuario en todas las plataformas.