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 iOS para testadores usando fastlane

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

Você pode distribuir compilações para testadores usando fastlane , uma plataforma de código aberto que automatiza a criação e o lançamento de aplicativos iOS e Android. Ele segue instruções simples definidas em um Fastfile . Depois de configurar o fastlane e seu Fastfile , você pode integrar o App Distribution à configuração do fastlane.

Etapa 1. Configure a via rápida

  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 iOS:

    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 usar o plug-in fastlane, você deve primeiro se autenticar com seu projeto do Firebase de uma das maneiras a seguir. 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 via ./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 apenas se seu aplicativo não contiver um arquivo de configuração do Firebase ( GoogleService-Info.plist ) : o ID do aplicativo Firebase do seu aplicativo. Você pode encontrar o App ID no Firebase console, na página General Settings .

    app: "1:1234567890:ios:0a1b2c3d4e5f67890"
    googleservice_info_plist_path

    O caminho para seu arquivo GoogleService-Info.plist , relativo ao caminho do produto arquivado. Definido como GoogleService-Info.plist por padrão.

    O arquivo é usado para obter o ID do aplicativo do Firebase do seu aplicativo se o parâmetro do app não for especificado.

    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 .

    ipa_path

    Substitui apk_path (obsoleto). Caminho absoluto para o arquivo IPA que você deseja carregar. 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 de endereços de e-mail separados por vírgulas:

    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 aliases de grupo , que você pode pesquisar 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 grupos:

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

    Uma bandeira booleana. Você pode definir isso como true para imprimir a saída de depuração detalhada.

Por exemplo:

platform :ios do
    desc "My awesome app"
    lane :distribute do
        build_ios_app(...)
        # build_ios_app is a built-in fastlane action.

        firebase_app_distribution(
            app: "1:123456789:ios:abcd1234",
            testers: "tester1@company.com, tester2@company.com",
            release_notes: "Lots of amazing new features to test out!"
        )

    end
end

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

fastlane <lane>

Depois de distribuir sua compilação, ela fica disponível no painel do App Distribution do Firebase console por 150 dias. Quando faltam 30 dias para a compilação expirar, um aviso de expiração é exibido 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 email de que uma nova compilação está pronta para teste. Para saber como instalar o aplicativo de teste, consulte Configurar como testador . Você pode monitorar o status de cada testador para determinar se eles aceitaram o convite e se fizeram o download do aplicativo no Firebase console.

(Opcional) Para incrementar automaticamente seu número de compilação sempre que criar uma nova versão no App Distribution, você pode usar a ação firebase_app_distribution_get_latest_release e a ação increment_build_number . 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_build_number({ build_number: latest_release[:buildVersion].to_i + 1 })
end

Para saber mais sobre esse recurso de plug-in fastlane, consulte Obter informações sobre a versão mais recente do seu aplicativo .

Etapa 4 (opcional). Gerenciar 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 do 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 removidos do seu projeto do Firebase não têm mais acesso às versões do seu projeto, mas podem reter 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

Execute 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 do 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). Receba 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 de versão do aplicativo, notas de lançamento e tempo de criação. Os casos de uso incluem o aumento automático da versão e a transferência das notas de versão da versão anterior.

O valor de retorno da ação é um hash que representa a versão mais recente. Esse 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 apenas se seu aplicativo não contiver um arquivo de configuração do Firebase ( GoogleService-Info.plist ) : o ID do aplicativo Firebase do seu aplicativo. Você pode encontrar o App ID no Firebase console, na página General Settings .

app: "1:1234567890:ios:0a1b2c3d4e5f67890"
googleservice_info_plist_path

O caminho para seu arquivo GoogleService-Info.plist , relativo ao caminho do produto arquivado. Definido como GoogleService-Info.plist por padrão.

O arquivo é usado para obter o ID do aplicativo do Firebase do seu aplicativo se o parâmetro do app não for especificado.

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

Uma bandeira booleana. Você pode definir isso como true para imprimir a saída de depuração detalhada.

Próximos passos