Distribuir apps para Android para testadores com o fastlane

É possível distribuir versões para os testadores usando o fastlane, uma plataforma de código aberto que automatiza a criação e o lançamento de aplicativos para iOS e Android. Ele segue instruções simples definidas em um Fastfile. Depois de configurar o fastlane e o Fastfile, é possível integrar o App Distribution à sua configuração de fastlane.

Etapa 1. Configurar o fastlane

  1. Instalar e configurar o fastlane.

  2. Para adicionar o App Distribution à sua configuração do Fastlane, execute o seguinte comando a partir da raiz do seu projeto Android:

    fastlane add_plugin firebase_app_distribution

    Se o comando solicitar uma escolha, selecione Option 3: RubyGems.org.

Etapa 2. Autenticar com o Firebase

Antes de usar o plug-in do Fastlane, primeiro faça a autenticação com seu projeto do Firebase. Existem três maneiras de fazer isso:

Etapa 3. Configurar o Fastfile e distribuir o app

  1. Em uma pista ./fastlane/Fastfile, adicione um bloco firebase_app_distribution. Use os seguintes parâmetros para configurar a distribuição:
    Parâmetros firebase_app_distribution
    app

    Obrigatório: ID do app do Firebase do seu aplicativo. É possível encontrar o ID do app no Console do Firebase, na página Configurações gerais.

    
    app: "1:1234567890:android:0a1b2c3d4e5f67890"
    firebase_cli_token

    Um token de atualização que é exibido quando você executa a ação de login do plug-in (consulte Autenticar usando uma Conta do Google acima) ou quando autentica o ambiente de CI com a CLI do Firebase. Leia Usar a CLI com sistemas de CI para mais informações.

    service_credentials_file

    O caminho para o arquivo JSON da sua conta de serviço do Google. Veja acima como fazer a autenticação usando credenciais da conta de serviço.

    apk_path

    Caminho absoluto para o arquivo APK que você quer enviar. Se não for especificado, o fastlane determinará o local do arquivo na linha em que o arquivo foi gerado.

    release_notes
    release_notes_file

    Notas da versão deste 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 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 booleana. É possível definir isso como true para imprimir a saída de depuração detalhada.

    Exemplo:
    platform :android do
        desc "My awesome app"
        lane :distribute do
            build_android_app(...) # build_android_app is a built-in fastlane action.
    
            firebase_app_distribution(
                app: "1:123456789:android:abcd1234",
                testers: "tester1@company.com, tester2@company.com",
                release_notes: "Lots of amazing new features to test out!"
            )
    
        end
    end
    
  2. Por fim, para disponibilizar o build para os testadores, execute a linha:
    fastlane <lane>

Depois de distribuir o build, ela fica disponível no painel de App Distribution no 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.