Como Publicar PWA no Google Play (Trusted Web Activity)

PWAs podem ser publicadas no Google Play usando Trusted Web Activity — sem reescrever o app. Mas há requisitos técnicos e limitações que valem entender antes.

Leitura: 7 min Atualizado: 2025 Verificado pela equipe AtlasTech

Índice

  1. O que é Trusted Web Activity (TWA)
  2. Requisitos para a PWA
  3. Como criar o APK/AAB via TWA
  4. Bubblewrap — a ferramenta oficial
  5. Digital Asset Links — obrigatório
  6. Limitações do TWA
  7. E a App Store?
  8. Prefere delegar tudo?

1. O que é Trusted Web Activity (TWA)

Trusted Web Activity (TWA) é uma tecnologia do Google Chrome que permite empacotar uma PWA (Progressive Web App) como um aplicativo Android e publicá-la no Google Play. Do ponto de vista do usuário, parece um app nativo — sem barra de endereço, sem interface do Chrome visível.

A diferença fundamental de um app convencional: o TWA carrega o conteúdo do seu site/PWA hospedado na web — não é um app offline por padrão. Isso significa que o app depende da URL da sua PWA estar ativa e acessível.

2. Requisitos para a PWA

Para publicar via TWA no Google Play, a PWA precisa atender critérios específicos:

3. Como criar o APK/AAB via TWA

Há duas abordagens principais:

4. Bubblewrap — a ferramenta oficial

Passo 1

Instalar e inicializar

Instale o Bubblewrap: npm install -g @bubblewrap/cli
Inicie o projeto: bubblewrap init --manifest https://seusite.com/manifest.json
O Bubblewrap vai ler o manifest da sua PWA e gerar um projeto Android com as configurações básicas.

Passo 2

Gerar o AAB

Rode: bubblewrap build
O Bubblewrap vai gerar o arquivo app-release-bundle.aab pronto para upload no Google Play Console.

Alternativa: PWABuilder

Via interface web

Acesse pwabuilder.com, insira a URL da sua PWA e clique em "Package for Stores". Selecione "Google Play" e baixe o arquivo ZIP com o projeto Android e o APK/AAB gerado. Mais simples, mas com menos opções de customização.

O Digital Asset Links é um arquivo JSON que precisa estar hospedado em https://seusite.com/.well-known/assetlinks.json. Ele vincula o domínio da PWA ao package name do app Android, provando para o Chrome que você controla ambos.

Sem esse arquivo corretamente configurado, o app vai mostrar a barra de endereço do Chrome — perdendo a aparência de app nativo. O Bubblewrap gera o conteúdo correto do arquivo para você durante o bubblewrap init.

⚠️ O assetlinks.json precisa ser hospedado exatamente em /.well-known/assetlinks.json, servido com Content-Type application/json, sem redirecionamentos. Qualquer desvio e o TWA não funciona.

6. Limitações do TWA

7. E a App Store?

A Apple não aceita apps que são essencialmente um WebView de site externo — a Guideline 4.7 proíbe isso explicitamente. Para publicar na App Store com tecnologia web, a alternativa é usar Capacitor (Ionic), que empacota o conteúdo web no binário do app — ao invés de depender de uma URL externa.

Quer que a gente publique por você?

App Store e Google Play em até 7 dias. A partir de R$1.800.

Solicitar publicação