Neste documento, descrevemos as práticas recomendadas de uso do Firebase App Distribution para tornar os fluxos de trabalho de teste de pré-lançamento do Android sustentáveis e repetíveis em um ambiente de CI/CD. As soluções incluem o Gradle e o fastlane, mas, para mais flexibilidade, também incluímos soluções disponíveis no console do Firebase, na CLI do Firebase e na API Firebase App Distribution pública. Além disso, descrevemos os limites de versões e testadores para que você possa planejar com antecedência e ter a experiência ideal.
Se você também usa plataformas da Apple, consulte as Práticas recomendadas para distribuir apps da Apple aos testadores de controle de qualidade usando CI/CD e fastlane.
Antes de começar
Antes de implementar as práticas recomendadas, ative o App Distribution no console do Firebase para cada app. Se não tiver ativado o App Distribution, o erro 404 será exibido.
Para ativar o App Distribution, siga estas etapas:
- Abra a página do App Distribution no console do Firebase.
- Selecione seu app Android.
- Clique em Começar.
Como os Android App Bundles (AAB) estão se tornando o formato de pacote Android mais comum, recomendamos que você ative a distribuição de AABs para seus testadores. Para isso, faça a vinculação com o Google Play.
Automatizar o fluxo de trabalho de teste de pré-lançamento usando um pipeline de CI/CD
Se você quiser automatizar a criação e o lançamento de apps para seus testadores e estiver usando CI/CD, recomendamos utilizar o fastlane ou o Gradle. Outra opção é a CLI do Firebase, que permite acessar uma ampla variedade de produtos do Firebase.
Usar o fastlane
Integre o App Distribution ao seu pipeline de CI/CD com o fastlane, uma ferramenta de código aberto que automatiza a criação e o lançamento de apps iOS e Android. Ao criar e distribuir automaticamente as versões mais recentes para os testadores, você garante que sempre tenham acesso à versão de teste mais atualizada do app.
Para saber como integrar o App Distribution ao fastlane, consulte Distribuir apps Android para testadores usando o fastlane.
Usar o Gradle
Use o Gradle para integrar o App Distribution ao seu processo de build do Android usando o plug-in do Gradle para App Distribution. Com o plug-in, você pode especificar testadores e notas da versão no arquivo build.gradle
do app. Assim, é possível configurar distribuições para diferentes tipos de build e variantes do app.
Para saber como integrar o App Distribution ao Gradle, consulte Distribuir apps Android para testadores usando o Gradle.
Usar a CLI Firebase
Use as ferramentas da CLI do Firebase que o App Distribution fornece para distribuição de builds aos testadores de forma programática. É possível especificar testadores e notas da versão de um build.
Distribua seu build mais recente para Android. Para isso, especifique o ID do app do Firebase, adicione uma nota da versão (opcionall) e um arquivo que contenha os e-mails dos testadores:
firebase appdistribution:distribute test.aab \
--app 1:1234567890:android:0a1b2c3d4e5f67890 \
--release-notes "Bug fixes and improvements" --testers-file testers.txt
Para saber como usar a CLI do Firebase para automatizar builds, consulte Distribuir apps Android para testadores com a CLI do Firebase.
Usar credenciais de serviço na autenticação
Use o plug-in fastlane do App Distribution, o plug-in do Gradle ou a CLI do Firebase com contas de serviço. Uma conta de serviço é um tipo de Conta do Google que representa aplicativos, não usuários. O sistema de CI pode usar contas de serviço para executar cargas de trabalho do App Distribution. Para saber mais, consulte Autenticar com uma conta de serviço.
Se você estiver usando a federação de identidade da carga de trabalho, poderá gerar e usar um arquivo de configuração de credencial em vez de uma chave de conta de serviço.
Limites de versões
O App Distribution oferece suporte a um máximo de 1.000 versões por app. Isso significa que, quando você excede o limite, o App Distribution exclui automaticamente as versões mais antigas acima do limite. Para saber como gerenciar os limites de versões, consulte Por quanto tempo as versões do app permanecem disponíveis?
Adicionar o mesmo conjunto de testadores a várias versões
Para adicionar uma grande quantidade de testadores às versões, use a funcionalidade de gerenciamento de testadores em lote do App Distribution.
Recomendamos que você use grupos para adicionar os mesmos testadores a várias versões. Um grupo funciona como uma lista de controle de acesso. Quando você remove um testador de um grupo, ele perde o acesso a todas as versões distribuídas nele. Para saber mais, consulte Adicionar e remover testadores de um grupo.
Se você tem muitos testadores para gerenciar, use o console do Firebase para adicionar e excluir testadores em lote. Para automatizar a adição e remoção de testadores, use a CLI do Firebase, o fastlane, o Gradle ou a API Firebase App Distribution pública.
Limites de testadores
O App Distribution limita quantidade de testadores que pode ser adicionada a um projeto do Firebase ou a um grupo do App Distribution. Se você exceder esses limites, não poderá distribuir o app para outras pessoas. Para saber mais, consulte Há limites para adicionar testadores ao meu app?
Permitir que possíveis testadores se inscrevam em testes
Para facilitar a distribuição do app para mais testadores, recomendamos usar links de convite. Um link de convite é um URL exclusivo que permite aos testadores inserir os endereços de e-mail para se inscreverem e testarem um app. Essa é uma forma simples de aumentar sua base de testes internos.
São exemplos de casos de uso dos links de convite programas dogfood de empresas, organizações com grandes equipes de controle de qualidade e grupos de desenvolvedores que querem que clientes individuais possam controlar o acesso do testador.
Recomendamos criar um link de convite para um grupo. Os testadores que se inscreverem pelo link de convite vão ser adicionados automaticamente às versões subsequentes.
Para saber mais, consulte Criar links de convite e Adicionar e remover testadores de um grupo.
Verificar se uma versão específica está em teste
Quando uma nova versão é enviada, seus testadores são notificados por e-mail. Para complementar essa notificação, você pode usar os links de versão e alertas no app para garantir que os testadores estão usando a versão correta do app:
- Links de versão: use esse recurso quando quiser compartilhar uma versão específica com testadores. Para saber como usar links de versão, consulte Distribuir apps Android aos testadores usando o console do Firebase. Esses links também estão disponíveis nas ferramentas de linha de comando (CLIs) do Firebase, fastlane e Gradle. Você pode usar esses recursos com suas ferramentas de automação de build.
- Alertas no app: use esses alertas para garantir que a versão mais recente do app seja testada. Ao integrar o SDK do Android do Firebase App Distribution, é possível mostrar alertas no app para os testadores quando novos builds estiverem disponíveis. Para saber como fazer isso, acesse Notificar os testadores sobre novos builds.
Remover automaticamente o acesso de testadores que se desligam da empresa
Depois que o fluxo de teste interno de CI/CD estiver em execução, você terá que garantir que as pessoas desligadas da empresa não tenham mais acesso os builds internos. Para ajudar você a gerenciar o acesso dos testadores aos builds, o App Distribution fornece as seguintes opções:
- Fastlane: use seu arquivo Fastfile ou execute ações do fastlane diretamente. Para saber mais, consulte Distribuir apps Android para testadores com o fastlane.
- CLI do Firebase: use a ação
firebase appdistribution:testers:remove
. Para saber mais, consulte Distribuir apps Android para testadores com a CLI do Firebase. - Gradle: se você estiver usando o Gradle para remover testadores, transmita
appDistributionRemoveTesters
com os argumentos
e--PROJECT_NUMBER
no seu arquivo--EMAILS build.gradle
. Para saber mais, consulte Distribuir apps Android para testadores com o Gradle. - API Firebase App Distribution pública: use o endpoint
testers.batchRemove
.