Há um ecossistema considerável em torno das atividades confiáveis na Web, e pode ser bastante difícil entender como tudo se relaciona e o que você deve usar. Este artigo pretende abordar isso.
Se você é novo no programa Atividades confiáveis na Web ou está procurando o conjunto recomendado de ferramentas que deve usar hoje, confira o que precisa saber:
- Bubblewrap: uma ferramenta do NodeJS que permite que os desenvolvedores criem e gerem um APK do Android que envolve um PWA. O aplicativo gerado é gerado por Atividades confiáveis na Web, mas isso é transparente para o desenvolvedor. Não é necessário ter experiência em desenvolvimento para Android. Consulte a documentação do Bubblewrap para começar.
- android-browser-helper: uma biblioteca do Android que encapsula o protocolo Trusted Web Activities. Recomendado para desenvolvedores que já conhecem o desenvolvimento do Android e querem usar atividades da Web confiáveis como uma das atividades no app Android ou fazer personalizações que não têm suporte do Bubblewrap. Para começar a usar o android-browser-helper, consulte a documentação e nossas demonstrações.
A próxima seção mostra um breve resumo de todos os projetos em relação uns aos outros. Por fim, para os curiosos, há uma seção de histórico que mostra como chegamos até aqui e onde planejamos chegar em um futuro próximo.
Informações gerais sobre as bibliotecas
Confira um resumo breve e único de cada uma das bibliotecas que você pode usar:
- androidx.browser, uma biblioteca do Android para interagir com o navegador instalado no dispositivo do usuário.
- O Android Browser Helper, uma biblioteca que cria em androidx.browser para clientes de atividades confiáveis na Web que fornecem métodos de conveniência e padrões adequados.
- Bubblewrap, uma ferramenta para criar atividades confiáveis na Web de PWAs sem tocar em nenhum código Java.
Além disso, cada uma dessas bibliotecas/ferramentas substitui uma versão mais antiga:
- androidx.browser substitui a Biblioteca de Suporte de guias personalizadas.
- O Android Browser Helper precisa ser usado em vez de custom-tabs-client.
- Use Bubblewrap em vez de svgomg-twa.
Histórico
Biblioteca de Suporte do Android
A Biblioteca de Suporte do Android estende a plataforma Android com novas APIs e recursos de compatibilidade. Ele é dividido em vários pacotes, com a Biblioteca de suporte de guias personalizadas contendo funcionalidade para interagir com navegadores no sistema do usuário. O desenvolvimento da Biblioteca de Suporte de guias personalizadas foi feito principalmente no repositório do GitHub custom-tabs-client, com as mudanças sendo enviadas de volta para a Biblioteca de Suporte do Android.
Uma guia personalizada é uma atividade do Android que usa um navegador para mostrar uma página da Web. O principal benefício para o desenvolvedor é que ele pode ter um tema e um botão de fechamento, para que o usuário continue no app do desenvolvedor, em vez de sair dele e acessar a experiência de navegação completa. Como uma API do Android, as guias personalizadas podem ser usadas por qualquer navegador e vão usar o navegador padrão do usuário, embora isso possa ser substituído pelos desenvolvedores.
Como as Atividades confiáveis na Web são criadas com base nas guias personalizadas, elas começaram a existir nesta biblioteca custom-tabs-client. As atividades confiáveis da Web removem a barra superior das guias personalizadas quando o usuário está navegando em um site que pertence ao desenvolvedor do app. Isso abre as portas para a integração perfeita do seu site em um app Android nativo e pode ser usado para criar apps em que todas as funcionalidades são fornecidas pela Web.
AndroidX
A Android Support Library foi renomeada como AndroidX, que faz parte de um esforço maior para melhorar a experiência do desenvolvedor chamado JetPack. Portanto, as guias personalizadas e as atividades confiáveis na Web precisaram ser movidas da Biblioteca de suporte de guias personalizadas para o novo androidx.browser.
Parte do código que escrevemos em custom-tabs-client era adequado para uma biblioteca de classes auxiliares de atividades da Web confiáveis, mas não para uma API do Android. O código que verifica versões desatualizadas do Chrome e solicita que o usuário faça a atualização ou tome decisões sobre como os dados devem ser armazenados não pode ser movido para o AndroidX. Portanto, criamos uma biblioteca alternativa para conter essas partes de custom-tabs-client que não podiam ser inseridas em androidx.browser. Assim, o Android Browser Helper nasceu.
O Android Browser Helper foi criado para conter código específico para navegadores (não apenas o Chrome, estamos abertos a códigos específicos para outros navegadores) e pode tomar decisões concretas que as bibliotecas não podem. Aproveitamos essa oportunidade para separar as funções dessas duas bibliotecas:
- androidx.browser contém os elementos básicos para interagir com navegadores no sistema do usuário.
- O Android Browser Helper contém implementações padrão convenientes e sensatas.
Bootstrap
Os desenvolvedores são pessoas ocupadas, com muito trabalho a fazer e prazos a cumprir. Para ajudar nisso, criamos duas ferramentas para que os usuários possam iniciar a Atividade confiável na Web.
O primeiro (e mais antigo) é o svgomg-twa, um projeto Android hospedado no GitHub que inicia uma atividade da Web confiável. Ele foi originalmente projetado para ser um projeto de demonstração que evoluiu para um modelo. Os usuários podem clonar esse repositório e modificar o arquivo build.gradle para apontar para o próprio site, criá-lo e produzir uma Atividade confiável na Web sem tocar em nenhum código Java. A verificação dos links de recursos digitais exige mais esforço. Saiba mais.
O svgomg-twa começou dependendo do custom-tabs-client, mas depois mudou para o auxiliar do navegador Android (e transitivamente para androidx.browser).
A ferramenta mais nova e mais avançada é o Bubblewrap, uma ferramenta Node.js que usa o manifesto do app da Web e gera uma atividade confiável na Web para você. Essa é a maneira mais fácil de criar uma Atividade confiável na Web a partir de uma PWA existente e não requer nenhum conhecimento de desenvolvimento do Android.
Futuro próximo
Vamos descontinuar o svgomg-twa por dois motivos:
- O Bubblewrap basicamente gera um svgomg-twa preenchido para um desenvolvedor. Ele faz isso de forma interativa e pode usar a configuração de um manifesto de app da Web (que um PWA provavelmente já tem).
- Se os desenvolvedores quiserem uma referência sobre como iniciar o próprio projeto de atividade confiável na Web do zero, eles podem consultar o diretório de demonstrações dos auxiliares do navegador Android.
Os novos desenvolvedores devem usar o Bubblewrap para gerar o projeto. Se você já estiver usando o svgomg-twa e tiver feito algumas modificações pesadas, poderá continuar fazendo isso, mas não vai receber atualizações.
Planejamos tornar o Bubblewrap o mais eficiente possível. Se você notar que um recurso está faltando ou encontrar um bug, crie um problema.