Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Distribuir aplicativos Android para testadores usando fastlane

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Este guia descreve como distribuir compilações AAB para testadores usando fastlane , uma plataforma de código aberto que automatiza a criação e o lançamento de aplicativos iOS e Android. Segue instruções simples definidas em um Fastfile . Depois de configurar o fastlane e seu Fastfile , você pode integrar o App Distribution com sua configuração do fastlane.

O App Distribution se integra ao serviço interno de compartilhamento de aplicativos do Google Play para processar os AABs que você carrega e veicular APKs otimizados para as configurações do dispositivo de seus testadores. A distribuição de AABs permite fazer o seguinte:

  • Execute APKs otimizados (servidos pelo Google Play) otimizados para os dispositivos de seus testadores.

  • Descubra e depure problemas específicos do dispositivo.

  • Teste os recursos do pacote de apps, como o Play Feature Delivery e o Play Asset Delivery .

  • Reduza o tamanho dos downloads para seus testadores.

Permissões necessárias

Para fazer upload de AABs para o App Distribution, você deve vincular seu aplicativo Firebase a um aplicativo no Google Play . Você deve ter o nível de acesso necessário para executar essas ações.

Se você não tiver o acesso necessário ao Firebase, poderá solicitar a um proprietário de projeto do Firebase que atribua a você a função aplicável por meio das 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 a projetos do Firebase" .

A tabela a seguir se aplica à vinculação de um aplicativo Firebase a um aplicativo no Google Play, bem como ao upload de AABs.

Ação no console do Firebase Permissão de IAM necessária Funções do IAM que incluem as permissões necessárias por padrão Função(ões) adicional(is) necessária(s)
Vincule um aplicativo Firebase a um aplicativo no Google Play firebase.playLinks.update Uma das seguintes funções: Acesso a uma conta de desenvolvedor do Google Play como administrador
Carregar AABs para distribuição de aplicativos firebaseappdistro.releases.update Uma das seguintes funções: ––

Antes de você começar

  1. Se ainda não o fez, adicione o Firebase ao seu projeto Android . Ao final deste fluxo de trabalho, você terá um aplicativo Firebase para Android em seu projeto Firebase.

    Se você não estiver usando nenhum outro produto Firebase, basta criar um projeto e registrar seu aplicativo. Se você decidir usar produtos adicionais, conclua todas as etapas em Adicionar Firebase ao seu projeto Android .

  2. Para criar um link do Firebase para o Google Play e fazer upload de AABs, certifique-se de que seu aplicativo atenda aos seguintes requisitos:

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

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

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

  3. Vincule seu aplicativo Firebase para Android à sua conta de desenvolvedor do Google Play:

    1. No console do Firebase, acesse suas projeto e selecione a guia Integrações .

    2. No cartão do Google Play , clique em Link .
      Se você já tiver links para o Google Play, clique em Gerenciar .

    3. Siga as instruções na tela para habilitar a integração do App Distribution e selecione quais Firebase Android Apps vincular ao Google Play.

    Saiba mais sobre como vincular ao Google Play .

Passo 1. Configure o fastlane

  1. Instale e configure o fastlane .

  2. Para adicionar o App Distribution à sua configuração fastlane, execute o seguinte comando na raiz do seu projeto Android:

    fastlane add_plugin firebase_app_distribution

    Se o comando solicitar uma opção, selecione Option 3: RubyGems.org .

Etapa 2. Autenticar com o Firebase

Antes de poder usar o plug-in fastlane, você deve primeiro autenticar com seu projeto Firebase de uma das seguintes maneiras. Por padrão, o plug-in fastlane procura credenciais da Firebase CLI se nenhum outro método de autenticação for usado.

Etapa 3. Configure seu Fastfile e distribua seu aplicativo

  1. Em uma faixa ./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 : o ID do app Firebase do seu app. Você pode encontrar o App ID no Firebase console, na página General Settings .

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

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

    service_credentials_file

    O caminho para o arquivo json da sua conta de serviço do Google. Veja acima como autenticar usando credenciais de conta de serviço .

    android_artifact_type

    Especifica o tipo de arquivo do Android (APK ou AAB).

    android_artifact_path

    Substitui apk_path (obsoleto). Caminho absoluto para o arquivo APK ou AAB que você deseja enviar. Se não for especificado, fastlane determina a localização do arquivo a partir da pista em que o arquivo foi gerado.

    release_notes
    release_notes_file

    Notas de versão para esta compilação.

    Você pode especificar as notas de versão diretamente:

    release_notes: "Text of release notes"

    Ou 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ê deseja convidar.

    Você pode 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"

    Ou você pode especificar o caminho para um arquivo de texto simples contendo uma lista de endereços de e-mail separados por vírgulas:

    testers_file: "/path/to/testers.txt"
    groups
    groups_file

    Os grupos de testadores que você deseja convidar (consulte Gerenciar testadores ). Os grupos são especificados usando apelidos de grupo , que você pode procurar no console do Firebase.

    Você pode especificar os grupos como uma lista separada por vírgulas:

    groups: "qa-team, trusted-testers"

    Ou você pode especificar o caminho para um arquivo de texto simples contendo uma lista separada por vírgulas de nomes de grupo:

    groups_file: "/path/to/groups.txt"
    debug

    Um sinalizador booleano. Você pode definir isso como true para imprimir a saída de depuração detalhada.

