Skip to main content

Configuración de la autenticación de PlayFab con el inicio de sesión de Google Play Games en Unity

Requisitos previos

Introducción

En primer lugar, comenzamos configurando algunos elementos básicos en Google Play. Hay varias guías buenas sobre cómo realizar algunas de estas tareas, así que no vamos a reinventar la rueda.
  1. Cree una aplicación: si no tiene una aplicación creada, debe hacerlo en la Google Play Developer Console.
  2. Compile el AAB de su juego y cárguelo para pruebas internas. Puede seguir esta guía sobre cómo publicar la aplicación en el canal de pruebas internas. Durante el proceso de firma, tenga en cuenta que, para el paquete de aplicación, tiene que usar su propio almacén de claves para este fin. Consulte este documento sobre cómo crear un almacén de claves.
  3. Configure los servicios de Google Play Games siguiendo las instrucciones de esta página: Setting Up Google Play Games Services.
  4. Descargue el SDK de Google Play Games e instálelo.
  5. Instale el SDK de Unity de PlayFab (si no sabe cómo realizar esta tarea, siga la guía de inicio rápido de Unity3D).

Configuración de Google Play Games

Puede configurar Google Play Games desde el conjunto de herramientas que se instala con el SDK de Google Play Games. Puede acceder a estas herramientas de la siguiente manera:
  • Vaya a la pestaña Window.
  • Seleccione Google Play Games.
  • Vaya a Setup.
  • A continuación, acceda a Android Setup. Configuración de Google Play Games
  • Aparece la ventana de configuración de Android; en esta pantalla debemos escribir la definición de recursos y el identificador de cliente de la aplicación web. Pegar recursos de Android vacío

Obtención de la definición de recursos

  • Siga estos pasos para obtener la definición de recursos de Android.

Obtención del identificador de cliente de la aplicación web

Para que el inicio de sesión de Google funcione con PlayFab, debe usar un identificador de cliente web que puede obtener creando una credencial de identificador de cliente de OAuth para el tipo “Web application”. Antes de crear el identificador de cliente de OAuth, necesita conocer el punto de conexión de API de PlayFab, que puede encontrar siguiendo estos pasos:
  • Inicie sesión en Game Manager.
  • Seleccione su título.
  • Vaya a la configuración del título haciendo clic en el icono de engranaje situado junto al nombre del título y seleccione Title Settings. Configuración del título en PlayFab
  • Seleccione la pestaña API Features.
  • Copie el campo API endpoint. Escribir el punto de conexión de API en Google Play Developer Console
Ahora que conoce el punto de conexión de API de su título, siga los pasos descritos aquí para crear la credencial de identificador de cliente de OAuth.
  • Al crear el identificador de cliente, debe agregar el punto de conexión de API como Authorized JavaScript origin para su identificador de cliente. Orígenes de JavaScript autorizados
  • Además, asegúrese de agregar el URI de redireccionamiento de su propia aplicación como Authorized Redirect URI. Si no realiza este paso, obtendrá un error de mismatch redirect_uri. URI de redireccionamiento autorizados
Después de crear el identificador de cliente, verá una pantalla similar a la siguiente, en la que obtendrá la cadena del identificador de cliente generada y un secreto de cliente. Identificador de cliente de OAuth creado Ahora, puede volver a la ventana de configuración de Android en Unity y pegar el identificador de cliente en el cuadro de texto Client ID: Pegar el identificador de cliente Ahora que ambos valores están rellenados, puede seleccionar Setup: Configuración de Android completada

Configuración del inicio de sesión de Google en PlayFab

PlayFab tiene su propio proceso para configurar un inicio de sesión de Google. Puede realizar esta configuración en su cuenta de desarrollador de PlayFab. Si no tiene una, puede registrarse para obtener una cuenta de desarrollador gratuita. Para configurar Google en PlayFab:
  • Vaya a la sección Add-ons de su panel.
  • Vaya al complemento de Google.
  • Desde ahí, seleccione el botón Install Google.
Hay algunos datos que debe escribir en este formulario:
  • El Google App Package ID: este campo es el nombre de su paquete de Android. Por ejemplo, nuestro ejemplo usa com.playfab.gpgexample.
  • La Google App License Key: aunque este campo es obligatorio, no está relacionado con el inicio de sesión de Google. Este campo sirve para configurar la validación de recibos mediante nuestras API de validación de recibos.
Puede obtener esta clave de licencia en la Google Developer Console; vaya a su aplicación, en la sección Monetize. Seleccione la sección denominada Monetization Setup. Aquí, desplácese hacia abajo hasta que vea un cuadro de texto Licensing y copie y pegue la clave pública RSA codificada en Base64 en este campo.
  • El Google OAuth Client ID: el identificador de cliente web que usó en la configuración del SDK de Google Play Games en Unity.
  • El Google OAuth Client Secret: la clave secreta que obtuvo al crear el identificador de cliente de OAuth.
  • La Service Account Key: este campo espera una cadena JSON de clave de cuenta de servicio; debe crear una clave de cuenta de servicio siguiendo estos pasos. A continuación, cree credenciales para esa cuenta de servicio siguiendo los pasos indicados aquí. Después de obtener el archivo JSON de credenciales, pegue todo el contenido JSON en este campo.
La configuración del complemento debería tener este aspecto antes de guardar: Configuración del complemento de Google en PlayFab
Asegúrese de seleccionar Save Settings.

Adición del inicio de sesión de Google a su juego de Unity

El código para que funcione el inicio de sesión de Google es bastante mínimo. Está el código de inicialización, que se coloca en el método Start (o en cualquier lugar donde inicialice o arranque la aplicación). Este código puede estar en distintos lugares, según la arquitectura y el marco de su juego o aplicación. En cualquier caso, el código siguiente inicializa Google Play Games.
Asegúrese de no olvidar las instrucciones using, para poder usar el SDK de Google Play Games.
Analicemos exactamente lo que está sucediendo:
  • En primer lugar, iniciamos sesión con PlayGamesPlatform.Instance.Authenticate: esta función recibe como parámetro una función de devolución de llamada que controla el resultado y nos permite saber si el usuario pudo iniciar sesión correctamente en función del SignInStatus recibido.
  • Si no agrega su cuenta de prueba a la aplicación, el resultado de SignInStatus de la devolución de llamada siempre es Canceled durante las pruebas. Si se produce este problema, siga los pasos de esta guía para agregar evaluadores a su aplicación de Google.
La llamada a PlayGamesPlatform.Instance.Authenticate es lo que hará que aparezca el cuadro de diálogo de inicio de sesión de Google Play Games.
  • A continuación, si el inicio de sesión es correcto, realizamos una llamada a PlayGamesPlatform.Instance.RequestServerSideAccess, que recibe otra devolución de llamada y devuelve la cadena ServerAuthCode.
  • Después, realizamos la llamada PlayFabClientAPI.LoginWithGooglePlayGamesServices y pasamos el AuthCode que acabamos de obtener de Google como parámetro ServerAuthCode.
  • Por último, según el resultado de la llamada a LoginWithGooglePlayGamesServices, se llama a OnLoginWithGooglePlayGamesServicesSuccess o a OnLoginWithGooglePlayGamesServicesFailure; estas devoluciones de llamada son las que controlan el resultado de la operación de inicio de sesión en PlayFab. En este punto, debería ver un inicio de sesión correcto en su panel.
Esperamos que esta guía le haya resultado útil. Pero si tiene preguntas, no dude en plantearlas en nuestros foros de la comunidad.
Última modificación el 28 de agosto de 2026