Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Distribuisci app Android ai tester utilizzando Gradle

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

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 Android App Bundle (AAB) ai tester utilizzando il plug-in App Distribution Gradle.

App Distribution si integra con il servizio di condivisione delle app interno di Google Play per elaborare gli AAB caricati e pubblicare APK ottimizzati per le configurazioni dei dispositivi dei tester. La distribuzione di AAB consente di eseguire le seguenti operazioni:

  • Esegui APK ottimizzati (serviti da Google Play) ottimizzati per i dispositivi dei tuoi tester.

  • Scopri ed esegui il debug di problemi specifici del dispositivo.

  • Prova le funzionalità dell'app bundle come l'erogazione delle funzionalità di gioco e l'erogazione delle risorse di gioco .

  • Riduci la dimensione dei download per i tuoi tester.

Permessi richiesti

Per caricare AAB su App Distribution, devi collegare la tua app Firebase a un'app in Google Play . È necessario disporre del livello di accesso richiesto per eseguire queste azioni.

Se non disponi dell'accesso Firebase necessario, puoi chiedere al proprietario di un progetto Firebase di assegnarti il ​​ruolo applicabile tramite le impostazioni IAM della console Firebase . Se hai domande sull'accesso al tuo progetto Firebase, inclusa la ricerca o l'assegnazione di un proprietario, consulta le domande frequenti su "Autorizzazioni e accesso ai progetti Firebase" .

La tabella seguente si applica al collegamento di un'app Firebase a un'app in Google Play, nonché al caricamento di AAB.

Azione nella console Firebase Autorizzazione IAM richiesta Ruoli IAM che includono le autorizzazioni richieste per impostazione predefinita Ruoli aggiuntivi obbligatori
Collega un'app Firebase a un'app in Google Play firebase.playLinks.update Uno dei seguenti ruoli: Accesso a un account sviluppatore Google Play come amministratore
Carica AAB su App Distribution firebaseappdistro.releases.update Uno dei seguenti ruoli: ––

Prima di iniziare

  1. Se non l'hai già fatto, aggiungi Firebase al tuo progetto Android . Alla fine di questo flusso di lavoro, avrai un'app Android Firebase nel tuo progetto Firebase.

    Se non utilizzi nessun altro prodotto Firebase, devi solo creare un progetto e registrare la tua app. Se decidi di utilizzare prodotti aggiuntivi, assicurati di completare tutti i passaggi in Aggiungi Firebase al tuo progetto Android .

  2. Per creare un collegamento Firebase a Google Play e caricare AAB, assicurati che la tua app soddisfi i seguenti requisiti:

    • L'app in Google Play e l'app Firebase per Android sono entrambe registrate utilizzando lo stesso nome del pacchetto.

    • L'app in Google Play viene configurata nella dashboard dell'app e viene distribuita a una delle tracce di Google Play (test interni, test chiusi, test aperti o produzione).

    • La revisione dell'app in Google Play è completa e l'app viene pubblicata. La tua app viene pubblicata se la colonna Stato app mostra uno dei seguenti stati: Test interni (non bozza test interni), Test chiusi, Test aperti o Produzione.

  3. Collega la tua app Android Firebase al tuo account sviluppatore Google Play:

    1. Nella console Firebase, vai alle tue progetto , quindi seleziona la scheda Integrazioni .

    2. Nella scheda Google Play , fai clic su Collegamento .
      Se hai già collegamenti a Google Play, fai invece clic su Gestisci .

    3. Segui le istruzioni sullo schermo per abilitare l'integrazione della distribuzione delle app e seleziona le app Android Firebase da collegare a Google Play.

    Ulteriori informazioni sul collegamento a Google Play .

Passaggio 1. Configura il tuo progetto Android

  1. Nel tuo file Gradle a livello di root (a livello di progetto) ( <project>/build.gradle ), aggiungi il plug-in Gradle di distribuzione app come dipendenza buildscript:

    buildscript {
        repositories {
          // Make sure that you have the following two repositories
          google()  // Google's Maven repository
          mavenCentral()  // Maven Central repository
        }
    
        dependencies {
            ...
            classpath 'com.android.tools.build:gradle:7.2.0'
    
            // Make sure that you have the Google services Gradle plugin dependency
            classpath 'com.google.gms:google-services:4.3.14'
    
            // Add the dependency for the App Distribution Gradle plugin
            classpath 'com.google.firebase:firebase-appdistribution-gradle:3.0.3'
        }
    }
  2. Nel file Gradle del tuo modulo (a livello di app) (di solito <project>/<app-module>/build.gradle ), aggiungi il plug-in Gradle di distribuzione app:

    plugins {
        id 'com.android.application'
    
        // Make sure that you have the Google services Gradle plugin
        id 'com.google.gms.google-services'
    
        // Add the App Distribution Gradle plugin
        id 'com.google.firebase.appdistribution'
        ...
    }
  3. 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 in uno dei seguenti modi. Per impostazione predefinita, il plug-in Gradle cerca le credenziali dalla CLI di Firebase se non viene utilizzato nessun altro metodo di autenticazione.

Passaggio 3. Configura le proprietà della distribuzione

  1. Nel tuo file app/build.gradle , configura App Distribution aggiungendo almeno una sezione firebaseAppDistribution . Ad esempio, per distribuire la build di release ai tester:

    android {
    
        // ...
    
        buildTypes {
            release {
                firebaseAppDistribution {
                    artifactType="AAB"
                    releaseNotesFile="/path/to/releasenotes.txt"
                    testers="ali@example.com, bri@example.com, cal@example.com"
                }
            }
        }
    
        // ...
    }
    
  2. La distribuzione dell'app può essere configurata per i tipi di build e le versioni del prodotto . Ad esempio, per distribuire build di debug e release 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"
              }
          }
        }
    
        // ...
    }
    
  3. 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 google-services.json o nella console Firebase nella pagina Impostazioni generali . Il valore nel tuo file build.gradle sovrascrive il valore emesso dal plug google-services .

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 "AAB" o "APK" .

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 alias di gruppo , che puoi trovare nella scheda Tester della console Firebase App Distribution.

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

  1. Infine, per creare un pacchetto della tua app di test e invitare i tester, crea i target BUILD-VARIANT e appDistributionUpload 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 bundleRelease 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 bundleRelease appDistributionUploadRelease
    
  2. 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="AAB"
      
    • 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 e appDistributionRemoveTesters 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 di tempo 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.