Calidad de la app principal

Los usuarios de Android esperan apps de alta calidad. La calidad de la app afecta directamente el éxito a largo plazo de tu app en términos de instalaciones, calificación y reseñas de los usuarios, interactividad y retención del usuario.

Este documento te ayuda a evaluar los aspectos básicos de calidad en tu app mediante un conjunto compacto de criterios de calidad y pruebas relacionadas para la app principal. Todas las apps para Android deben cumplir esos criterios.

Antes de publicar tus apps, somételas a prueba de acuerdo con estos criterios para garantizar que funcionen bien en diferentes dispositivos, cumplan las normas de Android para navegación y diseño, y estén preparadas para las oportunidades de promoción en Google Play Store. Tu prueba deberá abarcar más de lo que se describe aquí; este documento tiene como objetivo especificar las características de calidad fundamentales que todas las apps deben exhibir, de modo que puedas incluirlas en tus pruebas.

Si estás creando apps para tablets o Google Play for Education, hay criterios de calidad adicionales que debes considerar y que se definen en las pautas de Calidad de las apps para tablets y en las pautas para Educación .

Diseño visual e interacción del usuario

Estos criterios permiten que te asegures de que tu app proporcione patrones estándar de diseño visual e interacción para Android, cuando corresponda, a fin de garantizar una experiencia de usuario uniforme e intuitiva.

Área ID Descripción Pruebas
Diseño estándar UX-B1

La app cumple con las pautas de Diseño Android y utiliza patrones e íconos de IU comunes:

  1. La app no redefine la función prevista de un ícono del sistema (como el botón Atrás).
  2. La app no reemplaza un ícono del sistema con un ícono completamente diferente si este activa el comportamiento estándar de la IU.
  3. Si la app proporciona una versión personalizada de un ícono estándar del sistema, el ícono debe parecerse al ícono estándar del sistema y desencadenar el comportamiento estándar del sistema.
  4. La app no redefine ni utiliza de forma inadecuada patrones de la IU de Android, de modo que los íconos o los comportamientos pudieran desorientar o confundir a los usuarios.
CR-all
Navegación UX-N1

La app admite la navegación estándar del sistema con el botón Atrás y no utiliza avisos personalizados en pantalla para el "botón Atrás".

CR-3
UX-N2

Todos los diálogos pueden descartarse con el botón Atrás.

CR-3
UX-N3 Al presionar el botón de inicio en cualquier momento, se navega a la pantalla principal del dispositivo. CR-1
Notificaciones UX-S1

Las notificaciones siguen las pautas de Diseño Android. En especial:

  1. Se deben agrupar múltiples notificaciones en un solo objeto de notificación, cuando sea posible.
  2. Las notificaciones solo son recurrentes si están relacionadas con eventos actuales (como la reproducción de música o una llamada telefónica).
  3. Las notificaciones no contienen publicidad ni contenido que no esté relacionado con la función central de la app, a menos que el usuario lo permita.
CR-11
UX-S2

La app utiliza notificaciones únicamente para lo siguiente:

  1. Indicar un cambio de contexto relacionado con el usuario (como un mensaje recibido) o
  2. Exponer información/controles relacionados con un evento actual (como la reproducción de música o una llamada telefónica).
CR-11

Recursos relacionados

Funcionalidad

Estos criterios garantizan que tu app proporcione el comportamiento funcional previsto con el nivel adecuado de permisos.

Área ID Descripción Pruebas
Permisos FN-P1 La app solicita solo la cantidad mínima absoluta de permisos necesarios para respaldar la funcionalidad central. CR-11
FN-P2

La app no solicita permisos para acceder a datos confidenciales (como contratos o el registro del sistema) ni a servicios que puedan costarle dinero al usuario (como Teléfono o SMS), a menos que esté relacionado con una capacidad central de la app.

Ubicación de la instalación FN-L1

La app funciona normalmente cuando se la instala en una tarjeta SD (si la app lo admite).

Se recomienda admitir la instalación en tarjetas SD para las apps más grandes (10MB+). Consulta la guía para desarrolladores Ubicación de la instalación de la app para obtener información acerca de los tipos de apps que deben admitir la instalación en tarjetas SD.

