Google Play Juegos se encuentra en versión beta abierta.

Optimización y compatibilidad de Google Play Juegos para PCs

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Google Play Juegos requiere que modifiques tu juego para la optimización y compatibilidad con PCs. Estos cambios garantizan que el juego pueda ejecutarse en una PC y que la experiencia del usuario esté optimizada en la plataforma.

Además, Google Play Juegos tiene requisitos de gráficos, entrada de dispositivos y juegos multidispositivo. Para obtener más información, consulta la guía de introducción.

Cuando realices cambios de optimización y compatibilidad para PCs (aparte de la compatibilidad con x86), podrás configurar tu juego para que detecte Google Play Juegos y, luego, inhabilitar o habilitar funciones específicas de la plataforma. De esta manera, podrás usar el mismo APK o paquete de aplicación en las versiones de Android para PC y dispositivos móviles.

A continuación, se presenta un resumen de los requisitos y las recomendaciones de esta página:

Cómo incluir la arquitectura ABI x86

Obligatorio para el proceso de lanzamiento

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 las 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 objetivos en Unity

Algunas versiones de Unity 2019 y 2020 no admiten la arquitectura x86 en Android. Asegúrate de usar Unity 2019.4.31f1, 2020.3.19f1 o una versión posterior.

Si el juego usa una versión compatible del motor de juego de Unity, haz lo siguiente para habilitar los objetivos de x86/x86-64 de Android:

  1. 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.

  2. Habilita los objetivos de x86 de Android 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 2019 y versiones posteriores: ve a Player Settings > Other Settings > Target Architectures y habilita x86 (ChromeOS) y x86-64 (ChromeOS).

Para maximizar la compatibilidad con motores de juego, te recomendamos que habilites la compatibilidad con x86 y x86-64, o solo x86-64, para que no te limite un espacio de memoria de 32 bits.

Dado que Unity 2018 solo admite objetivos x86, puedes omitir la compatibilidad con x86-64. Sin embargo, no puedes lanzar esa compilación en Android debido al requisito de 64 bits. En ese caso, debes mantener una compilación independiente para Google Play Juegos.

Cómo detectar 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. El juego es visible cuando un jugador activa 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

Algunos elementos de la IU y gestos no son adecuados para PCs y deben actualizarse.

Obligatorio:

  • Reemplaza las acciones de la IU que necesiten dos o más dedos (gestos de varios toques). Por ejemplo, debes reemplazar la función de pellizcar para hacer zoom y otros gestos de varios toques por la entrada del mouse y del teclado correspondiente. Para obtener más información sobre los cambios de entrada en los dispositivos, consulta Compatibilidad con entradas.

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 en las que los usuarios pueden desplazarse deben tener barras de desplazamiento o alguna otra manera de recorrer grandes distancias rápidamente.
  • No muestres un teclado en pantalla en el que se pueda hacer clics para ingresar 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 un 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 antes los mostrabas, debes actualizar el juego para que ya no los muestre en las PCs.

Funciones y permisos de Android no compatibles

Obligatorio para el proceso de lanzamiento

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, el juego no debe depender de funciones ni permisos de Android no compatibles. En una PC, si el juego solicita acceso a un permiso no compatible, la solicitud falla automáticamente.

Para que el juego sea compatible con las PCs, se requieren los siguientes cambios:

  • En el manifiesto de la app, agrega android:required="false" a la declaración <uses-feature> para todas las funciones que no admita Google Play Juegos. Esto solo se aplica a las funciones ya declaradas en el manifiesto de la app.

  • Inhabilita las funciones del juego que dependan de funciones de hardware y software no compatibles en las PCs. Si usas el mismo APK que el juego para dispositivos móviles, puedes inhabilitarlos de forma condicional en las PCs.

  • 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 PCs, y no debes realizar cambios en los permisos que se declararon en el manifiesto.

Para obtener más información acerca de la compatibilidad con el manifiesto de la app, consulta la guía sobre compatibilidad con el manifiesto de la app para Chromebook.

Requisitos de las pruebas funcionales

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 sobre compatibilidad con el manifiesto de la app para Chromebook.

Requisitos de las pruebas de calidad

Estas funciones de hardware de uso general no son compatibles con las PCs, 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

Permisos no compatibles

Los siguientes permisos de uso general no se admiten en PCs, por lo que el juego debe inhabilitarlos para Google Play Juegos:

  • 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
  • android.permission.RECEIVE_BOOT_COMPLETED

Sitios web externos y WebViews

Un intent del navegador se cargará en el navegador web nativo de la PC, en lugar de uno en el entorno de Google Play Juegos. Esta es una experiencia ideal para los jugadores en la mayoría de las situaciones.

Para facilitar la portabilidad, Google Play Juegos admite WebView. Como este comando se abre en el entorno de Google Play Juegos, no contará con el típico navegador para computadoras. 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.

Cómo inhabilitar las APIs de Google Play Service que no son compatibles

Obligatorio para el proceso de lanzamiento

Google Play Juegos incluye su propia variante de los Servicios de Google Play, que solo contiene un subconjunto de las APIs de Servicios de Google Play. 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, estos módulos están disponibles y son compatibles con Google Play Juegos, así como planes de compatibilidad con funciones adicionales:

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.

No compatibles

Estos módulos no son compatibles con Google Play Juegos, pero no causan problemas cuando fallan:

Comportamiento inesperado

Obligatorio para el proceso de lanzamiento

No debes usar estos módulos en PCs porque pueden provocar un comportamiento inesperado en Google Play Juegos.

Cómo habilitar el almacenamiento específico

Obligatorio para el proceso de lanzamiento

Esta sección se aplica si el juego lee o escribe en un almacenamiento externo. Se requiere aplicar el almacenamiento específico como una manera alternativa de leer y escribir el almacenamiento. 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 inhabilitar los anuncios para dispositivos móviles en la versión para PC del juego

Obligatorio para el proceso de lanzamiento

A fin de optimizar tu juego para PCs, debes inhabilitar los anuncios para dispositivos móviles en la versión para PC, ya que no son compatibles. Esto incluye todas las unidades de anuncios que proporcionan los SDKs 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 del juego. De todos modos, puedes conservar los anuncios para dispositivos móviles en ChromeOS.

Para quitar los anuncios para dispositivos móviles, debes seguir 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 esto se aplica a los juegos, debes migrar a Google Analytics 4.

Esto solo debería afectar al juego si actualmente usas Google Analytics 360. Si usas el SDK de Firebase para realizar un seguimiento de los eventos de Analytics en el juego y puedes verlo como una propiedad en la consola de Google Analytics, no es necesario que tomes medidas adicionales.