platform :android do
    desc "My awesome app"
    lane :distribute do
        build_android_app(task: "bundle", ...)
        # 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!",
            android_artifact_type: "AAB"
        )
    end
end

Para disponibilizar a compilação para testadores, execute sua pista:

fastlane <lane>

O plug-in fastlane gera os seguintes links após o upload da versão. Esses links ajudam você a gerenciar binários e garantir que os testadores e outros desenvolvedores tenham a versão correta:

  • firebase_console_uri - Um link para o console do Firebase exibindo uma única versão. Você pode compartilhar este link com outros desenvolvedores em sua organização.
  • testing_uri - Um link para a versão na experiência do testador (aplicativo nativo do Android) que permite aos testadores visualizar as notas da versão e instalar o aplicativo em seus dispositivos. O testador precisa acessar a versão para usar o link.
  • binary_download_uri - Um link assinado que baixa e instala diretamente o binário do aplicativo (arquivo APK ou AAB). O link expira após uma hora.

Depois de distribuir seu build, ele fica disponível no painel App Distribution do Firebase console por 150 dias. Quando faltam 30 dias para a expiração da compilação, um aviso de expiração aparece no console e na lista de compilações do testador em seu dispositivo de teste.

Os testadores que não foram convidados anteriormente para testar o aplicativo recebem convites por e-mail para começar. Os testadores existentes recebem notificações por e-mail de que uma nova compilação está pronta para teste. Para saber como instalar o aplicativo de teste, consulte o guia de configuração do testador . Você pode monitorar o status de cada testador para determinar se eles aceitaram o convite e se baixaram o aplicativo no Firebase console.

(Opcional) Para incrementar automaticamente seu número de compilação toda vez que criar uma nova versão no App Distribution, você pode usar a ação firebase_app_distribution_get_latest_release e, por exemplo, o plug-in increment_version_code fastlane . O código a seguir fornece um exemplo de como incrementar automaticamente seu número de compilação:

lane :increment_version do
  latest_release = firebase_app_distribution_get_latest_release(
    app: "<your Firebase app ID>"
  )
  increment_version_code({ version_code: latest_release[:buildVersion].to_i + 1 })
end

Para saber mais sobre a ação firebase_app_distribution_get_latest_release , consulte Obter informações sobre a versão mais recente do seu aplicativo .

Passo 4 (Opcional). Gerenciando testadores para a distribuição

Você pode adicionar e remover testadores da versão do seu aplicativo usando o arquivo Fastfile ou executando ações fastlane diretamente. A execução de ações substitui diretamente os valores definidos em seu Fastfile .

Depois que um testador é adicionado ao seu projeto do Firebase, você pode adicioná-lo a versões individuais. Os testadores que são removidos do seu projeto do Firebase não têm mais acesso às versões do seu projeto, mas podem manter o acesso às suas versões por um período de tempo.

Usar Fastfile

# Use lanes to add or remove testers from an app release.
lane(:add_testers) do
  firebase_app_distribution_add_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end

lane(:remove_testers) do
  firebase_app_distribution_remove_testers(
    emails: "foo@google.com,bar@google.com"
    # or file: "/path/to/testers.txt"
  )
end
# Add or remove testers with the terminal
$ fastlane add_testers
$ fastlane remove_testers

Executar ações de via rápida

fastlane run firebase_app_distribution_add_testers emails:"foo@google.com,bar@google.com"

fastlane run firebase_app_distribution_remove_testers emails:"foo@google.com,bar@google.com"

Você também pode especificar testadores usando --file="/path/to/testers.txt em vez de --emails .

As tarefas firebase_app_distribution_add_testers e firebase_app_distribution_remove_testers também aceitam os seguintes argumentos:

  • project_name : o número do seu projeto Firebase.
  • service_credentials_file : o caminho para o arquivo de credenciais de serviço do Google.
  • firebase_cli_token : Token de autenticação para Firebase CLI.

O service_credentials_file e o firebase_cli_token são os mesmos argumentos usados ​​pela ação de upload.

Etapa 5 (opcional). Obtenha informações sobre a versão mais recente do seu aplicativo

Você pode usar a ação firebase_app_distribution_get_latest_release para buscar informações sobre a versão mais recente do seu aplicativo no App Distribution, incluindo informações sobre a versão do aplicativo, notas da versão e horário de criação. Os casos de uso incluem o aumento automático da versão e a transferência das notas da versão anterior.

O valor de retorno da ação é um hash que representa o lançamento mais recente. Este hash também está disponível usando lane_context[SharedValues::FIREBASE_APP_DISTRO_LATEST_RELEASE] . Para obter mais informações sobre os campos disponíveis neste hash, consulte a documentação da API REST .

Parâmetros

parâmetros firebase_app_distribution_get_latest_release
app

Obrigatório : o ID do aplicativo Firebase do seu aplicativo. Você pode encontrar o ID do aplicativo no console do Firebase, na página Configurações gerais .

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

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

service_credentials_file

O caminho para o arquivo json da sua conta de serviço do Google. Veja acima como autenticar usando credenciais de conta de serviço .

debug

Um sinalizador booleano. Você pode definir isso como true para imprimir a saída de depuração detalhada.

Próximos passos

Aprenda as práticas recomendadas para distribuir aplicativos Android para testadores de controle de qualidade usando CI/CD .