Puoi integrare la distribuzione dell'app nel processo di creazione di Android utilizzando il plug-in Gradle per la distribuzione dell'app. Il plug-in ti consente di specificare i tuoi tester e le note di rilascio nel file build.gradle
della tua app, consentendoti di configurare le distribuzioni per diversi tipi di build e varianti della tua app.
Questa guida descrive come distribuire gli APK ai tester utilizzando il plug-in App Distribution Gradle.
Prima di iniziare
Se non l'hai già fatto, aggiungi Firebase al tuo progetto Android .
Se non utilizzi nessun altro prodotto Firebase, devi solo creare un progetto e registrare la tua app. Tuttavia, se decidi di utilizzare prodotti aggiuntivi in futuro, assicurati di completare tutti i passaggi nella pagina collegata sopra.
Passaggio 1. Configura il tuo progetto Android
Nel tuo file Gradle a livello di progetto (di solito
android/build.gradle
), aggiungi il plug-in App Distribution come dipendenza 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:3.0.2' } }
Nel tuo file Gradle a livello di app (di solito
android/app/build.gradle
), includi il plug-in App Distribution sotto il plug-in Android:apply plugin: 'com.android.application' // ... // Apply the App Distribution Gradle plugin apply plugin: 'com.google.firebase.appdistribution' // ...
Se sei dietro un proxy o un firewall aziendale, aggiungi la seguente proprietà di sistema Java che consente a App Distribution di caricare le tue distribuzioni su Firebase:
-Djavax.net.ssl.trustStore=/path/to/truststore -Djavax.net.ssl.trustStorePassword=password
Passaggio 2. Autenticati con Firebase
Prima di poter utilizzare il plugin Gradle, devi prima autenticarti con il tuo progetto Firebase. Ci sono tre modi per raggiungere questo obiettivo:
- Eseguire il comando seguente:
./gradlew appDistributionLogin
Il comando stampa un collegamento di autenticazione. Apri il collegamento in un browser.
Quando richiesto, accedi al tuo account Google e concedi l'autorizzazione per accedere al tuo progetto Firebase. Il comando Gradle stampa un token di aggiornamento, che il plug-in App Distribution utilizza per autenticarsi con Firebase.
- Impostare la variabile di ambiente
FIREBASE_TOKEN
sul token del passaggio precedente:export FIREBASE_TOKEN=token
L'autenticazione con un account di servizio ti consente di utilizzare in modo flessibile il plug-in con il tuo sistema di integrazione continua (CI). Esistono due modi per fornire le credenziali dell'account di servizio:
- Passa il file della chiave dell'account di servizio a
build.gradle
. Potresti trovare questo metodo conveniente se hai già il file della chiave dell'account di servizio nell'ambiente di compilazione. - Imposta la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALS
in modo che punti al file della chiave dell'account di servizio. Potresti preferire questo metodo se hai già configurato le credenziali predefinite dell'applicazione (ADC) per un altro servizio Google (ad esempio, Google Cloud).
Per autenticarsi utilizzando le credenziali dell'account di servizio:
- In Google Cloud Console, seleziona il tuo progetto e crea un nuovo account di servizio.
- Aggiungi il ruolo di amministratore distribuzione app Firebase .
- Crea una chiave json privata e sposta la chiave in una posizione accessibile al tuo ambiente di compilazione. Assicurati di conservare questo file in un luogo sicuro , poiché garantisce l'accesso dell'amministratore alla distribuzione dell'app nel tuo progetto Firebase.
- Salta questo passaggio se hai creato la tua app dopo il 20 settembre 2019: nella console delle API di Google, abilita l' API Firebase App Distribution. Quando richiesto, seleziona il progetto con lo stesso nome del tuo progetto Firebase.
Fornisci o individua le credenziali del tuo account di servizio:
- Per passare a Gradle la chiave dell'account di servizio, nel file
build.gradle
, imposta la proprietàserviceCredentialsFile
sul file JSON della chiave privata. Per individuare le tue credenziali con ADC, imposta la variabile di ambiente
GOOGLE_APPLICATION_CREDENTIALS
sul percorso del file JSON della chiave privata. Ad esempio:export GOOGLE_APPLICATION_CREDENTIALS=/absolute/path/to/credentials/file.json
Per ulteriori informazioni sull'autenticazione con ADC, leggere Fornire credenziali all'applicazione.
- Per passare a Gradle la chiave dell'account di servizio, nel file
Consulta Accedi con l'interfaccia a riga di comando di Firebase per istruzioni su come autenticare il tuo progetto.
Passaggio 3. Configura le proprietà della distribuzione
Nel tuo file
app/build.gradle
, configura App Distribution aggiungendo almeno una sezionefirebaseAppDistribution
. Ad esempio, per distribuire la build direlease
ai tester:android { // ... buildTypes { release { firebaseAppDistribution { artifactType="APK" releaseNotesFile="/path/to/releasenotes.txt" testers="ali@example.com, bri@example.com, cal@example.com" } } } // ... }
La distribuzione dell'app può essere configurata per i tipi di build e le versioni del prodotto . Ad esempio, per distribuire build di
debug
erelease
in versioni di prodotto "demo" e "complete":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" } } } // ... }
Utilizzare i seguenti parametri per configurare la distribuzione:
Parametri di compilazione della distribuzione dell'app | |
---|---|
appId | L'ID app Firebase della tua app. Richiesto solo se non hai installato il plug-in Gradle di Google Services. Puoi trovare l'ID app nel file appId="1:1234567890:android:321abc456def7890" |
serviceCredentialsFile | Il percorso del file JSON della chiave privata dell'account di servizio. Richiesto solo se utilizzi l'autenticazione dell'account di servizio. |
artifactType | Specifica il tipo di file dell'app. Può essere impostato su |
artifactPath | Percorso assoluto del file APK o AAB che desideri caricare. |
releaseNotes o releaseNotesFile | Note sulla versione per questa build. È possibile specificare direttamente le note sulla versione o il percorso di un file di testo normale. |
testers o testersFile | Gli indirizzi email dei tester a cui vuoi distribuire le build. Puoi specificare i tester come un elenco di indirizzi e-mail separati da virgole: testers="ali@example.com, bri@example.com, cal@example.com" In alternativa, puoi specificare il percorso di un file contenente un elenco di indirizzi e-mail separati da virgole: testersFile="/path/to/testers.txt" |
groups o groupsFile di gruppi | I gruppi di tester a cui vuoi distribuire le build (vedi Gestire i tester ). I gruppi vengono specificati utilizzando Puoi specificare i gruppi come un elenco separato da virgole di alias di gruppo: groups="qa-team, android-testers" In alternativa, puoi specificare il percorso di un file contenente un elenco separato da virgole di alias di gruppo: groupsFile="/path/to/tester-groups.txt" |
stacktrace | Stampa lo stacktrace per le eccezioni utente. Ciò è utile durante il debug dei problemi. |
Passaggio 4. Distribuisci la tua app ai tester
Infine, per creare un pacchetto della tua app di test e invitare i tester, crea i target
BUILD-VARIANT
eappDistributionUpload BUILD-VARIANT
con il wrapper Gradle del tuo progetto, dove BUILD-VARIANT è il tipo di prodotto e build facoltativo che hai configurato nel passaggio precedente. Per ulteriori informazioni sulle varianti di prodotto, consulta Configurare varianti di build .Ad esempio, per distribuire la tua app utilizzando la
release
build variant, esegui il comando seguente:./gradlew assembleRelease appDistributionUploadRelease
Oppure, se ti sei autenticato con il tuo account Google e non hai fornito le credenziali nel tuo file di build Gradle, includi la variabile
FIREBASE_TOKEN
:export FIREBASE_TOKEN=1/a1b2c3d4e5f67890 ./gradlew --stop // Only needed for environment variable changes ./gradlew assembleRelease appDistributionUploadRelease
Puoi anche sovrascrivere i valori impostati nel tuo file
build.gradle
passando argomenti della riga di comando sotto forma di--<property-name>=<property-value>
. Per esempio:Per caricare una build di debug in App Distribution:
./gradlew bundleDebug appDistributionUploadDebug --artifactType="APK"
Per invitare tester aggiuntivi o rimuovere tester esistenti dal tuo progetto Firebase:
./gradlew appDistributionAddTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
./gradlew appDistributionRemoveTesters --projectNumber=<project_number> --emails="anothertester@email.com, moretesters@email.com"
Una volta che un tester è stato aggiunto al tuo progetto Firebase, puoi aggiungerlo a singole versioni. I tester che vengono rimossi non avranno più accesso ai rilasci nel tuo progetto, ma potrebbero comunque mantenere l'accesso ai rilasci per un periodo di tempo.
Puoi anche specificare i tester usando
--file="/path/to/testers.txt"
invece di--emails
.Le attività
appDistributionAddTesters
eappDistributionRemoveTesters
accettano anche i seguenti argomenti:projectNumber
: il numero del tuo progetto Firebase.serviceCredentialsFile
: il percorso del file delle credenziali del servizio Google. Questo è lo stesso argomento utilizzato dall'azione di caricamento.
Una volta distribuita, la build diventa disponibile nella dashboard di distribuzione app della console Firebase per 150 giorni (cinque mesi). Quando la build è trascorsi 30 giorni dalla scadenza, viene visualizzato un avviso di scadenza sia nella console che nell'elenco delle build del tester sul dispositivo di test.
I tester che non sono stati invitati a testare l'app ricevono inviti e-mail per iniziare e i tester esistenti ricevono notifiche e-mail che una nuova build è pronta per il test (leggi la guida alla configurazione del tester per istruzioni su come installare l'app di test). Puoi monitorare lo stato di ogni tester, se ha accettato l'invito e se ha scaricato l'app, nella console di Firebase.
I tester hanno 30 giorni per accettare un invito a testare l'app prima che scada. Quando un invito è trascorsi 5 giorni dalla scadenza, viene visualizzato un avviso di scadenza nella console Firebase accanto al tester su una versione. Un invito può essere rinnovato inviandolo nuovamente utilizzando il menu a discesa nella riga del tester.
Passo successivo
Visita il codelab di Android App Bundle per scoprire come distribuire le versioni di app bundle passo dopo passo.