Distribuir apps Android para testadores usando a CLI do Firebase

Neste guia, descrevemos como distribuir Android App Bundles (AABs) para testadores usando a CLI do Firebase. A ferramenta da CLI permite especificar testadores e notas para uma versão e depois distribuir de acordo.

O App Distribution é integrado ao serviço de Compartilhamento interno de apps do Google Play para processar os AABs enviados e disponibilizar APKs otimizados para os Configuradores de dispositivo dos seus testadores. Com a distribuição de AABs, você pode fazer o seguinte:

  • Executar APKs (distribuídos pelo Google Play) que são otimizados para os dispositivos dos seus testadores

  • Descobrir e depurar problemas específicos do dispositivo

  • Testar recursos do pacote de app, como o Play Feature Delivery e o Play Asset Delivery

  • Reduzir o tamanho dos downloads para seus testadores

Permissões necessárias

Para fazer upload de AABs no App Distribution, vincule seu app do Firebase a um aplicativo no Google Play. Você precisa ter o nível de acesso necessário para realizar essas ações.

Se você não tiver o acesso necessário do Firebase, peça a um proprietário de projeto do Firebase para atribuir a você o papel aplicável usando as configurações de IAM do Console do Firebase. Se você tiver dúvidas sobre como acessar seu projeto do Firebase, incluindo encontrar ou atribuir um proprietário, consulte as Perguntas frequentes sobre permissões e acesso aos projetos do Firebase.

A tabela a seguir se aplica à vinculação de um app do Firebase a um aplicativo no Google Play e ao upload de AABs.

Ação no Console do Firebase Permissão do IAM obrigatória Papéis do IAM que incluem as permissões necessárias por padrão Outros papéis necessários
Vincular um app do Firebase a um aplicativo no Google Play firebase.playLinks.update Um dos seguintes papéis: Acesso a uma conta de desenvolvedor do Google Play como Administrador
Fazer upload de AABs no App Distribution firebaseappdistro.releases.update Um dos seguintes papéis: ––

Antes de começar

  1. Adicione o Firebase ao seu projeto para Android, caso ainda não tenha feito isso. No final deste fluxo de trabalho, você terá um app Android do Firebase no seu projeto.

    Caso você não use outros produtos do Firebase, basta criar um projeto e registrar seu app. Se quiser usar outros produtos, conclua todas as etapas em Adicionar o Firebase ao seu projeto do Android.

  2. Para criar um link do Firebase para o Google Play e fazer upload de AABs, verifique se seu app atende aos seguintes requisitos:

    • O app no Google Play e o app Android do Firebase são registrados usando o mesmo nome de pacote.

    • O app no Google Play é configurado no painel do app e distribuído para uma das faixas do Google Play: teste interno, teste fechado, teste aberto ou produção.

    • A avaliação do app no Google Play é concluída e ele é publicado. Seu app será publicado se a coluna Status do app exibir um dos seguintes status: teste interno (e não teste interno de rascunho), teste fechado, teste aberto ou produção.

  3. Vincule o app Android do Firebase à sua conta de desenvolvedor do Google Play:

    1. No Console do Firebase, acesse as Configurações do projeto e selecione a guia Integrações.

    2. No card do Google Play, clique em Vincular.
      Se você já tiver links para o Google Play, clique em Gerenciar.

    3. Siga as instruções exibidas na tela para ativar a integração do App Distribution e selecione quais apps Android do Firebase serão vinculados ao Google Play.

    Saiba mais sobre como vincular ao Google Play.

Etapa 1. Criar o aplicativo

Quando quiser distribuir uma versão de pré-lançamento do seu app para os testadores, crie seu AAB. Consulte a documentação do Android Studio para conferir as instruções.

Etapa 2. Distribuir seu app para os testadores