SD-1
Audio FN-A1 No se reproduce audio cuando la pantalla está apagada, a menos que sea una función central (por ejemplo, la app es un reproductor de música). CR-7
FN-A2 No se reproduce audio cuando la pantalla está bloqueada, a menos que sea una función central. CR-8
FN-A3 No se reproduce audio en la pantalla principal ni cuando está activa otra app, a menos que sea una función central. CR-1,
CR-2
FN-A4 La reproducción de audio continúa cuando la app regresa a primer plano, o le indica al usuario que la reproducción está pausada. CR-1, CR-8
IU y gráficos FN-U1

La app admite tanto la orientación horizontal como vertical (si fuera posible).

Las orientaciones exponen ampliamente las mismas funciones y acciones, y conservan la paridad funcional. Se aceptan cambios mínimos en el contenido o las vistas.

CR-5
FN-U2

La app utiliza toda la pantalla en ambas orientaciones y no usa formato de pantalla ancha para compensar los cambios de orientación.

Se acepta el uso mínimo de formato de pantalla ancha para compensar pequeñas variaciones en la geometría de la pantalla.

CR-5
FN-U3

La app resuelve correctamente las transiciones rápidas entre las orientaciones de la pantalla sin presentar problemas.

CR-5
Estado del usuario/la app FN-S1

La app no debe dejar ningún servicio en ejecución mientras se encuentre en segundo plano, a menos que se relacione con una capacidad central de la app.

Por ejemplo, la app no debe dejar servicios en ejecución para mantener una conexión de red para recibir notificaciones, para mantener una conexión Bluetooth ni para mantener el GPS activado.

CR-6
FN-S2

La app preserva y restaura correctamente el estado del usuario o la app.

La app preserva el estado del usuario o la app cuando abandona el primer plano y evita la pérdida accidental de datos a causa de la navegación hacia atrás y otros cambios de estado. Cuando regresa al primer plano, la app debe restaurar el estado preservado y toda transacción de estado importante que haya quedado pendiente, como cambios en campos editables, el progreso de un juego, menús, videos y otras secciones de la app o el juego.

  1. Cuando se reanuda la app desde el conmutador de Apps recientes, la app regresa al usuario al estado exacto en que se encontraba la última vez que este la utilizó.
  2. Cuando se reanuda la app después de la reactivación del dispositivo (después de haber estado bloqueado), la app regresa al usuario al estado exacto en que se encontraba la última vez que este la utilizó.
  3. Cuando se reinicia desde el inicio o Todas las apps, la app restaura el estado de la app al estado anterior con la mayor precisión posible.
  4. Cuando se presiona Atrás, la app le da la opción al usuario de guardar el estado de la app o el usuario que, de lo contrario, se perdería al navegar hacia atrás.
CR-1, CR-3, CR-5

Recursos relacionados

Rendimiento y estabilidad

Estos criterios garantizan que las apps proporcionen el rendimiento, la estabilidad y la capacidad de respuesta que los usuarios esperan.

Área ID Descripción Pruebas
Estabilidad PS-S1 La app no falla, no impone el cierre, no se inmoviliza ni funciona de ningún otro modo anormal en ninguno de los dispositivos donde esté instalada. CR-all, SD-1, HA-1
Rendimiento PS-P1 La app se carga rápidamente o le proporciona al usuario información en pantalla (un indicador de progreso o una señal similar) en caso de que demore más de dos segundos en cargarse. CR-all, SD-1
PS-P2 Cuando StrictMode está activado (consulta Prueba StrictMode, a continuación), no hay destellos rojos (advertencias de rendimiento de StrictMode) visibles al ejecutar la app, incluso durante un juego, transiciones de animaciones y la IU, y cualquier otra parte de la app. PM-1
Batería PS-B1 La app admite funciones de administración de energía en Android 6.0+ (Descanso y App Standby) correctamente. Cuando se interrumpe la funcionalidad central por la gestión de energía, solo apps calificadas pueden solicitar una exención. BA-1
Medios PS-M1 La reproducción de música y video es uniforme, sin quiebres, intermitencias ni otros defectos durante el uso y la carga normales de la app. CR-all, SD-1, HA-1
Calidad visual PS-V1

La app muestra gráficos, texto, imágenes y otros elementos de la IU sin distorsión, esfumado ni pixelado notables.

  1. La app ofrece gráficos de alta calidad para todos los tamaños de pantalla y formatos admitidos, incluidos aquellos para dispositivos con pantallas más grandes como las tablets.
  2. No se observa suavizado en los bordes de los menús, los botones ni otros elementos de la IU.
