Compatibilidad con apps web
Una app web convierte una página web en una app para Android, lo que facilita su búsqueda y uso en dispositivos móviles. Una app web se ve como una app nativa en el selector de un dispositivo. Cuando se abre, la página web se renderiza en el navegador predeterminado del usuario (Configuración>Apps>Apps predeterminadas>App de navegador) y se muestra según las capacidades del navegador.
Puedes distribuir aplicaciones web de la misma manera que las aplicaciones nativas. Esto incluye agregarlos a las colecciones de Google Play administrado e instalarlos de forma remota en los dispositivos.
Componentes de una app 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 apps 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 para ayudar a los usuarios a identificarla. Los íconos son opcionales, pero se recomiendan.
Título
El título debe tener menos de 30 caracteres. Según el factor de forma del dispositivo, el título de una app web puede truncarse en Play Store administrado y en el selector del dispositivo. Por lo tanto, te recomendamos que especifiques un título corto.
URL de inicio
La URL de inicio de una app web define la página en la que se abre. Luego, el usuario puede navegar a otras URLs.
La URL de inicio debe ser una URL de 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 son visibles cuando se abre una app web:
- IU minimalista: La barra de URL se muestra en la parte superior, y la barra de estado del sistema y los botones de navegación son visibles. Para las URLs de
HTTP
, esta es la única opción disponible. - Independiente: No se muestra la barra de URL, y se pueden ver la barra de estado del sistema y los botones de navegación.
- Pantalla completa: No se muestra la barra de URL, y se ocultan la barra de estado del sistema y los botones de navegación. La interfaz del sitio web debe proporcionar todos los controles de navegación.
El modo de visualización solo se aplica a las páginas del mismo dominio que la URL de inicio. Si el usuario navega a una URL de un dominio diferente de la URL de inicio, esta página nueva se abrirá en una pestaña personalizada de Chrome con la URL nueva visible para el usuario, independientemente del modo de visualización seleccionado. Por ejemplo, si la URL de inicio redirecciona de inmediato a una URL de un dominio diferente, esta página se mostrará en una pestaña personalizada de Chrome.
Cuando un usuario abre una app web por primera vez, se muestra una notificación en la parte inferior de la pantalla para informarle que está en un navegador en lugar de una app nativa.
Ícono
Especificar un ícono ayuda a los usuarios a identificar una app web. En el caso de las apps web que no tengan un ícono especificado, Google insertará y mostrará el mismo ícono predeterminado. Para que los usuarios puedan distinguir mejor entre sus apps, te recomendamos que crees apps web con íconos distintos 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 en el APK de la app web, y el sistema Android mostrará el que sea 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. Se aceptan los formatos PNG y JPEG, pero no deben superar los 1 MB. Los íconos que no cumplan con este formato se volverán a escalar para la entrada de Play Store administrada. El ícono también debe poder “enmascararse” para adaptar su forma a cada sistema. Consulta Íconos que se pueden enmascarar para obtener más información.
Cuando se usa la API, los datos del ícono deben estar codificados en formato base64url (es decir, base64, pero cualquier "+" se reemplaza por un "-" y cualquier "/" se reemplaza por un "_"; [consulta la sección 5 de la RFC 4648 para obtener más información]).
Crea una app web
Puedes crear apps web incorporando el iframe de Google Play administrado en tu consola de EMM o integrándolas con 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 qué 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 apps web. Si decides admitir apps web a través de esta opción, sigue las instrucciones para incrustar el iframe de Google Play administrado en tu consola de EMM. Se puede acceder a la interfaz de la app web desde el menú de navegación izquierdo del iframe.
Después de crear una app web en el iframe, pueden pasar unos minutos antes de que se pueda seleccionar
en la interfaz. Cuando se selecciona una aplicación web, se activa un evento onproductselect
con el ID de producto de la aplicación web que se pasa en el evento.
Con el ID de producto de una app web, puedes distribuirlo a los usuarios.
Opción 2: Integra con la API
Otra forma de admitir apps web en tu consola de EMM es integrarla con la API de apps web. Para
crear una app web, usa el método
webapps.insert
.
Hay métodos adicionales disponibles para
- Cómo mostrar una lista de todas las apps web de una empresa
- Cómo recuperar los detalles de una sola app web
- Cómo actualizar apps web
- Cómo borrar apps web
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, es posible que transcurran varios minutos hasta que se instalen en los dispositivos o el usuario pueda verlos en Play Store administrado.
Cómo distribuir una app web
Puedes distribuir una app web como cualquier otra app. Para ello, agrega el ID de producto que devuelve el iframe o la API a la política de un dispositivo.
Para que un dispositivo admita el modo de visualización de una app web, debe tener instalado Google Chrome (nombre del paquete com.android.chrome
). Para garantizar que Chrome esté instalado en el dispositivo, te recomendamos que lo agregues a la política de un dispositivo y configures autoInstallMode
como forceAutoInstall
.
Si Google Chrome no está instalado en el dispositivo, cuando se abra la app web, se mostrará un diálogo que indicará que se debe instalar Google Chrome.
Actualiza una app web
El iframe de Google Play administrado permite que los administradores de TI editen las apps 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.insert
.
Las actualizaciones tardan entre unos minutos y hasta 24 horas en propagarse a 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 del selector de su dispositivo antes de que se reflejen en el selector las actualizaciones de los títulos de las apps web.
Ten en cuenta que Google también actualizará 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 sus apps web, y Play Store las actualizará automáticamente 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 apps 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, llama a installs.delete
.