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.](https://developer.android.com/static/images/games/pgs/unityfolders.png?hl=es-419)
Importa el nuevo complemento a tu proyecto de Unity
Para importar el complemento a tu proyecto de Unity, sigue estos pasos:
- Abre tu proyecto de juego.
- En Unity Hub, haz clic en Assets > Import Package > Custom Package para importar el archivo
unitypackage
descargado a los recursos de tu proyecto. Asegúrate de que tu plataforma de compilación actual esté configurada como Android.
En el menú principal, haz clic en File > Build Settings.
Selecciona Android y haz clic en Switch Platform.
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.
En Unity Hub, haz clic en File > Build Settings > Player Settings > Other Settings.
En el cuadro Target API level, selecciona una versión.
En el cuadro Backend de secuencias de comandos, ingresa
IL2CPP
.En el cuadro Target architectures, selecciona un valor.
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.
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.
Acceso correcto.
El acceso automático funciona. El usuario debe haber accedido a los Servicios de juego de Play cuando inicia el juego.
Se muestra la ventana emergente de bienvenida.
Ventana emergente de bienvenida de ejemplo (haz clic para agrandar). 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 ]
Garantizar la coherencia de los componentes de la IU
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.
La opción para salir no se ve en la IU de los Servicios de juego de Play.
Asegúrate de poder recuperar correctamente el ID de jugador y, si corresponde, de que las funciones del servidor funcionen según lo esperado.
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 declient 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.