CR-all
PS-V2

La app muestra texto y bloques de texto de forma aceptable.

  1. Se acepta la composición en todos los formatos admitidos, incluidos aquellos para dispositivos con pantallas más grandes como las tablets.
  2. No se visualizan letras ni palabras cortadas.
  3. No se visualizan ajustes automáticos de línea incorrectos en botones ni íconos.
  4. Hay espacio suficiente entre el texto y los elementos que lo rodean.

Recursos relacionados

Google Play

Estos criterios garantizan que tus apps estén listas para su publicación en Google Play.

Área ID Descripción Pruebas
Políticas GP-P1 La app cumple estrictamente con los términos de la Política de contenido para programadores de Google Play y no ofrece contenido inapropiado, no utiliza propiedad intelectual ni marcas de otros, etc. GP-all
GP-P2

El nivel de madurez de la app se establece de forma correcta en función de las Pautas de calificación de contenido.

GP-1
GP-P3

La app admite funciones de administración de energía en Android 6.0+ (Descanso y App Standby) correctamente. Cuando se interrumpe la funcionalidad central por la gestión de energía, solo apps calificadas pueden solicitar una exención. Consulta Compatibilidad con otros casos de uso en Descanso y App Standby.

GP-4
Página de detalles de la aplicación GP-D1

El gráfico central de la app sigue las pautas que se describen en esta entrada del blog. Asegúrate de lo siguiente:

  1. El directorio de la app incluye un gráfico central de alta calidad.
  2. El gráfico central no contiene imágenes de dispositivos, capturas de pantalla ni texto pequeño que resulte ilegible cuando la app se reduzca en tamaño para visualizarse en el tamaño más pequeño de pantalla que tu app admita.
  3. El gráfico central no se parece a un anuncio publicitario.
GP-1, GP-2
GP-D2 Las capturas de pantalla y los videos de la app no muestran ni hacen referencia a dispositivos que no sean Android. GP-1
GP-D3 Las capturas de pantalla o los videos de la app no representan el contenido ni la experiencia que ofrece tu app de forma confusa.
User Support GP-X1 Los errores comunes informados por los usuarios en la pestaña Reseñas de la página de Google Play se abordan siempre que se puedan reproducir y ocurran en muchos dispositivos diferentes. Si se produce un error en unos pocos dispositivos, aún debes abordarlo en caso de que esos dispositivos sean especialmente populares o nuevos. GP-1

Recursos relacionados

Configuración de un entorno de prueba

Para evaluar la calidad de tu app, debes configurar un entorno de hardware o de simulación adecuado para la prueba.

El entorno de prueba ideal debería incluir poca cantidad de dispositivos de hardware que representen formatos y combinaciones de hardware y software clave actualmente disponibles para los consumidores. No es necesario realizar pruebas en todos los dispositivos disponibles en el mercado, sino que debes concentrarte en una pequeña cantidad de dispositivos representativos, incluso puedes usar uno o dos dispositivos por formato.

Si no puedes obtener dispositivos de hardware reales para realizar las pruebas, debes configurar simuladores de dispositivos (AVD) para representar los formatos y las combinaciones de hardware y software más comunes.

Para ir más allá de las pruebas básicas, puedes agregar más dispositivos, más formatos o nuevas combinaciones de hardware y software a tu entorno de prueba. También puedes aumentar la cantidad o la complejidad de las pruebas y los criterios de calidad.

Procedimientos de prueba

Estos procedimientos de prueba te ayudan a descubrir varios tipos de problemas de calidad en tu app. Puedes combinar las pruebas o integrar grupos de pruebas en tus propios planes de prueba. Consulta las secciones anteriores para obtener referencias que asocian criterios específicos con pruebas específicas.

Tipo Prueba Descripción
Conjunto central CR-0

Navega a todas las partes de la app; es decir, a todas las pantallas, los diálogos, las configuraciones y a todos los flujos de usuarios.

  1. Si la aplicación admite la edición o la creación de contenido, jugar a un juego o la reproducción multimedia, asegúrate de ingresar esos flujos para crear o modificar contenido.
  2. Mientras pruebas la app, introduce cambios transitorios en la conectividad de red, la función de la batería, la disponibilidad de ubicación o GPS, la carga del sistema, etc.
