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 viáveis e passíveis de repetição em um ambiente de CI/CD. As soluções incluem o Gradle e o fastlane, mas, para maior 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, mostramos os limites de versão e de 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. Senão, você vai receber um erro 404.
Para ativar o App Distribution, siga as etapas abaixo:
- Abra a página "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 com o fastlane.
Usar o Gradle
Use o Gradle para integrar o App Distribution ao seu processo de compilação do
Android utilizando o plug-in do App Distribution para Gradle. Com o plug-in, você pode especificar testadores e notas da versão no arquivo build.gradle
do seu app. Assim, é possível configurar
distribuições para diferentes tipos de builds e variantes.
Para saber como integrar o App Distribution ao Gradle, consulte Distribuir apps Android para testadores com o Gradle.
Usar a CLI do Firebase
Use as ferramentas da CLI do Firebase que o App Distribution fornece para distribuir os 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, e não usuários. O sistema de CI usa contas de serviço para executar as cargas de trabalho do App Distribution. Saiba mais em 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 suporta até 1.000 versões por app. Isso significa que, quando você excede o limite, o App Distribution exclui automaticamente as versões mais antigas. 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 massa 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, adicione e exclua testadores em massa usando o Console do Firebase. Para automatizar a adição e a remoção de testadores, utilize a CLI do Firebase, o fastlane, o Gradle ou a API Firebase App Distribution pública.
Limites de testadores
O App Distribution limita o número de testadores que podem ser adicionados 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 os 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 em nossas ferramentas de linha de comando (CLIs) do Firebase, fastlane e Gradle. Você pode usar esses recursos com suas ferramentas de automação do build.
- Alertas no app: use esses avisos para garantir que a versão mais recente do app seja testada. Ao integrar o SDK do Firebase App Distribution para Android, você pode mostrar alertas no app para seus testadores quando novos builds estiverem disponíveis. Para saber como, 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 no gerenciamento do acesso de testadores aos builds, o App Distribution oferece 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
.