Terreno

Peter Conn
Peter Conn

Existe mucho ecosistema en torno a Trusted Web Activities y puede ser difícil ver cómo se relaciona todo y qué deberías usar. En este artículo, se espera abordar eso.

Si recién comienzas a usar Trusted Web Activities o simplemente estás buscando el conjunto de herramientas recomendadas que que deberías usar hoy, ten en cuenta lo siguiente:

  • Bubblewrap: Es una herramienta de Node.js que permite a los desarrolladores crear y compilar un APK de Android que une una AWP existente. La aplicación generada cuenta con la tecnología de Trusted Web Activities, pero esto es transparente para el desarrollador. No se requiere experiencia en desarrollo de Android. Para comenzar, consulta la documentación de Bubblewrap.
  • android-browser-helper: Una biblioteca de Android que encapsula las actividades web de confianza protocolo. Se recomienda para los desarrolladores que están familiarizados con el desarrollo de Android y desean usar Trusted Web Las actividades como una de las actividades en su app para Android o realizar personalizaciones que no sean compatible con Bubblewrap. Para comenzar a usar android-browser-helper, consulta la documentación y nuestras demostraciones.

La siguiente sección ofrece un breve resumen de todos los proyectos relacionados entre sí. Por último (para los más curiosos) hay una sección de historia que muestra cómo llegamos hasta aquí y dónde tenemos planeado hacerlo en un futuro cercano.

Descripción general de las bibliotecas

A continuación, se incluye un breve resumen de cada una de las bibliotecas que posiblemente termines usando:

  • androidx.browser: Es una biblioteca de Android que permite interactuar con el navegador instalado en la pantalla del usuario. dispositivo.
  • La ayuda del navegador de Android, una biblioteca que se compila en androidx.browser para Trusted Web Activity clientes que ofrecen métodos de conveniencia y valores predeterminados confidenciales.
  • Bubblewrap, una herramienta para crear actividades web de confianza a partir de AWP sin tocar ningún Java código.

Además, cada una de estas bibliotecas o herramientas reemplaza a una anterior:

Historial

Biblioteca de compatibilidad de Android

La biblioteca de compatibilidad de Android amplía la plataforma de Android con nuevas API y compatibilidad. atributos. Se divide en varios paquetes, y la biblioteca de compatibilidad Custom Tabs contiene para interactuar con los navegadores en el sistema del usuario. El desarrollo de la Biblioteca de compatibilidad Custom Tabs se llevó a cabo principalmente en el recurso custom-tabs-client Repositorio de GitHub, y los cambios se vuelven a subir a la biblioteca de compatibilidad de Android.

Una pestaña personalizada es una actividad de Android que usa un navegador para mostrar una página web. El beneficio principal para el desarrollador es que puede tener un tema y tiene un botón de cierre, por lo que el usuario permanece en la app del desarrollador (en lugar de salir de la app y acceder a la navegación completa experiencia). Como es una API de Android, las pestañas personalizadas son compatibles con cualquier navegador y usarán la configuración predeterminada navegador (aunque los desarrolladores pueden anular esta opción).

Como las Actividades web de confianza se basan en las pestañas personalizadas, comenzó su vida en esta biblioteca custom-tabs-client. Las actividades web de confianza quitan la barra superior de las pestañas personalizadas cuando el usuario navega por un sitio que pertenece al desarrollador de la app. Esto abre las puertas a una integración perfecta de tu sitio web dentro de una aplicación nativa de Android, y puede se usarán para crear aplicaciones en las que toda la funcionalidad la proporcione la Web.

AndroidX

Más adelante, la biblioteca de compatibilidad de Android pasó a llamarse AndroidX, que es parte de una esfuerzo mayor para mejorar la experiencia de los desarrolladores, que se denomina JetPack. Por lo tanto, las pestañas personalizadas y Trusted Web Activities tuvieron que pasar de la biblioteca de compatibilidad Custom Tabs a el nuevo androidx.browser.

Parte del código que habíamos escrito en custom-tabs-client era apropiado para una biblioteca de archivos Trusted Clases auxiliares de Actividad web, pero no para una API de Android. Código que busca verificar versiones desactualizadas de Chrome y pedirle al usuario que actualice o tomar decisiones sobre cómo almacenar los datos no podía pasar a AndroidX. Por lo tanto, creamos una biblioteca alternativa para contener estas partes de custom-tabs-client que no podía acceder a androidx.browser. Así nació Android Browser Helper.

La Herramienta de ayuda del navegador de Android se creó para contener código que puede ser específico de cada navegador (no solo Chrome, estamos dispuestos a programar específicamente para otros navegadores) y podemos tomar decisiones concretas que las bibliotecas no deberían. En general, aprovechamos esta oportunidad para separar las funciones de estas dos bibliotecas:

  • androidx.browser contiene los componentes básicos para interactuar con navegadores en la en el sistema del usuario.
  • La herramienta Android Browser Helper contiene implementaciones predeterminadas razonables y prácticas de uso.

Inicio

Los desarrolladores son personas ocupadas, con mucho trabajo que hacer y plazos que cumplir. Para ayudar con esto, creamos dos herramientas que permiten que el usuario inicie su actividad web de confianza.

La primera (y más antigua) es svgomg-twa, un proyecto para Android alojado en GitHub que inicia un Actividad web de confianza. Originalmente, se diseñó como un proyecto de demostración que evolucionó para convertirse en una plantilla. Los usuarios pueden clonar ese repositorio y modificar el archivo build.gradle para que apunte a su propio sitio web. compilarla y producir una actividad web de confianza sin modificar ningún código de Java. (la verificación de los Vínculos de recursos digitales requiere más esfuerzo; obtén más información aquí).

svgomg-twa comenzó en función de custom-tabs-client, pero luego se trasladó a Android Herramienta de ayuda para navegadores (y androidx.browser transitivamente)

La herramienta más reciente y brillante es Bubblewrap, una herramienta de Node.js que llevará tu app web Manifiesta y genera una actividad web de confianza por ti. Esta es la forma más fácil de crear una actividad web de confianza a partir de una AWP existente y no requiere cualquier conocimiento sobre desarrollo de Android.

Futuro cercano

svgomg-twa dejará de estar disponible por dos motivos:

  • Bubblewrap básicamente genera un svgomg-twa completado para un desarrollador. Lo hace de manera interactiva y puede tomar la configuración del manifiesto de una app web (en el que una AWP) probablemente ya tendrás).
  • Si los desarrolladores desean obtener una referencia sobre cómo iniciar su propio proyecto de Trusted Web Activity desde desde cero, pueden consultar el directorio demos de la Ayuda del navegador de Android.

En su lugar, los desarrolladores nuevos deben usar Bubblewrap para generar sus proyectos. Si ya usas svgomg-twa y hiciste algunas modificaciones importantes, no te preocupes: continúas haciéndolo, pero no recibirás actualizaciones.

Planeamos hacer que Bubblewrap sea lo más capaz posible. Por lo tanto, si falta una función obvia o si te encuentras con un error, puedes crear un problema.