Optimización y compatibilidad con PCs para Google Play Juegos para PC

Google Play Juegos para PC 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 para PC tiene requisitos de gráficos, entrada de dispositivos y juego 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-64), podrás configurar tu juego para que detecte Google Play Juegos para PC, 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-64

Obligatorio para el proceso de lanzamiento

Todas las bibliotecas incluidas en el juego deben tener versiones compatibles con ABI x86-64 para garantizar un rendimiento y una estabilidad óptimos en la plataforma.

Si técnicamente es inviable que tu juego envíe un ejecutable x86 de 64 bits, debes comunicarte con el equipo de revisión para obtener una excepción. Si bien el juego no puede obtener la certificación completa, con una excepción, se puede colocar en el catálogo como un juego "jugable".

Compilación de la biblioteca

Para garantizar la máxima compatibilidad con el procesador x86-64, no utilices el conjunto de instrucciones de Atom cuando compiles las bibliotecas. Por ejemplo, cuando uses gcc, evita usar -march=atom y, en su lugar, usa -march=x86-64.

Arquitectura de objetivos en Unity

Algunas versiones de Unity 2019 y 2020 no admiten la arquitectura x86-64 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-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-64 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. Dado que Unity 2018 solo admite objetivos x86, no podrás compilar x86-64. Esta compilación requerirá una excepción del equipo de revisión. Comunícate con tu contacto de Google para solicitar una excepción de x86.

    • Asistencia a largo plazo (LTS) de Unity 2019 y versiones posteriores: Ve a Player Settings > Other Settings > Target Architectures y habilita x86-64 (ChromeOS).

Cómo detectar Google Play Juegos para PC

Puedes detectar la plataforma de Google Play Juegos para PC 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 para PC:

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 para PC. 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 correspondientes. 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 clic 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.

Inhabilita la mayoría de los diálogos de permisos

A excepción del permiso del micrófono, Google Play Juegos para PC no muestra diálogos de permisos, por lo que no debes intentar mostrarlos ni solicitar permisos durante el tiempo de ejecución. Si antes mostrabas los diálogos de permisos, 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

Algunas funciones de hardware comunes en teléfonos celulares y tablets no están disponibles en PCs. Esto incluye funciones de hardware, como la cámara o la ubicación del jugador. Los juegos que requieran funciones faltantes no se pueden descargar ni instalar en la PC del jugador. Las solicitudes por funciones faltantes en una PC fallan automáticamente.

Para ver una lista completa de las funciones disponibles, escribe lo siguiente:

adb shell pm list features

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

  • Marca las funciones como opcionales en el manifiesto de tu app. Para ello, agrega android:required="false" a la declaración <uses-feature>. Esto solo se aplica a las funciones ya declaradas en el manifiesto de la app.

  • No intentes usar las funciones que faltan durante el tiempo de ejecución. Si usas el mismo APK en los segmentos para PCs y para dispositivos móviles, detecta el entorno de PC durante el tiempo de ejecución y evita las instrucciones de código relevantes.

  • No solicites permisos de Android no compatibles durante el tiempo de ejecución. Si usas el mismo APK en los segmentos para PCs y para dispositivos móviles, detecta el entorno de PC durante el tiempo de ejecución y evita las instrucciones de código relevantes. No es necesario que actualices 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

Algunas de estas funciones pueden mostrarse como compatibles cuando se ejecuta pm list features por razones de compatibilidad, pero no están implementadas por completo. Puedes obtener más información sobre cómo 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.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 para PC:

  • android.permission.ACCESS_COARSE_LOCATION
  • android.permission.ACCESS_FINE_LOCATION
  • android.permission.ACCESS_WIFI_STATE
  • android.permission.BLUETOOTH
  • android.permission.CAMERA
  • android.permission.FOREGROUND_SERVICE
  • android.permission.GET_ACCOUNTS
  • android.permission.INSTALL_PACKAGES
  • android.permission.READ_CONTACTS
  • android.permission.READ_EXTERNAL_STORAGE
  • android.permission.READ_PHONE_STATE
  • android.permission.RECEIVE_BOOT_COMPLETED
  • android.permission.REQUEST_INSTALL_PACKAGES
  • android.permission.SYSTEM_ALERT_WINDOW
  • android.permission.USE_CREDENTIALS
  • android.permission.WRITE_EXTERNAL_STORAGE
  • android.permission.WRITE_SETTINGS
  • com.google.android.gms.permission.ACTIVITY_RECOGNITION

Sitios web externos y WebViews

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

Para facilitar la portabilidad, Google Play Juegos para PC admite WebView. Como este comando se abre en el entorno de Google Play Juegos para PC, 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 Servicios de Google Play que no son compatibles

Obligatorio para el proceso de lanzamiento

Google Play Juegos para PC 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 para PC.

Módulos compatibles

Por el momento, estos módulos están disponibles y son compatibles con Google Play Juegos para PC. Además, tenemos planes de agregar 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 para PC, pero no podemos garantizar su funcionalidad.

No compatibles

Estos módulos no son compatibles con Google Play Juegos para PC, 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 para PC.

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:

Analytics

Los productos heredados de Google Analytics no funcionan en Google Play Juegos para PC. Si esto se aplica a tus 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.