Cuando un usuario busca o examina apps para descargar en Google Play, los resultados se filtran en función de las aplicaciones compatibles con el dispositivo. Por ejemplo, si una app requiere una cámara, Google Play no la mostrará a los dispositivos que no tengan cámara. Este filtrado ayuda a los desarrolladores a administrar la distribución de sus apps y a garantizar la mejor experiencia para los usuarios.
En Google Play, el filtrado se basa en diversos tipos de metadatos de las apps y sus opciones de configuración, como las declaraciones de manifiesto, las bibliotecas requeridas, las dependencias de arquitectura y los controles de distribución configurados en Google Play Console (por ejemplo, la segmentación geográfica, la fijación de precios, etc.).
El filtrado de Google Play se basa en las declaraciones de manifiesto y otros aspectos del marco de trabajo de Android, pero los comportamientos de filtrado reales son diferentes de los del marco de trabajo y no se rigen según niveles de API específicos. En este documento, se especifican las reglas actuales de filtrado que utiliza Google Play.
Cómo funcionan los filtros en Google Play
Google Play usa las restricciones de filtrado que se describen a continuación para determinar si se va a mostrar tu app a un usuario que examina o busca aplicaciones en la app de Google Play.
Para determinar si se va a mostrar tu app, Google Play revisa los requisitos de hardware y software del dispositivo, el proveedor, la ubicación y otras características. Luego, los compara con las restricciones y dependencias que se expresan en el archivo de manifiesto de la app y los detalles de publicación.
Si la app es compatible con el dispositivo, de acuerdo con las reglas de filtrado, Google Play la muestra al usuario. De lo contrario, Google Play la oculta de los resultados de la búsqueda y la exploración de categorías aunque el usuario solicite específicamente la aplicación mediante un clic en un vínculo directo que apunte directamente al ID de la app dentro de Google Play.
Puedes usar cualquier combinación de los filtros disponibles para tu app. Por ejemplo, puedes establecer un requisito minSdkVersion
de "4"
y configurar smallScreens="false"
en la app; luego, cuando subas la app a Google Play, podrás orientarla solamente a los países (proveedores) europeos. Entonces, los filtros de Google Play evitarán que la app esté disponible en un dispositivo que no cumpla con los tres requisitos.
Todas las restricciones de filtrado están asociadas con la versión de una app y puede haber diferencias entre versiones. Por ejemplo, si un usuario instaló tu app y publicas una actualización que permite que esté disponible para el usuario, este no verá que hay una actualización disponible.
Filtrado en el sitio web de Google Play
Cuando los usuarios examinan el sitio web de Google Play, pueden ver todas las apps publicadas. Sin embargo, el sitio web de Google Play compara los requisitos de la app con cada uno de los dispositivos registrados de los usuarios a fin de determinar si hay compatibilidad y solo les permite instalar la app si es compatible con sus dispositivos.
Cómo funcionan los filtros en función del manifiesto de la app
La mayoría de los filtros se activan mediante elementos que se encuentran dentro del archivo de manifiesto de la app: AndroidManifest.xml (aunque no todo lo que aparece dentro del archivo de manifiesto puede activar el filtrado). En la tabla 1, se muestran los elementos del manifiesto que deberías usar para activar el filtrado y se explica cómo funciona el filtrado para cada elemento.
Elemento del manifiesto | Nombre del filtro | Cómo funciona |
---|---|---|
<supports-screens>
|
Tamaño de la pantalla |
Para indicar los tamaños de pantalla con los que es compatible, una app establece atributos del elemento Como regla general, Google Play asume que la plataforma del dispositivo puede adaptar diseños más pequeños a pantallas más grandes, pero no puede adaptar diseños grandes a pantallas más pequeñas. Por lo tanto, si una app declara compatibilidad con el tamaño de pantalla "normal" únicamente, Google Play la muestra para dispositivos con pantallas normales y grandes, pero aplica un filtro a fin de que la app no esté disponible para dispositivos con pantalla pequeña. Si una app no declara atributos para
Ejemplo 1 Ejemplo 2 Ejemplo 3 Para obtener más información sobre cómo declarar la compatibilidad con los tamaños de pantalla en tu app, consulta |
<uses-configuration>
|
Configuración del dispositivo: teclado, navegación, pantalla táctil |
Una app puede requerir algunas funciones de hardware y Google Play mostrará la app únicamente a los dispositivos que tengan el hardware requerido. Ejemplo 1 Ejemplo 2 Si deseas obtener más información, consulta |
<uses-feature>
|
Funciones del dispositivo ( name ) |
Una app puede requerir que el dispositivo tenga ciertas funciones. Esta funcionalidad se introdujo en Android 2.0 (API nivel 5). Ejemplo 1 Ejemplo 2 Para obtener información completa, consulta Filtrado basado en funciones implícitas: En algunos casos, Google Play interpreta los permisos solicitados a través de elementos |
Versión de OpenGL ES ( openGlEsVersion ) |
Una aplicación puede requerir que el dispositivo sea compatible con una versión de OpenGL-ES específica mediante el atributo Ejemplo 1 Ejemplo 2 Ejemplo 3 Ejemplo 4 Si deseas obtener más información, consulta |
|
<uses-library> |
Bibliotecas de software | Una aplicación puede requerir que el dispositivo cuente con bibliotecas compartidas específicas. Ejemplo 1 Ejemplo 2 Si deseas obtener más información, consulta |
<uses-permission> |
En rigor, Google Play no filtra en función de los elementos En general, si una app requiere elementos relacionados con hardware, Google Play asume que la aplicación requiere las funciones de hardware subyacentes, aunque no se correspondan con los enunciados de Para obtener una lista de permisos que implican funciones de hardware, consulta la documentación relacionada con el elemento |
|
<uses-sdk> |
Versión mínima del marco de trabajo (minSdkVersion ) |
Una aplicación puede requerir un nivel de API mínimo. Ejemplo 1 Ejemplo 2 Como te conviene evitar este segundo caso, te recomendamos que siempre declares un atributo |
Versión máxima del marco de trabajo (maxSdkVersion ) |
Obsoleto. Android 2.1 y las versiones posteriores no verifican ni aplican el atributo No se recomienda declarar el atributo |
Filtros avanzados del manifiesto
Además de los elementos del manifiesto que se indican en la tabla 1, Google Play también puede filtrar apps en función de los elementos avanzados del manifiesto que se indican en la tabla 2.
Estos elementos del manifiesto y el filtrado que desencadenan se utilizan solo en casos excepcionales. Se diseñaron para ciertos tipos de juegos de alto rendimiento y apps similares que requieren controles estrictos de distribución de la app. No se deberían utilizar estos filtros en la mayoría de las apps.
Elemento del manifiesto | Resumen |
---|---|
<compatible-screens> |
Google Play filtra la app si el tamaño de pantalla del dispositivo no coincide con ninguna de las configuraciones de pantalla (declaradas por un elemento Precaución: Por lo general, no deberías usar este elemento del manifiesto. El uso de este elemento puede reducir notablemente la base de usuarios potenciales para tu aplicación, ya que se excluyen todas las combinaciones de tamaño de pantalla y densidad que no indicaste. En cambio, debes usar el elemento del manifiesto |
<supports-gl-texture> |
Google Play filtrará la aplicación, a menos que uno o más de los formatos de compresión de texturas GL compatibles con ella también sean compatibles con el dispositivo. |
Otros filtros
Google Play utiliza otras características de la aplicación para determinar si mostrará u ocultará una aplicación a un usuario específico o un dispositivo determinado, tal como se describe en la tabla a continuación.
Nombre del filtro | Cómo funciona |
---|---|
Estado de la publicación | Solo las apps publicadas aparecerán en las búsquedas y exploraciones en Google Play. Incluso cuando una app no esté publicada, se podrá instalar si los usuarios pueden visualizarla en el área de descargas entre las apps que compraron, instalaron o desinstalaron recientemente. Si se suspende una app, los usuarios no podrán volver a instalarla ni actualizarla aunque aparezca entre sus descargas. |
Estado del precio | No todos los usuarios pueden ver aplicaciones pagadas. Para mostrar aplicaciones pagadas, un dispositivo debe ejecutar Android 1.1 o una versión posterior, y debe encontrarse en un país en el que las apps estén disponibles. Si un dispositivo tiene una tarjeta SIM, el proveedor será quien determine si las aplicaciones pagadas estarán disponibles. Si un dispositivo no tiene una tarjeta SIM, la dirección IP del dispositivo se usa para determinar si se encuentra en un país en el que las aplicaciones pagadas están disponibles. |
Orientación por país | Cuando subes tu app a Google Play, puedes seleccionar los países en los que se distribuirá en Precios y distribución. La app solo estará disponible para los usuarios de los países que selecciones. |
Arquitectura de CPU (ABI) | Las apps que incluyen bibliotecas nativas orientadas a una arquitectura de CPU específica (por ejemplo: ARM EABI v7 o x86) se pueden visualizar en dispositivos que admiten esa arquitectura. Para obtener información detallada acerca del NDK y del uso de bibliotecas nativas, consulta ¿Qué es el NDK de Android? |
Apps protegidas contra copias | Google Play ya no admite la función Protección contra copias en Play Console y ya no filtra apps de acuerdo con esa función. Para proteger tu app, usa en su lugar Licencias de aplicaciones. Consulta Reemplazo de Protección contra copias para obtener más información. |
Publicación de múltiples APK con diferentes filtros
Algunos filtros específicos de Google Play te permiten publicar múltiples APK para la misma aplicación a fin de proporcionar un APK distinto para diferentes configuraciones de dispositivos. Por ejemplo, si estás creando un videojuego que utiliza recursos gráficos de alta fidelidad, te recomendamos que crees dos APK y que cada uno admita diferentes formatos de compresión de texturas. De esta manera, puedes reducir el tamaño del archivo APK incluyendo solo las texturas necesarias para la configuración de cada dispositivo. Según la compatibilidad de cada dispositivo con tus formatos de compresión de texturas, Google Play le proporcionará el APK que hayas declarado como compatible con ese dispositivo.
Actualmente, Google Play te permite publicar varios APK para la misma aplicación solo cuando cada APK proporciona diferentes filtros en función de las siguientes configuraciones:
- Formatos de compresión de texturas OpenGL
Mediante el elemento
<supports-gl-texture>
. - Tamaño de pantalla (y, opcionalmente, densidad de la pantalla)
Mediante el elemento
<supports-screens>
o<compatible-screens>
. - Nivel de API
Mediante el elemento
<uses-sdk>
. - Arquitectura de CPU (ABI)
Mediante bibliotecas nativas incorporadas con el NDK de Android que se orientan a una arquitectura de CPU específica (por ejemplo: ARM EABI v7 o x86)
Todos los otros filtros continúan funcionando de la forma habitual, pero estos cuatro son los únicos que pueden distinguir un APK de otro dentro del mismo directorio de la aplicación en Google Play. Por ejemplo, no puedes publicar múltiples APK para la misma aplicación si los APK solo difieren en función de si el dispositivo tiene cámara.
Precaución: La publicación de múltiples APK para la misma aplicación se considera una función avanzada y la mayoría de las aplicaciones debe publicar un solo APK que admita una amplia variedad de configuraciones de dispositivos. La publicación de varios APK requiere que sigas reglas específicas dentro de tus filtros y que prestes especial atención a los códigos de versión de cada APK a fin de garantizar las vías de actualización adecuadas para cada configuración.
Si necesitas más información acerca de cómo publicar varios APK en Google Play, lee Compatibilidad con varios APK.