É possível integrar o App Distribution ao seu processo de compilação do Android usando o plug-in do App Distribution do Gradle. O plug-in permite que você especifique testadores e notas de lançamento no arquivo build.gradle
do seu aplicativo. Assim, você pode configurar distribuições para diferentes tipos de builds e variantes do seu aplicativo.
Antes de começar
Adicione o Firebase ao seu projeto para Android, caso ainda não tenha feito isso.
Caso não use outros produtos do Firebase, basta criar um projeto e registrar seu aplicativo. No entanto, caso decida usar produtos adicionais no futuro, não esqueça de concluir todas as etapas na página vinculada acima.
Etapa 1. Configurar seu projeto do Android
No arquivo do Gradle no nível do projeto, que geralmente é
android/build.gradle
, adicione o plug-in do App Distribution como uma dependência do buildscript:buildscript { repositories { // Check that you have Google's Maven repository (if not, add it). google() jcenter() } dependencies { // Add the App Distribution Gradle plugin classpath 'com.google.firebase:firebase-appdistribution-gradle:2.0.1' } }
No arquivo do Gradle no nível do aplicativo, que geralmente é
android/app/build.gradle
, inclua o plug-in do App Distribution abaixo do plug-in do Android:apply plugin: 'com.android.application' // ... // Apply the App Distribution Gradle plugin apply plugin: 'com.google.firebase.appdistribution' // ...
Se você tiver um proxy ou firewall corporativo ativado, adicione a seguinte propriedade do sistema Java que permite que o App Distribution faça upload das suas distribuições para o Firebase:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
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 suas propriedades de distribuição
No seu arquivo
app/build.gradle
, configure o App Distribution adicionando pelo menos uma seçãofirebaseAppDistribution
. É possível configurar o App Distribution para tipos de builds e variações de produtos. Por exemplo, para distribuir o buildrelease
aos testadores:android { // ... buildTypes { release { firebaseAppDistribution { releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
E para distribuir os builds
debug
erelease
nas variações de produtos "demonstração" e "completa":android { // ... buildTypes { debug {...} release {...} } flavorDimensions "version" productFlavors { demo { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for demo version" testers="demo@testers.com" } } full { dimension "version" firebaseAppDistribution { releaseNotes="Release notes for full version" testers="full@testers.com" } } } // ... }
Use os seguintes parâmetros para configurar a distribuição:
Parâmetros do build do App Distribution | |
---|---|
appId
|
ID do app do Firebase do seu aplicativo. Obrigatório apenas se você não tiver instalado o plug-in Gradle dos Serviços do Google. Você encontra o ID do aplicativo no arquivo appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile
|
O caminho para o arquivo JSON da chave privada da conta de serviço. Obrigatório apenas se você usar a autenticação da conta de serviço. |
apkPath
|
Caminho absoluto ou relativo para o arquivo APK que você quer fazer upload. Se não for especificado, o Gradle determinará o local do arquivo usando o diretório de saída do APK. |
releaseNotes ou releaseNotesFile |
Notas de lançamento para este build. É possível especificar as notas de lançamento diretamente ou o caminho para um arquivo de texto simples. |
testers ou testersFile |
Os endereços de e-mail dos testadores para os quais você quer distribuir builds. É 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, é possível especificar o caminho para um arquivo que contenha uma lista de endereços de e-mail separados por vírgulas: testersFile="/path/to/testers.txt" |
groups ou groupsFile |
Os grupos de testadores para os quais você quer distribuir builds (consulte
Gerenciar testadores).
Os grupos são especificados usando É possível especificar os grupos como uma lista separada por vírgulas de aliases de grupo: groups="qa-team, android-testers" Também é possível especificar o caminho para um arquivo que contenha uma lista separada por vírgulas de aliases de grupo: groupsFile="/path/to/tester-groups.txt" |
stacktrace
|
Imprime o rastreamento de pilha para exceções do usuário. Isso é útil ao depurar problemas. |
Etapa 4. Distribuir seu aplicativo para os testadores
Por último, para empacotar o aplicativo de teste e convidar testadores, crie os destinos
assembleBUILD-VARIANT
e
appDistributionUploadBUILD-VARIANT
com o wrapper do Gradle
do projeto, em que BUILD-VARIANT é a variação de produto opcional
e o tipo de build que você configurou na etapa anterior. Para mais informações sobre as
variações de produtos, consulte Configurar variantes de build.
Por exemplo, para distribuir seu aplicativo usando a variante de build release
, execute o
seguinte comando:
./gradlew assembleRelease appDistributionUploadRelease
Ou, se você autenticou com sua Conta do Google
e não forneceu credenciais em seu arquivo de build do Gradle, inclua a variável
FIREBASE_TOKEN
:
export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew assembleRelease appDistributionUploadRelease
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.