Migra a la versión 2 de los Servicios de juego de Play (Unity)

En este documento, se describe cómo migrar juegos existentes del SDK de games v1 al SDK de games v2. El complemento de Play Juegos para Unity, versiones 10 y anteriores, usa la versión 1 del SDK de juegos.

Antes de comenzar

  • Asegúrate de haber configurado Play Console y de haber instalado Unity Hub.

Descarga el complemento de Google Play Juegos para Unity

Para aprovechar las funciones más recientes de los Servicios de Play Juegos, descarga e instala la versión más reciente del complemento. Descárgalo desde el repositorio de GitHub.

Cómo quitar el complemento anterior

En Unity Hub, quita las siguientes carpetas o archivos.

Assets/GooglePlayGames

Assets/GeneratedLocalRepo/GooglePlayGames

Assets/Plugins/Android/GooglePlayGamesManifest.androidlib

Assets/Plugins/Android
Quita las carpetas destacadas en tu proyecto de Unity.
Quita las carpetas destacadas de tu proyecto de Unity (haz clic para ampliar).

Importa el nuevo complemento a tu proyecto de Unity

Para importar el complemento a tu proyecto de Unity, sigue estos pasos:

  1. Abre tu proyecto de juego.
  2. En Unity Hub, haz clic en Assets > Import Package > Custom Package para importar el archivo unitypackage descargado a los recursos de tu proyecto.
  3. Asegúrate de que tu plataforma de compilación actual esté configurada como Android.

    1. En el menú principal, haz clic en Archivo > Configuración de compilación.

    2. Selecciona Android y haz clic en Switch Platform.

    3. Deberías ver un nuevo elemento de menú en Window > Google Play Juegos. Si no existe, haz clic en Recursos > Actualizar para actualizar los elementos y, luego, intenta configurar la plataforma de compilación nuevamente.

  4. En Unity Hub, haz clic en File > Build Settings > Player Settings > Other Settings.

  5. En el cuadro Nivel de API objetivo, selecciona una versión.

  6. En el cuadro Backend de scripting, ingresa IL2CPP.

  7. En el cuadro Arquitecturas de destino, selecciona un valor.

  8. Ten en cuenta el nombre del paquete package_name.Puedes usar esta información más adelante.

    La configuración del reproductor en tu proyecto de Unity
    La configuración del reproductor en tu proyecto de Unity.
  9. Copia los recursos de Android desde Play Console

  10. Agrega los recursos de Android a tu proyecto de Unity

Actualiza el código de acceso automático

Reemplaza la clase de inicialización PlayGamesClientConfiguration por la clase PlayGamesPlatform.Instance.Authenticate(). No se requiere la inicialización ni la activación de PlayGamesPlatform. La llamada a PlayGamesPlatform.Instance.Authenticate() recupera el resultado del acceso automático.

C#

En Unity Hub, busca los archivos con la clase PlayGamesClientConfiguration.

using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine.SocialPlatforms;

public void Start() {
    PlayGamesClientConfiguration config =
        new PlayGamesClientConfiguration.Builder()
    // Enables saving game progress
    .EnableSavedGames()
    // Requests the email address of the player be available
    // will bring up a prompt for consent
    .RequestEmail()
    // Requests a server auth code be generated so it can be passed to an
    // associated backend server application and exchanged for an OAuth token
    .RequestServerAuthCode(false)
    // Requests an ID token be generated. This OAuth token can be used to
    // identify the player to other services such as Firebase.
    .RequestIdToken()
    .Build();

    PlayGamesPlatform.InitializeInstance(config);
    // recommended for debugging:
    PlayGamesPlatform.DebugLogEnabled = true;
    // Activate the Google Play Games platform
    PlayGamesPlatform.Activate();
}

Y actualízala a lo siguiente:

using GooglePlayGames;

public void Start() {
    PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
}

internal void ProcessAuthentication(SignInStatus status) {
    if (status == SignInStatus.Success) {
        // Continue with Play Games Services
    } else {
        // Disable your integration with Play Games Services or show a login
        // button to ask users to sign-in. Clicking it should call
        // PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
    }
}

Cómo elegir una plataforma social

Para elegir una plataforma de redes sociales, consulta Cómo elegir una plataforma de redes sociales.

Recupera los códigos de autenticación del servidor

Para obtener códigos de acceso del servidor, consulta cómo recuperar los códigos de autenticación del servidor.

Cómo quitar el código de salida

Quita el código de cierre de sesión. Los Servicios de juego de Play ya no requieren un botón de salida en el juego.

Quita el código que se muestra en el siguiente ejemplo:

C#

// sign out
PlayGamesPlatform.Instance.SignOut();

Cómo probar tu juego

Prueba tu juego para asegurarte de que funcione según lo previsto. Las pruebas que realices dependerán de las funciones del juego.

A continuación, se incluye una lista de pruebas comunes que se pueden ejecutar.

  1. Acceso correcto.

    1. El acceso automático funciona. El usuario debe acceder a los Servicios de juego de Play cuando inicie el juego.

    2. Se muestra la ventana emergente de bienvenida.

      Ventana emergente de bienvenida de muestra.
      Ejemplo de ventana emergente de bienvenida (haz clic para agrandar).

    3. Se muestran los mensajes de registro correctos. Ejecuta el siguiente comando en la terminal:

      adb logcat | grep com.google.android.

      En el siguiente ejemplo, se muestra un mensaje de registro exitoso:

      [$PlaylogGamesSignInAction$SignInPerformerSource@e1cdecc
      number=1 name=GAMES_SERVICE_BROKER>], returning true for shouldShowWelcomePopup.
      [CONTEXT service_id=1 ]
  2. Garantiza la coherencia de los componentes de la IU.

    1. Las ventanas emergentes, las tablas de clasificación y los logros se muestran de forma correcta y coherente en varios tamaños y orientaciones de pantalla en la interfaz de usuario (IU) de los Servicios de juego de Play.

    2. La opción para salir no se ve en la IU de los Servicios de juego de Play.

    3. Asegúrate de poder recuperar el ID de jugador correctamente y, si corresponde, de que las capacidades del servidor funcionen según lo esperado.

    4. Si el juego usa la autenticación del servidor, prueba a fondo el flujo de requestServerSideAccess. Asegúrate de que el servidor reciba el código de autorización y pueda intercambiarlo por un token de acceso. Prueba las situaciones de éxito y de error para los errores de red y las situaciones de client ID no válidas.

Si tu juego usaba alguna de las siguientes funciones, pruébalas para asegurarte de que funcionen igual que antes de la migración:

  • Tablas de clasificación: Envía puntuaciones y consulta las tablas de clasificación. Verifica que la clasificación y la visualización de los nombres y las puntuaciones de los jugadores sean correctas.
  • Logros: Desbloquea logros y verifica que se registren y muestren correctamente en la IU de Play Juegos.
  • Juegos guardados: Si el juego usa juegos guardados, asegúrate de que el progreso del juego se guarde y cargue sin problemas. Esto es especialmente importante para probar en varios dispositivos y después de las actualizaciones de la app.

Tareas posteriores a la migración

Completa los siguientes pasos después de migrar al SDK de juegos v2.

  1. Cómo usar la firma de apps de Play

  2. Crea un archivo AAB

  3. Crea una versión de prueba interna

  4. Verifica tus credenciales de firma de apps