Google Play Juegos requiere que agregues compatibilidad y optimizaciones para PC a tu juego. Además de estos cambios, también debes actualizar la configuración de gráficos del juego para garantizar la compatibilidad con las PC.
Consulta los requisitos mínimos de PC para que los usuarios instalen la plataforma y configuren tu máquina de desarrollo.
Cómo incluir la arquitectura ABI x86
Todas las bibliotecas incluidas en el juego deben tener versiones compatibles con ABI x86 para garantizar un rendimiento y una estabilidad óptimos en la plataforma. Google Play Juegos admite tanto la versión de 32 bits como la de 64 bits, pero solo debes elegir una para cumplir con el requisito.
Compilación de la biblioteca
Para garantizar la máxima compatibilidad con el procesador x86, no utilices el conjunto de instrucciones de Atom cuando compiles tus bibliotecas. Por ejemplo, cuando uses gcc
, evita usar el elemento -march=atom
y, en su lugar, utiliza -march=x86
o -march=x86-64
.
Arquitectura de destino en Unity
Si el juego usa un motor de juego de Unity, debes habilitar los destinos de Android x86 de 32 bits. Para hacerlo, haz lo siguiente en Unity:
Ve a Player Settings > Other Settings > Configuration > Scripting Backend y selecciona IL2CPP en el menú desplegable para habilitar el backend de secuencias de comandos IL2CPP.
Habilita destinos de Android x86 de 32 bits para tu versión de Unity:
Unity 2018 y versiones anteriores: Ve a Player Settings > Other Settings > Target Architecture y selecciona la casilla de verificación x86.
Asistencia a largo plazo (LTS) de Unity de 2019 y versiones posteriores: Ve a Player Settings > Other Settings > Target Architectures y habilita x86 (Chrome OS y x86-64 (Chrome OS).
Para maximizar la compatibilidad con motores de juego, te recomendamos habilitar la compatibilidad con x86 y x86-64, o solo x86-64, para que no estés limitado por un espacio de memoria de 32 bits.
Cómo detectar la plataforma de Google Play Juegos
Puedes detectar la plataforma de Google Play Juegos en el tiempo de ejecución, lo que te permite habilitar o inhabilitar funciones específicas de la plataforma en tu juego.
Busca la función com.google.android.play.feature.HPE_EXPERIENCE
del sistema para determinar si tu juego se ejecuta en la plataforma de Google Play Juegos:
Kotlin
var isPC = packageManager.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
Java
PackageManager pm = getPackageManager(); boolean isPC = pm.hasSystemFeature("com.google.android.play.feature.HPE_EXPERIENCE")
C#
var unityPlayerClass = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); var currentActivity = unityPlayerClass.GetStatic<AndroidJavaObject>("currentActivity"); var packageManager = currentActivity.Call<AndroidJavaObject>("getPackageManager"); var isPC = packageManager.Call<bool>("hasSystemFeature", "com.google.android.play.feature.HPE_EXPERIENCE");
Cómo controlar eventos de ciclo de vida de Android
Es importante controlar el evento onPause
(c++) en el entorno de Google Play Juegos. Tu juego será visible cuando un jugador active la superposición del emulador, por lo que si no se escucha el evento onPause
, la experiencia del usuario podría ser deficiente.
Cómo actualizar la IU para la compatibilidad con PC
Algunos elementos de la IU y gestos no son adecuados en PC y deben actualizarse.
Obligatorio:
- Reemplaza las acciones de la IU que necesiten dos o más dedos (p. ej., "pellizcar para hacer zoom").
Recomendado:
- Todo el texto que vea el usuario debe decir "Haz clic" en lugar de "Presiona".
- Las listas desplazables deben tener barras de desplazamiento.
- Las áreas con desplazamiento lateral deben tener barras de desplazamiento o alguna otra manera de recorrer grandes distancias con rapidez.
- No muestres un teclado en pantalla en el que se pueda hacer clic para la entrada de texto.
Todas las entradas de texto deben estar dentro de los límites del campo de texto.
Requisitos para clics en elementos visibles:
- Se debe aceptar el clic en cualquier lugar dentro de los límites visibles del elemento.
- No se debe aceptar el clic en el área fuera del elemento visible.
Los diálogos deben tener un botón de cierre visible. No se debe detectar el clic fuera de los límites del diálogo.
Cómo inhabilitar los diálogos de permisos
Google Play Juegos no muestra diálogos de permisos, por lo que no debes intentar mostrarlos antes de solicitar permisos. Si ya los mostrabas, debes actualizar tu aplicación para que ya no los muestre en la PC.
Funciones y permisos de Android no compatibles
En una PC, no se podrá acceder a algunas funciones de Android disponibles en teléfonos celulares o tablets, lo que incluye funciones de hardware (por ejemplo, la cámara) y de otro tipo, como la ubicación del usuario. Como resultado, tu juego no debe depender de funciones o permisos de Android no compatibles. En una PC, si tu juego solicita acceso a un permiso no compatible, la solicitud falla automáticamente.
Para que tu juego sea compatible con las PC, se requieren los siguientes cambios:
- En el manifiesto de tu app, agrega
android:required="false"
a la declaración<uses-feature>
para todas las funciones que no admita Google Play Juegos. Esto se aplica solo a las funciones ya declaradas en el manifiesto de tu app. - Inhabilita funciones del juego que dependan de funciones de hardware y software no compatibles en las PC. Si usas el mismo APK que tu juego para dispositivos móviles, puedes inhabilitarlos, de manera condicional, para las PC.
- Inhabilita en el juego las solicitudes de permisos de Android no compatibles y las funciones que dependen de esos permisos. Si usas el mismo APK que tu juego para dispositivos móviles, puedes realizar estos cambios, de manera condicional, para las PC, y no debes realizar cambios en los permisos que se declararon en el manifiesto.
Para obtener más información sobre la compatibilidad con manifiestos de apps, consulta nuestra guía sobre compatibilidad con manifiestos de apps para Chromebook.
Quita estas funciones de hardware antes de enviar la primera compilación de prueba a Google Play Console:
android.hardware.wifi
android.hardware.bluetooth
android.hardware.camera
android.hardware.location
android.hardware.microphone
Puedes obtener más información para quitar la función android.hardware.wifi
en Cómo supervisar el estado de conectividad y la medición de la conexión.
Para obtener una lista completa de las funciones no compatibles, consulta la guía de compatibilidad con manifiestos de apps.
Estas funciones de hardware de uso general no son compatibles con las PC, por lo que debes quitarlas antes de enviar la versión final a Google Play Console:
android.hardware.audio.pro
android.hardware.bluetooth
android.hardware.camera
android.hardware.consumerir
android.hardware.location
android.hardware.microphone
android.hardware.nfc
android.hardware.sensor.light
android.hardware.sensor.accelerometer
android.hardware.sensor.barometer
android.hardware.sensor.compass
android.hardware.sensor.gyroscope
android.hardware.sensor.proximity
android.hardware.telephony
android.hardware.touchscreen
android.hardware.usb.accessory
android.hardware.usb.host
android.hardware.wifi
android.software.midi
Los siguientes permisos de uso general no se admiten en PC:
android.permission.FOREGROUND_SERVICE
android.permission.INSTALL_PACKAGES
android.permission.READ_PHONE_STATE
android.permission.USE_CREDENTIALS
android.permission.CAMERA
android.permission.ACCESS_FINE_LOCATION
android.permission.ACCESS_COARSE_LOCATION
android.permission.WRITE_SETTINGS
android.permission.REQUEST_INSTALL_PACKAGES
android.permission.SYSTEM_ALERT_WINDOW
android.permission.READ_CONTACTS
com.google.android.gms.permission.ACTIVITY_RECOGNITION
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
android.permission.GET_ACCOUNTS
android.permission.RECORD_AUDIO
Sitios web externos y WebViews
Un intent del navegador se cargará en el navegador web nativo de una PC, en lugar de uno en el entorno de Google Play Juegos. Esto brinda una experiencia ideal para los jugadores en la mayoría de los casos.
Para facilitar la portabilidad, Google Play Juegos admite WebView. Dado que este paso se abre en el entorno de Google Play Juegos, no contará con la experiencia del usuario típica del navegador de escritorio. Si anteriormente usabas WebView
para compartir las Condiciones del Servicio, la Política de Privacidad o algún otro contenido similar, debes invocar un intent del navegador.
Inhabilita las API de Google Play Service que no son compatibles
Google Play Juegos incluye su propia variante de los Servicios de Google Play, que solo contiene un subconjunto de las API de Google Play Service. Debes comprobar que tu aplicación no depende en gran medida de módulos que se omiten o que no son compatibles en PC. Ten en cuenta que es posible que algunos módulos estén disponibles, pero que sus funcionalidades no se admitan en todo momento. Por ejemplo, Firebase Cloud Messaging no funcionará cuando se cierre Google Play Juegos.
Módulos compatibles
Por el momento, lo siguientes módulos están disponibles y serán compatibles con Google Play Juegos en el futuro.
- Acceso con Google (no incluye transferencia de cuenta, SmartLock, verificación por SMS ni cálculo de la complejidad de contraseña)
- Cronet
- Servicios de juego de Google Play
- Tasks
- Visión
- Google Pay
Compatibilidad limitada
Los siguientes módulos son funcionales de manera parcial. Haremos todo lo posible para que sean compatibles con Google Play Juegos, pero no podemos garantizar su funcionalidad.
- Google AdMob (anuncios para dispositivos móviles, ID del anuncio)
- Google Cloud Messaging (obsoleto, se recomienda usar Firebase Cloud Messaging)
- Firebase Authentication (la autenticación del número de teléfono no funciona)
- Firebase Cloud Messaging
- Bibliotecas comunes de Firebase
- AA de Firebase
- Firebase Remote Config
- Firebase Analytics
No compatibles
Estos módulos no son compatibles con Google Play Juegos, pero no generan problemas en la plataforma cuando fallan:
- Google Analytics (obsoleto, se recomienda usar Firebase Analytics)
- Google Cast
- API de Awareness
- Drive (obsoleto; se quitará pronto)
- FIDO
- Firebase Realtime Database
- Firestore
- Firebase A/B Testing
- Google Fit
- API de Address
- API de Instant Apps
- API de Location
- SDK de Google Maps
- Nearby
- Panorámica
- Places
- Google+
- SafetyNet (obsoleto; completa el formulario de interés para habilitar la próxima API de Play Integrity)
- Google Tag Manager
- Wear OS
Dañados
No debes usar estos módulos, ya que pueden causar comportamientos inesperados en Google Play Juegos.
Cómo habilitar el almacenamiento específico
Esta sección se aplica si el juego lee el almacenamiento externo o escribe en él. Se requiere aplicar el almacenamiento específico como una manera alternativa para leer el almacenamiento y escribir en él. De esta manera, no es necesario solicitarle al jugador estos permisos sensibles:
android.permission.READ_EXTERNAL_STORAGE
android.permission.WRITE_EXTERNAL_STORAGE
Consulta lo siguiente para obtener más información sobre el almacenamiento específico:
- Cómo habilitar el almacenamiento específico
- Prácticas recomendadas para controlar archivos que no son de contenido multimedia
Cómo inhabilitar los anuncios para dispositivos móviles en la versión para PC del juego
A fin de optimizar tu juego para PC, debes inhabilitar los anuncios para dispositivos móviles en la versión para PC, ya que no son compatibles con las computadoras de escritorio y laptops. Esto incluye todos los bloques de anuncios que brindan los SDK de anuncios para dispositivos móviles. No es necesario que realices ningún cambio en los anuncios de la versión para dispositivos móviles del juego. Te recomendamos que uses marcas de funciones a fin de limitar los cambios solo a la versión para PC de tu juego. Aún puedes conservar los anuncios para dispositivos móviles en Chrome OS.
Para quitar los anuncios para dispositivos móviles, sigue estos pasos:
- Inhabilita todos los bloques de anuncios para dispositivos móviles, incluidos los banners, los anuncios intersticiales y los anuncios recompensados.
- Inhabilita las funciones del juego que dependan de los anuncios recompensados. Por ejemplo, se puede desactivar o quitar por completo el botón de una función que les permite a los usuarios ver un anuncio de video para ganar monedas del juego.
Analytics
Los productos heredados de Google Analytics no funcionan en Google Play Juegos. Si este es tu caso, debes hacer la migración a Google Analytics 4.
Esto solo debería afectarte si actualmente usas Google Analytics 360. Si empleas el SDK de Firebase para realizar un seguimiento de los eventos de Analytics en tu juego y puedes verlo como una propiedad en la consola de Google Analytics, no es necesario que tomes medidas adicionales.