Distribuir apps Android para testadores usando a CLI do Firebase


Neste guia, descrevemos como distribuir APKs para testadores usando a CLI do Firebase. A ferramenta da CLI permite especificar testadores e notas da versão e depois distribuir de acordo.

Antes de começar

Adicione o Firebase ao seu projeto para Android, caso ainda não tenha feito isso.

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 na página vinculada acima.

Etapa 1. Criar o aplicativo

Quando você estiver pronto para distribuir uma versão de pré-lançamento do seu aplicativo para os testadores, crie um APK usando seu processo normal. Você precisa assinar o APK com sua chave de depuração ou de assinatura do app.

Etapa 2. Distribuir seu aplicativo 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. Faça login e teste se você tem acesso aos seus projetos.
  2. Na página App Distribution do console do Firebase, selecione o app que você quer distribuir e clique em Começar.
  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 da versão para este build.

    É 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 por 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.

    --test-devices
    --test-devices-file

    Os tipos de distribuição a seguir fazem parte do recurso Beta Testador automatizado.

    Os dispositivos de teste para os quais você quer distribuir builds (consulte Testes automatizados).

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

    --test-devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"

    Também é possível especificar o caminho para um arquivo de texto simples que contenha uma lista de dispositivos de teste separada por ponto e vírgula:

    --test-devices-file: "/path/to/test-devices.txt"
    --test-username

    O nome de usuário para o login automático a ser usado durante os testes automatizados.

    --test-password
    --test-password-file

    A senha para login automático que será usada durante os testes automatizados.

    Se preferir, é possível especificar o caminho para um arquivo de texto simples que contenha uma senha:

    --test-password-file: "/path/to/test-password.txt"
    --test-username-resource

    Nome do recurso para o campo de nome de usuário para login automático que será usado durante os testes automatizados.

    --test-password-resource

    Nome do recurso do campo de senha para login automático que será usado durante os testes automatizados.

    --test-non-blocking

    Execute testes automatizados de forma assíncrona. Acesse o console do Firebase para conferir os resultados do teste automático.

    Por exemplo:

    firebase appdistribution:distribute test.apk  \
        --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.

    Por 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.

    Por 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 do 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 vai 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 app 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