Módulo 03 de 12

App Bundle (.aab) & Assets da Loja

Aprenda a compilar o arquivo .aab assinado com Keystore criptográfica, otimizar os elementos visuais de conversão (ASO) e preencher os questionários regulatórios do Play Console sem erros.

3.1. Compilação do App Bundle (.aab) & Keystore

O formato monolítico .apk não é aceito para publicação no Google Play. É obrigatório compilar em Android App Bundle (.aab), permitindo que o Google Play gere Split APKs otimizados para a arquitetura de CPU (arm64-v8a, armeabi-v7a) e densidade de tela de cada usuário, reduzindo o tamanho de download em até 35%.

Guarde sua Upload Keystore com Segurança! O arquivo .jks / .keystore e suas senhas identificam a autoria técnica dos seus pacotes. Com o Play App Signing ativo, caso você perca sua chave de upload, é possível solicitar a redefinição via suporte do Play Console (levando 48h para ativação), mas manter um backup criptografado evita interrupções no cronograma de releases.

Comandos Oficiais de Geração de Keystore e Build AAB

# 1. Gerar uma Keystore JKS de 2048 bits (RSA) válida por 25 anos
keytool -genkeypair -v -storetype PKCS12 -keystore upload-keystore.jks \
  -alias upload -keyalg RSA -keysize 2048 -validity 9125

# 2. Compilar o App Bundle (.aab) em projetos Android Nativo / Kotlin
./gradlew bundleRelease

# 3. Compilar o App Bundle (.aab) em projetos Flutter
flutter build appbundle --release --obfuscate --split-debug-info=build/app/outputs/symbols

# 4. Compilar o App Bundle (.aab) em projetos React Native / Expo (EAS)
eas build --platform android --profile production
  • Play App Signing & impressões SHA-1 / SHA-256: Caso seu aplicativo utilize Google Sign-In, Firebase Auth ou Google Maps, lembre-se de copiar o certificado SHA-1 da Chave de Assinatura do App (gerenciada pelo Google) em Configuração → Integridade do App no Play Console e cadastrá-lo no Firebase Console. Caso cadastre apenas o SHA-1 local de debug, o login social falhará em produção.
  • Version Code Monotônico: Incremente sempre o inteiro versionCode (ex: 10, 11, 12) a cada novo upload, mesmo quando o envio anterior for descartado na faixa interna.

3.2. Especificações Técnicas da Ficha da Loja (ASO)

Uma ficha da loja incompleta ou com capturas de tela distorcidas reduz a conversão de testadores e pode gerar rejeição por Violação de Metadados. Siga rigorosamente a matriz oficial:

Ativo / Metadado Especificação Técnica / Limite Boas Práticas de Aprovação (Play Store)
Título do App Máximo de 30 caracteres Evite termos genéricos ("O Melhor", "#1", "Grátis") ou emojis no título.
Descrição Curta Máximo de 80 caracteres Resuma a proposta única de valor em uma frase direta sem keyword stuffing.
Descrição Completa Até 4.000 caracteres Estruture em tópicos claros. Não mencione nomes de concorrentes nem depoimentos não verificáveis.
Ícone de Alta Resolução 512 x 512 px (PNG 32-bit, máx 1 MB) Não inclua selos de texto pequenos ("Novo", "2026", "Pro") que fiquem ilegíveis em telas menores.
Gráfico de Recurso (Capa) 1024 x 500 px (PNG 24-bit ou JPEG) Sem canal alfa (transparência). Centralize elementos vitais longe das bordas.
Capturas de Celular 2 a 8 imagens (16:9 ou 9:16, mín. 1080p) Mostre a interface real do app em execução; evite fotos de banco de imagens sem a tela do app.
Capturas de Tablet (7" e 10") Até 8 imagens por categoria Essencial para elegibilidade na seção de destaque para telas grandes e Chromebooks.

3.3. Questionários Obrigatórios (Conteúdo do App)

Todos os 10 itens da seção Política e Programas → Conteúdo do App no menu lateral do Play Console devem estar concluídos antes de submeter a versão:

  • Segurança dos Dados (Data Safety): Deve refletir tanto o seu código próprio quanto os SDKs de terceiros (Firebase Crashlytics coleta Registros de Falhas e IDs do Dispositivo; Google AdMob coleta ID de Publicidade e Interações no App).
  • Acesso ao App (Credenciais de Teste): Se qualquer tela exigir login, forneça um usuário e senha estáticos de demonstração que não expirem e não dependam de código SMS/2FA em tempo real.
  • Declaração de ID de Publicidade (AD_ID): No Android 13+, se você usa Analytics ou AdMob, declare se o com.google.android.gms.permission.AD_ID está presente no manifesto mesclado.