Para distribuir seu app para os testadores, faça o upload do arquivo do app usando a CLI do Firebase:

  1. Instale ou atualize para a versão mais recente da CLI do Firebase. Recomendamos que você faça download do binário autônomo para a CLI específica do seu SO. Certifique-se de fazer login e testar para ver se consegue acessar seus projetos.
  2. Na página "App Distribution" do Console do Firebase, selecione o aplicativo que você quer distribuir e clique em Primeiros passos.
  3. Execute o comando appdistribution:distribute para fazer upload do app e distribuir aos testadores. Use os seguintes parâmetros para configurar a distribuição:

    Opções appdistribution:distribute
    --app

    Obrigatório: ID do app do Firebase do seu aplicativo. Encontre o ID do app no Console do Firebase na página "Configurações gerais".

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --token

    Um token de atualização que é impresso quando você autentica o ambiente de CI com a CLI do Firebase. Para mais informações, consulte Usar a CLI com sistemas de CI .

    --token "$FIREBASE_TOKEN"
    --release-notes
    --release-notes-file

    Notas para esta versão.

    É possível especificar as notas da versão diretamente:

    --release-notes "Text of release notes"

    Como opção, especifique o caminho para um arquivo de texto simples:

    --release-notes-file "/path/to/release-notes.txt"
    --testers
    --testers-file

    Os endereços de e-mail dos testadores que você quer convidar.

    É possível especificar os testadores como uma lista separada por vírgulas de endereços de e-mail:

    --testers "ali@example.com, bri@example.com, cal@example.com"

    Como opção, especifique o caminho para um arquivo de texto simples que contém uma lista separada por vírgulas de endereços de e-mail:

    --testers-file "/path/to/testers.txt"
    --groups
    --groups-file

    Os grupos de testadores que você quer convidar (consulte Gerenciar testadores). Grupos são especificados usando aliases de grupo, que podem ser encontrados no Console do Firebase.

    É possível especificar os grupos como uma lista separada por vírgulas:

    --groups "qa-team, trusted-testers"

    Também é possível especificar o caminho para um arquivo de texto simples contendo uma lista separada por vírgulas de nomes de grupos:

    --groups-file "/path/to/groups.txt"
    --debug

    Uma sinalização que você pode incluir para exibir a saída de registro detalhado.

    Exemplo:

    firebase appdistribution:distribute test.aab  \
        --app 1:1234567890:android:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt
    

    A CLI do Firebase produz os seguintes links após o upload da versão. Esses links ajudam a gerenciar binários e garantir que os testadores e outros desenvolvedores tenham a versão certa:

    • firebase_console_uri: um link para o Console do Firebase que exibe uma única versão. Você pode compartilhar esse link com outros desenvolvedores na sua organização.
    • testing_uri: um link para a versão na experiência do testador (app nativo do Android) que permite que os testadores vejam as notas da versão e instalem o app no dispositivo. O testador precisa de acesso à versão para usar o link.
    • binary_download_uri: um link assinado que faz o download e instala diretamente o binário do app (arquivo APK ou AAB). O link expira depois de uma hora.

    Gerenciar testadores e grupos

    Além de distribuir versões, também é possível usar appdistribution:testers:add e appdistribution:testers:remove para convidar novos testadores ou remover os atuais do seu projeto do Firebase.

    Depois que um testador for adicionado ao seu projeto do Firebase, essa pessoa poderá ser incluída em versões individuais. Depois de remover um testador, essa pessoa não terá mais acesso às versões do seu projeto. Testadores removidos recentemente ainda podem manter o acesso às versões por um período.

    Exemplo:

    firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com
    

    Os e-mails de testadores precisam ser separados por um espaço. Também é possível especificar testadores usando --file /path/to/testers.txt.

    Se você tiver um grande número de testadores, considere usar grupos: Use appdistribution:group:create e appdistribution:group:delete para criar ou excluir grupos no projeto do Firebase.

    Use --group-alias para especificar um grupo para os comandos appdistribution:testers:add e appdistribution:testers:remove.

    Exemplo:

    firebase appdistribution:group:create "QA team" qa-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team
    

Depois de distribuir o build, ele fica disponível no painel App Distribution do Console do Firebase por 150 dias (cinco meses). Quando faltarem 30 dias para o vencimento do build, o aviso de expiração aparecerá no console e na lista de builds do testador no dispositivo de teste.

Os testadores que não foram convidados para testar o app recebem convites por e-mail para dar os primeiros passos, e os testadores atuais recebem notificações por e-mail informando que um novo build está pronto para ser testado (leia o guia de configuração do testador para ver instruções sobre como instalar o app de teste). É possível monitorar o status de cada testador, por exemplo, se ele aceitou o convite e se fez o download do aplicativo no Console do Firebase.

Os testadores têm 30 dias para aceitar um convite de teste do app antes que ele expire. Quando faltarem cinco dias para o vencimento do convite, um aviso de expiração vai aparecer no Console do Firebase ao lado do testador em uma versão. Para renovar um convite, reenvie-o usando o menu suspenso na linha do testador.

Próximas etapas