Distribuisci le app per Android ai tester utilizzando l'interfaccia a riga di comando di Firebase


Questa guida descrive come distribuire APK ai tester utilizzando la CLI Firebase. Lo strumento CLI ti consente di specificare i tester e le note di rilascio per una build, quindi distribuisce la build di conseguenza.

Prima di iniziare

Se non l'hai ancora fatto, aggiungi Firebase al tuo progetto Android.

Se non utilizzi altri prodotti Firebase, devi solo creare un progetto e registrare la tua app. Tuttavia, se in futuro decidi di utilizzare altri prodotti, assicurati di completare tutti i passaggi della pagina collegata sopra.

Passaggio 1: Crea la tua app

Quando vuoi distribuire una versione pre-release della tua app ai tester, crea l'APK utilizzando la procedura normale. Devi firmare l'APK con la chiave di debug o la chiave di firma dell'app.

Passaggio 2: Distribuire l'app ai tester

Per distribuire l'app ai tester, carica il file dell'app utilizzando la CLI Firebase:

  1. Installa o esegui l'aggiornamento all'ultima versione dell'interfaccia a riga di comando Firebase (consigliamo di scaricare il file binario autonomo per l'interfaccia a riga di comando specifica per il tuo sistema operativo). Assicurati di accedere e verifica di poter accedere ai tuoi progetti.
  2. Esegui il comando appdistribution:distribute per caricare l'app e distribuirla ai tester. Utilizza i seguenti parametri per configurare la distribuzione:

    appdistribution:distribute options
    --app

    Obbligatorio: l'ID app Firebase della tua app. Puoi trovare l'ID app nella console Firebase, nella pagina Impostazioni generali.

    --app 1:1234567890:android:0a1b2c3d4e5f67890
    --token

    Un token di aggiornamento stampato quando autentichi l'ambiente CI con la CLI Firebase (leggi Utilizzare la CLI con i sistemi CI per maggiori informazioni).

    --token "$FIREBASE_TOKEN"
    --release-notes
    --release-notes-file

    Note di rilascio per questa build.

    Puoi specificare direttamente le note di rilascio:

    --release-notes "Text of release notes"

    In alternativa, specifica il percorso di un file di testo normale:

    --release-notes-file "/path/to/release-notes.txt"
    --testers
    --testers-file

    Gli indirizzi email dei tester che vuoi invitare.

    Puoi specificare i tester come un elenco di indirizzi email separati da virgole:

    --testers "ali@example.com, bri@example.com, cal@example.com"

    In alternativa, puoi specificare il percorso di un file di testo normale contenente un elenco di indirizzi email separati da virgole:

    --testers-file "/path/to/testers.txt"
    --groups
    --groups-file

    I gruppi di tester che vuoi invitare (consulta la sezione Gestire i tester). I gruppi vengono specificati utilizzando gli alias di gruppo, che puoi cercare nella console Firebase.

    Puoi specificare i gruppi come elenco separato da virgole:

    --groups "qa-team, trusted-testers"

    In alternativa, puoi specificare il percorso di un file di testo normale contenente un elenco di nomi di gruppi separati da virgole:

    --groups-file "/path/to/groups.txt"
    --debug

    Un flag che puoi includere per stampare l'output dei log dettagliati.

    --test-devices
    --test-devices-file

    I seguenti tipi di distribuzione fanno parte della funzionalità beta di Automated tester.

    I dispositivi di test su cui vuoi distribuire le build (fai riferimento a Test automatizzati).

    Puoi specificare i tester come un elenco di indirizzi email separati da virgole:

    --test-devices: "model=shiba,version=34,locale=en,orientation=portrait;model=b0q,version=33,locale=en,orientation=portrait"

    In alternativa, puoi specificare il percorso di un file di testo normale contenente un elenco di dispositivi di test separati da punto e virgola:

    --test-devices-file: "/path/to/test-devices.txt"
    --test-username

    Il nome utente per l'accesso automatico da utilizzare durante i test automatizzati.

    --test-password
    --test-password-file

    La password per l'accesso automatico da utilizzare durante i test automatizzati.

    In alternativa, puoi specificare il percorso di un file di testo normale contenente una password:

    --test-password-file: "/path/to/test-password.txt"
    --test-username-resource

    Nome della risorsa per il campo del nome utente per l'accesso automatico da utilizzare durante i test automatizzati.

    --test-password-resource

    Nome della risorsa per il campo della password per l'accesso automatico da utilizzare durante i test automatizzati.

    --test-non-blocking

    Esegui test automatici in modo asincrono. Visita la Console Firebase per visualizzare i risultati dei test automatici.

    Ad esempio:

    firebase appdistribution:distribute test.apk  \
        --app 1:1234567890:android:0a1b2c3d4e5f67890  \
        --release-notes "Bug fixes and improvements" --testers-file testers.txt

    L'interfaccia a riga di comando di Firebase restituisce i seguenti link dopo il caricamento della release. Questi link ti aiutano a gestire i file binari e a garantire che i tester e gli altri sviluppatori abbiano la release corretta:

    • firebase_console_uri: un link alla console Firebase che mostra una singola release. Puoi condividere questo link con altri sviluppatori della tua organizzazione.
    • testing_uri: un link alla release nell'esperienza del tester (app nativa per Android) che consente ai tester di visualizzare le note di rilascio e installare l'app sul proprio dispositivo. Per utilizzare il link, il tester deve avere accesso alla release.
    • binary_download_uri: un link firmato che scarica e installa direttamente il binario dell'app (file APK o AAB). Il link scade dopo un'ora.

    Gestire tester e gruppi

    Oltre a distribuire le release, puoi utilizzare appdistribution:testers:add e appdistribution:testers:remove per invitare nuovi tester o rimuovere i tester esistenti dal tuo progetto Firebase.

    Una volta aggiunto un tester al tuo progetto Firebase, puoi aggiungerlo alle singole release. Una volta rimosso un tester, non avrà più accesso alle release del tuo progetto. Tieni presente che i tester rimossi di recente possono comunque mantenere l'accesso alle tue release per un periodo di tempo.

    Ad esempio:

    firebase appdistribution:testers:add anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove anothertester@email.com moretesters@email.com

    Gli indirizzi email dei tester devono essere separati da uno spazio. Puoi anche specificare i tester utilizzando --file /path/to/testers.txt.

    Se hai un numero elevato di tester, ti consigliamo di utilizzare i gruppi: Puoi utilizzare appdistribution:group:create e appdistribution:group:delete per creare o eliminare gruppi nel tuo progetto Firebase.

    Utilizza --group-alias per specificare un gruppo per i comandi appdistribution:testers:add e appdistribution:testers:remove.

    Ad esempio:

    firebase appdistribution:group:create "QA team" qa-team
    
    firebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.com
    
    firebase appdistribution:group:delete qa-team

Una volta distribuita la build, questa diventa disponibile nella dashboard App Distribution della console Firebase per 150 giorni (cinque mesi). Quando la build è a 30 giorni dalla scadenza, viene visualizzato un avviso di scadenza sia nella console sia nell'elenco delle build dei tester sul dispositivo di test.

I tester che non sono stati invitati a testare l'app ricevono inviti via email per iniziare, mentre i tester esistenti ricevono notifiche email che li informano che una nuova build è pronta per essere testata (leggi la guida alla configurazione dei tester per istruzioni su come installare l'app di test). Puoi monitorare lo stato di ogni tester, ovvero se ha accettato l'invito e se ha scaricato l'app, nella console Firebase.

I tester hanno 30 giorni di tempo per accettare un invito a testare l'app prima che scada. Quando un invito scade tra 5 giorni, nella console Firebase viene visualizzata una notifica di scadenza accanto al tester di una release. Un invito può essere rinnovato inviandolo di nuovo utilizzando il menu a discesa nella riga del tester.

Passaggi successivi