Cómo brindar compatibilidad con apps web

Una aplicación web convierte una página web en una aplicación para Android, lo que facilita la búsqueda y el uso en dispositivos móviles. Una app web parece una aplicación nativa en el selector de un dispositivo y, cuando el usuario la abre, el navegador Chrome procesa la página web en el modo de visualización seleccionado (IU mínima, independiente o pantalla completa).

Puedes distribuir aplicaciones web del mismo modo que distribuyes las aplicaciones nativas. Esto incluye agregarlas a colecciones en Google Play Store administrado e instalarlas de forma remota en los dispositivos.


Componentes de una aplicación web

Para crear una app web, debes especificar lo siguiente:

  • Un título que se muestra en el dispositivo en Play Store administrado y en el selector
  • Una URL de inicio en la que se abren las aplicaciones web
  • Un modo de visualización que define cómo se muestra la app web en el dispositivo.

También puedes establecer un ícono para la app web a fin de ayudar a los usuarios a identificarla. Los íconos son opcionales, pero se recomienda usarlos.

Título

El título debe tener menos de 30 caracteres. Según el factor de forma del dispositivo, es posible que el título de una aplicación web se trunque en Play Store administrado y en el selector del dispositivo. Por lo tanto, recomendamos especificar el título corto.

URL de inicio

La URL de inicio de una aplicación web define la página en la que se abre la aplicación web. Luego, el usuario puede navegar a otras URLs.

La URL de inicio debe ser una URL HTTPS o HTTP. La URL de la app web debe tener el esquema HTTPS cuando el modo de visualización es de pantalla completa o independiente.

Modo de visualización

El modo de visualización describe qué elementos de la IU del navegador están visibles cuando se abre una aplicación web:

  • IU mínima: La barra de URL se muestra en la parte superior y se ven la barra de estado del sistema y los botones de navegación. Esta es la única opción disponible para las URLs de HTTP.
  • Independiente: No se muestra la barra de URL, y la barra de estado del sistema y los botones de navegación están visibles.
  • Pantalla completa: No se muestra la barra de URL y la barra de estado del sistema y los botones de navegación están ocultos. La interfaz del sitio web debe proporcionar todos los controles de navegación.
Figura 1: De izquierda a derecha: IU mínima, modo independiente y pantalla completa.

El modo de visualización solo se aplica a páginas del mismo dominio que la URL de inicio. Si el usuario navega a una URL con un dominio distinto del de la URL de inicio, esta página nueva se abrirá en una pestaña personalizada de Chrome y el usuario podrá ver la nueva URL, independientemente del modo de visualización seleccionado. Por ejemplo, si la URL de inicio redirecciona inmediatamente a una URL de un dominio diferente, esta página se mostrará en una pestaña personalizada de Chrome.

Cuando un usuario abre por primera vez una app web, se muestra una notificación en la parte inferior de la pantalla para informarle que está en un navegador y no en una app nativa.

Figura 2: Es una notificación que se le muestra al usuario la primera vez que abre una app web.

Ícono

Especificar un ícono ayuda a los usuarios a identificar una app web. Para cualquier app web que no tenga un ícono especificado, Google insertará y mostrará el mismo ícono predeterminado. Para que sea más fácil para los usuarios distinguir entre sus apps, te recomendamos que crees apps web con íconos distintivos y significativos.

Los administradores de TI pueden establecer un solo ícono para las apps web que crean en el iframe de Google Play administrado. Cuando usas la API para crear apps web, puedes permitir que los administradores de TI establezcan varios íconos. Todos estos íconos se incorporarán al APK de la app web, y el sistema Android mostrará el más adecuado para la resolución de pantalla del dispositivo. Play Store administrado siempre muestra el primer ícono especificado para una app web.

Idealmente, el primer ícono debe ser un cuadrado de 512 x 512 píxeles. Los formatos PNG y JPEG son aceptables, pero no deben pesar más de 1 MB. Los íconos que no cumplan con este formato se ajustarán para la entrada de Play Store administrado. El ícono también debe ser "enmascarable" para adaptar su forma a cada sistema. Consulta Íconos enmascarables para obtener más detalles.

Cuando se usa la API, los datos del ícono deben estar codificados en formato base64url (es decir, base64, pero cualquier signo "+" se reemplaza por "-" y cualquier "/" se reemplaza por "_"). [Consulta RFC 4648, sección 5 para obtener más información]).


Crea una app web

Para crear apps web, puedes incorporar el iframe de Google Play administrado en tu consola de EMM o integrar la API. Los dos enfoques son intercambiables y ofrecen la misma experiencia del usuario final en los dispositivos, por lo que depende de ti decidir cuál enfoque funciona mejor con tu solución.

Opción 1: Incorpora el iframe de Google Play administrado

El iframe de Google Play administrado incluye una interfaz de usuario para que los administradores de TI creen, editen y borren aplicaciones web. Si decides admitir aplicaciones web a través de esta opción, sigue las instrucciones para incorporar el iframe de Google Play administrado en tu consola de EMM. Se puede acceder a la interfaz de la aplicación web desde el menú de navegación izquierdo del iframe.

Después de que se crea una app web en el iframe, tardan unos minutos en poder seleccionarse en la interfaz. Cuando se selecciona una app web, se activa un evento onproductselect con el nombre del paquete de la app web pasado en el evento.

Con el nombre de paquete de una app web, puedes distribuirlo a los usuarios.

Opción 2: integración con la API

Otra forma de admitir apps web en tu consola de EMM es la integración con la API de apps web. Para crear una app web, usa el método webApps.create.

Las apps web creadas a través de la API se pueden agregar a la política inmediatamente después de su creación. Sin embargo, pueden tardar varios minutos en instalarse en los dispositivos o ser visibles para el usuario en Play Store administrado.

Distribuye una app web

Puedes distribuir una app web como cualquier otra. Para ello, agrega el nombre de paquete que muestra el iframe o la API a la política del dispositivo.

Para que un dispositivo admita el modo de visualización de una aplicación web, debe tener instalado Google Chrome (nombre del paquete com.android.chrome). Para asegurarte de que Chrome esté instalado en el dispositivo, te recomendamos agregarlo a la política del dispositivo y a la configuración installType como FORCE_INSTALLED.

Si Google Chrome no está instalado en el dispositivo, al abrir la aplicación web aparecerá un cuadro de diálogo que indica que Google Chrome debe estar instalado.

Actualiza una app web

El iframe de Google Play administrado permite que los administradores de TI editen las aplicaciones web que publican. Con la API, puedes actualizar cualquier aspecto de una app web llamando a webApps.patch. El método toma el nombre de la app, además de los mismos parámetros que webApps.create.

Las actualizaciones pueden demorar entre unos minutos y hasta 24 horas en propagarse en todos los dispositivos, según la configuración de actualización de la app. En algunos casos, es posible que los usuarios deban borrar la caché de la app de selector de su dispositivo antes de que las actualizaciones de los títulos de las aplicaciones web se reflejen en el selector.

Ten en cuenta que Google también actualiza periódicamente tus apps web para actualizar el wrapper de Chrome. Esto no afectará a las empresas ni a sus usuarios, excepto que cambiarán los números de versión de las apps web y Play Store actualizará automáticamente las apps en el próximo momento conveniente.

Cómo borrar una app web

El iframe de Google Play administrado permite que los administradores de TI borren aplicaciones web. Con la API, puedes llamar a webApps.delete para borrar una app web. Si borras una app web, se quitará de Play Store administrado, pero no se desinstalará de los dispositivos. Para desinstalar una app web de un dispositivo, establece el installType de la app como BLOCKED en la política del dispositivo.