CR-1 Desde cada una de las pantallas de la app, presiona la tecla de Inicio del dispositivo y luego reinicia la app desde la pantalla Todas las apps.
CR-2 Desde cada una de las pantallas de la app, pasa a otra app que se esté ejecutando y luego regresa a la app que estás probando con el conmutador de Apps recientes.
CR-3 Desde cada una de las pantallas (y diálogos) de la app, presiona el botón Atrás.
CR-5 Desde cada una de las pantallas de la app, gira el dispositivo entre las orientaciones horizontal y vertical al menos tres veces.
CR-6 Cambia a otra app para enviar la app que estás probando a segundo plano. Ingresa en Configuración y comprueba si la app que estás probando tiene servicios ejecutándose mientras se encuentra en segundo plano. En Android 4.0 y versiones posteriores, dirígete a la pantalla Apps y busca la app en la pestaña "Running".
CR-7 Presiona el botón de encendido para colocar el dispositivo en modo de suspensión y luego presiona nuevamente el botón de encendido para reactivar la pantalla.
CR-8 Configura el dispositivo para que se bloquee al presionar el botón de encendido. Presiona el botón de encendido para colocar el dispositivo en modo de suspensión, luego presiona nuevamente el botón de encendido para reactivar la pantalla y desbloquea el dispositivo.
CR-9 Para los dispositivos que tienen teclados deslizantes, desliza el teclado hacia dentro y hacia fuera al menos una vez. Para los dispositivos que tienen teclados acoplados, conecta el dispositivo al teclado.
CR-10 Para los dispositivos que tienen un puerto para pantalla externa, conecta la pantalla externa.
CR-11 Inicia la app y observa en el panel lateral de notificaciones todos los tipos de notificaciones que la app puede mostrar. Cuando sea posible, expande las notificaciones (Android 4.1 y superior) y toca todas las acciones ofrecidas.
CR-12 Examina los permisos que solicita la app; para ello, ingresa a Settings > App Info.
Instalación en tarjetas SD SD-1

Repite el Conjunto central con la app instalada en la tarjeta SD del dispositivo (si la app lo admite).

Para mover la app a la tarjeta SD puedes usar Settings > App Info > Move to SD Card.

Aceleración de hardware HA-1

Repite el Conjunto central con la aceleración de hardware habilitada.

Para forzar la habilitación de la aceleración de hardware (cuando el dispositivo lo admita), agrega hardware-accelerated="true" a <application> en el manifiesto de la app y vuelve a compilarla.

Control del rendimiento PM-1

Repite el Conjunto central con la generación de perfiles de StrictMode habilitada como se describe a continuación.

Presta mucha atención a la recolección de basura y su impacto en la experiencia del usuario.

Batería BA-1

Repite el Conjunto central a lo largo de los ciclos Descanso y App Standby.

Presta mucha atención a las alarmas, los temporizadores, las notificaciones y las sincronizaciones, entre otros elementos. Consulta Pruebas con Descanso y App Standby para obtener información sobre los requisitos y las pautas.

Google Play GP-1 Inicia sesión en la Developer Console para revisar tu perfil de programador, la descripción de la app, las capturas de pantalla, el gráfico central, la configuración de madurez y los comentarios de los usuarios.
GP-2 Descarga tu gráfico central y tus capturas de pantalla, y reduce su tamaño para que coincidan con los tamaños de pantalla de los dispositivos y formatos que estás probando.
GP-3 Revisa todos los elementos gráficos, los medios, el texto, las bibliotecas de códigos y otros contenidos incluidos en la descarga de la app o el archivo de expansión.
GP-4 Revisa Compatibilidad con otros casos de uso en Descanso y App Standby.
Payments GP-4 Navega a todas las pantallas de tu app e ingresa a todos los flujos de compras directas desde la aplicación.

Prueba con StrictMode

Para la prueba de rendimiento, te recomendamos que habilites StrictMode en tu app y lo uses para detectar operaciones en el subproceso principal y en otros subprocesos que podrían afectar el rendimiento, el acceso a la red, la lectura/escritura de archivos, etc.

Puedes configurar una política de control por subproceso mediante StrictMode.ThreadPolicy.Builder y habilitar todo el control admitido en ThreadPolicy con detectAll().

Asegúrate de habilitar la notificación visual de violaciones de la política para ThreadPolicy mediante penaltyFlashScreen().