Questa guida descrive come distribuire Android App Bundle (AAB) ai tester utilizzando l'interfaccia a riga di comando Firebase. Lo strumento CLI ti consente di specificare i tester e le note di rilascio per una build, quindi distribuisce la build di conseguenza.
App Distribution si integra con il servizio di condivisione interna delle app di Google Play per elaborare gli AAB che carichi e pubblicare APK ottimizzati per le configurazioni dei dispositivi dei tuoi tester. La distribuzione degli AAB ti consente di:
Esegui APK ottimizzati (pubblicati da Google Play) per i dispositivi dei tuoi tester.
Scopri ed esegui il debug di problemi specifici dei dispositivi.
Testa le funzionalità degli app bundle, come Play Feature Delivery e Play Asset Delivery.
Riduci le dimensioni dei download per i tester.
Autorizzazioni obbligatorie
Per caricare gli AAB su App Distribution, devi collegare la tua app Firebase a un'app in Google Play. Devi disporre del livello di accesso richiesto per eseguire queste azioni.
Se non disponi dell'accesso Firebase necessario, puoi chiedere a un Project Owner di un progetto Firebase di assegnarti il ruolo applicabile utilizzando le impostazioni IAM della console Firebase. Se hai domande sull'accesso al tuo progetto Firebase, ad esempio su come trovare o assegnare un proprietario, consulta le domande frequenti su "Autorizzazioni e accesso ai progetti Firebase".
La seguente tabella 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 obbligatoria | Ruoli IAM che includono le autorizzazioni richieste per impostazione predefinita | Ruoli aggiuntivi richiesti |
|---|---|---|---|
| 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 gli AAB su App Distribution | firebaseappdistro.releases.update
|
Uno dei seguenti ruoli: | –– |
Prima di iniziare
Se non l'hai già fatto, aggiungi Firebase al tuo progetto Android. Al termine di questo workflow, avrai un'app Firebase per Android nel tuo progetto Firebase.
Se non utilizzi altri prodotti Firebase, devi solo creare un progetto e registrare la tua app. Se decidi di utilizzare altri prodotti, assicurati di completare tutti i passaggi descritti in Aggiungi Firebase al tuo progetto Android.
Apri la pagina App Distribution della console Firebase. Seleziona il tuo progetto Firebase quando richiesto, seleziona la tua app utilizzando il selettore di app e fai clic su Inizia.
Per creare un collegamento da 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 vengono registrate entrambe con lo stesso nome di pacchetto.
L'app in Google Play viene configurata nella dashboard dell'app e distribuita a uno dei canali Google Play (test interno, chiuso, aperto o produzione).
La revisione dell'app in Google Play è stata completata e l'app pubblicata. L'app viene pubblicata se la colonna Stato app mostra uno dei seguenti stati: test interno (non test interno in versione bozza), test chiuso, test aperto o produzione.
Collega l'app per Android Firebase al tuo account sviluppatore Google Play:
Nella console Firebase, vai a
Impostazioni progetto , quindi seleziona la scheda Integrazioni.Nella scheda Google Play, fai clic su Collega.
Se hai già dei collegamenti a Google Play, fai clic su Gestisci.Segui le istruzioni sullo schermo per attivare l'integrazione di App Distribution e seleziona le app Firebase per Android da collegare a Google Play.
Scopri di più sul collegamento a Google Play.
Passaggio 1: Crea la tua app
Quando è tutto pronto per distribuire una versione di pre-release della tua app ai tester, crea l'AAB (consulta la documentazione di Android Studio per istruzioni).
Passaggio 2: Distribuisci l'app ai tester
Per distribuire la tua app ai tester, carica il file dell'app utilizzando l'interfaccia a riga di comando Firebase:
- 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 eseguire l'accesso e verifica di poter accedere ai tuoi progetti.
-
Esegui il comando
appdistribution:distributeper caricare l'app e distribuirla ai tester. Utilizza i seguenti parametri per configurare la distribuzione:appdistribution:distribute options --appObbligatorio: l'ID app Firebase della tua app. Puoi trovare l'ID app nella console Firebase, nella pagina Impostazioni generali.
--app 1:1234567890:android:0a1b2c3d4e5f67890
--tokenUn token di aggiornamento che viene stampato quando autentichi il tuo ambiente CI con l'interfaccia a riga di comando Firebase (per saperne di più, consulta Utilizza l'interfaccia a riga di comando con i sistemi CI ).
--token "$FIREBASE_TOKEN"
--release-notes
--release-notes-fileNote di rilascio per questa build.
Puoi specificare le note di rilascio direttamente:
--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-fileGli indirizzi email dei tester che vuoi invitare.
Puoi specificare i tester come elenco separato da virgole di indirizzi email:
--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 separato da virgole di indirizzi email:
--testers-file "/path/to/testers.txt"
--groups
--groups-fileI gruppi di tester che vuoi invitare (consulta la sezione Gestisci i tester). I gruppi vengono specificati utilizzando gli
alias dei gruppi , 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 separato da virgole di nomi di gruppi:
--groups-file "/path/to/groups.txt"
--debugUn flag che puoi includere per stampare l'output di log dettagliato.
--test-devices
--test-devices-fileI dispositivi di test su cui vuoi eseguire i test dell'agente App Testing.
Puoi specificare i dispositivi di test come un elenco di specifiche dei dispositivi separati da punto e virgola:
--test-devices: "model=shiba,version=34,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-usernameIl nome utente per l'accesso automatico da utilizzare durante i test dell'agente App Testing.
--test-password
--test-password-fileLa password per l'accesso automatico da utilizzare durante i test dell'agente App Testing.
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-resourceNome della risorsa per il campo del nome utente per l'accesso automatico da utilizzare durante i test dell'agente App Testing.
--test-password-resourceNome della risorsa per il campo della password per l'accesso automatico da utilizzare durante i test dell'agente App Testing.
--test-non-blockingSe impostato durante l'esecuzione dei test dell'agente App Testing, il comando avvierà i test e poi restituirà immediatamente il risultato anziché attendere il completamento. Per visualizzare i risultati dei test, visita la console Firebase. Se questo flag non è impostato, il comando verrà bloccato fino al completamento dei test e uscirà con un codice di errore se uno dei test non va a buon fine.
--results-bucketUn bucket Google Cloud Storage (GCS) personalizzato in cui vengono archiviati i risultati dei test. Se il campo viene lasciato vuoto, verrà utilizzato il bucket predefinito. Il bucket deve essere di proprietà di un progetto con fatturazione abilitata e la specifica di un bucket comporta addebiti di fatturazione per lo spazio di archiviazione utilizzato.
Ad esempio:
firebase appdistribution:distribute test.aab \ --app 1:1234567890:android:0a1b2c3d4e5f67890 \ --release-notes "Bug fixes and improvements" --testers-file testers.txtL'interfaccia a riga di comando di Firebase genera i seguenti link dopo il caricamento della release. Questi link ti aiutano a gestire i file binari e ad assicurarti 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 per i tester (app per Android integrata) che consente ai tester di visualizzare le note di rilascio e installare l'app sul proprio dispositivo. Il tester deve avere accesso alla release per poter utilizzare il link.binary_download_uri: un link firmato che scarica e installa direttamente il file binario dell'app (file APK o AAB). Il link scade dopo un'ora.
Gestisci tester e gruppi
Oltre a distribuire le release, puoi anche utilizzare
appdistribution:testers:addeappdistribution:testers:removeper invitare nuovi tester o rimuovere quelli esistenti dal tuo progetto Firebase.Una volta aggiunto un tester al tuo progetto Firebase, puoi aggiungerlo alle singole release. Una volta rimosso un tester, questo 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.comfirebase appdistribution:testers:remove anothertester@email.com moretesters@email.comGli 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:createeappdistribution:group:deleteper creare o eliminare gruppi nel tuo progetto Firebase.Utilizza
--group-aliasper specificare un gruppo per i comandiappdistribution:testers:addeappdistribution:testers:remove.Ad esempio:
firebase appdistribution:group:create "QA team" qa-teamfirebase appdistribution:testers:add --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:testers:remove --group-alias=qa-team anothertester@email.com moretesters@email.comfirebase appdistribution:group:delete qa-team
Una volta distribuita, la build diventa disponibile nella dashboard App Distribution della console Firebase per 150 giorni (cinque mesi). Quando mancano 30 giorni alla scadenza della build, viene visualizzato un avviso di scadenza sia nella console sia nell'elenco delle build del 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 via email che li informano che una nuova build è pronta per il test (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 mancano 5 giorni alla scadenza di un invito, nella console Firebase viene visualizzato un avviso di scadenza accanto al tester di una release. Un invito può essere rinnovato inviandolo di nuovo tramite il menu a discesa nella riga del tester.
Passaggi successivi
Implementa il feedback in-app per raccogliere feedback dai tester sulla tua app (inclusi gli screenshot).
Scopri come mostrare avvisi in-app ai tester quando sono disponibili nuove build della tua app da installare.
Scopri le best practice per distribuire app per Android ai tester QA utilizzando CI/CD.