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 juegos v1 al SDK de juegos v2. El complemento de Play Juegos para Unity, versiones 10 y anteriores, usa el SDK de juegos v1.

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 beneficiarte de las funciones más recientes de los Servicios de Play Juegos, descarga e instala la versión más reciente del complemento. Descarga desde el repositorio de GitHub.

Quita 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 de 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 File > Build Settings.

    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 Target API level, selecciona una versión.

  6. En el cuadro Backend de secuencias de comandos, ingresa IL2CPP.

  7. En el cuadro Target architectures, selecciona un valor.

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

    La configuración del jugador en tu proyecto de Unity
    La configuración del jugador en tu proyecto de Unity.
  9. Cómo copiar 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 es necesario inicializar ni activar PlayGamesPlatform. Si llamas a PlayGamesPlatform.Instance.Authenticate(), se recuperará 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.

Quita el código de salida

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

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

C#

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

Cómo probar tu juego

Prueba el juego para asegurarte de que funcione según lo diseñado. Las pruebas que realices dependen de las funciones del juego.

A continuación, se muestra una lista de pruebas comunes que se deben ejecutar.

  1. Acceso correcto.

    1. El acceso automático funciona. El usuario debe haber accedido a los Servicios de juego de Play cuando inicia el juego.

    2. Se muestra la ventana emergente de bienvenida.

      Ejemplo de ventana emergente de bienvenida.
      Ventana emergente de bienvenida de ejemplo (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 correcto:

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

    1. Las ventanas emergentes, las tablas de clasificación y los logros se muestran correctamente y de manera 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 correctamente el ID de jugador y, si corresponde, de que las funciones del servidor funcionen según lo esperado.

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

Si tu juego usaba alguna de las siguientes funciones, pruébalas para asegurarte de que funcionen de la misma manera 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 guardar y cargar el progreso del juego funcione sin problemas. Esto es muy importante para realizar pruebas 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. Cómo crear un archivo AAB

  3. Cómo crear una versión de prueba interna

  4. Verifica tus credenciales de firma de apps