Questo documento introduce le best practice per l'utilizzo di Firebase App Distribution per rendere i flussi di lavoro di test pre-release di Android sostenibili e ripetibili in un ambiente CI/CD. Le soluzioni includono Gradle e fastlane, ma per offrirti ancora più flessibilità includiamo anche soluzioni disponibili tramite la console, l'interfaccia a riga di comando e l'API pubblica Firebase.FirebaseFirebaseApp Distribution Descriviamo anche i limiti di release e tester in modo che tu possa pianificare in anticipo un'esperienza ottimale.
Se utilizzi anche le piattaforme Apple, consulta Best practice per la distribuzione di app Apple ai tester QA utilizzando CI/CD e fastlane.
Prima di iniziare
Prima di implementare le best practice descritte in questo documento, assicurati di abilitare App Distribution nella console Firebase per ogni app. Se non hai abilitato App Distribution, riceverai un errore 404.
Per abilitare App Distribution:
- Apri la pagina nella console.App DistributionFirebase
- Seleziona la tua app per Android.
- Fai clic su Inizia.
Dato che gli Android App Bundle (AAB) stanno diventando il formato di pacchetto Android più comune, ti consigliamo di configurare la possibilità di distribuire gli AAB ai tuoi tester collegandoti a Google Play.
Automatizzare il flusso di lavoro di test pre-release utilizzando una pipeline CI/CD
Se vuoi automatizzare la creazione e il rilascio di app ai tuoi tester e utilizzi CI/CD, ti consigliamo di utilizzare fastlane o Gradle. Un'altra opzione è utilizzare la Firebase CLI, che ti consente di accedere a un'ampia gamma di prodotti Firebase.
Utilizzare fastlane
Integra App Distribution nella tua pipeline CI/CD utilizzando fastlane, uno strumento open source che automatizza la creazione e il rilascio di app iOS e Android. Creando e distribuendo automaticamente le ultime release ai tester, ti assicuri che i tester abbiano sempre la versione di test più aggiornata della tua app.
Per scoprire come integrare App Distribution con fastlane, consulta Distribuire app Android ai tester utilizzando fastlane.
Utilizzare Gradle
Utilizza Gradle per integrare App Distribution nel processo di compilazione di Android utilizzando il
App Distribution plug-in Gradle. Il plug-in ti consente di specificare i tester e le note di release nel file build.gradle della tua app, il che ti consente di configurare le distribuzioni per diversi tipi di build e varianti della tua app.
Per scoprire come integrare App Distribution con Gradle, consulta Distribuire app Android ai tester utilizzando Gradle.
Utilizzare l'Firebase CLI
Utilizza gli strumenti dell'interfaccia a riga di comando Firebase forniti da App Distribution per distribuire le build ai tester a livello di programmazione. Puoi specificare i tester e le note di release per una build.
Distribuisci l'ultima build di Android specificando l'ID app Firebase dell'app, aggiungendo facoltativamente una nota di release e un file contenente gli indirizzi email dei tester:
firebase appdistribution:distribute test.aab \
--app 1:1234567890:android:0a1b2c3d4e5f67890 \
--release-notes "Bug fixes and improvements" --testers-file testers.txt
Per scoprire di più sull'utilizzo dell'interfaccia a riga di comando Firebase per automatizzare le build, consulta Distribuire app Android ai tester utilizzando l'interfaccia a riga di comando Firebase.
Utilizzare le credenziali di servizio per l'autenticazione
Utilizza il App Distribution plug-in fastlane, il plug-in Gradle, o la Firebase CLI con i service account. Un service account è un tipo di Account Google che rappresenta le applicazioni (anziché gli utenti). Il sistema CI può utilizzare i service account per eseguire i carichi di lavoro App Distribution. Per scoprire di più, consulta Autenticarsi con un service account.
Se utilizzi la federazione delle identità per i workload, puoi generare e utilizzare un file di configurazione delle credenziali anziché una chiave del service account.
Tenere presente i limiti di release
App Distribution supporta un massimo di 1000 release per app. Ciò significa che quando superi il limite di release, App Distribution elimina automaticamente le release più vecchie al di sopra del limite. Per scoprire come gestire i limiti di release, consulta Per quanto tempo sono disponibili le release delle app?
Aggiungere lo stesso insieme di tester a più release
Se vuoi aggiungere un numero elevato di tester alle tue release, utilizza App Distribution la funzionalità di gestione dei tester in blocco.
Ti consigliamo di utilizzare i gruppi per aggiungere gli stessi tester a più release. Un gruppo funge da elenco di controllo degli accessi; quando rimuovi un tester da un gruppo, perde l'accesso a tutte le release distribuite a quel gruppo. Per scoprire di più, consulta Aggiungere e rimuovere tester da un gruppo.
Se hai molti tester da gestire, puoi aggiungerli ed eliminarli in blocco utilizzando la console Firebase. Per automatizzare l'aggiunta e la rimozione dei tester, utilizza l'interfaccia a riga di comandoFirebase, fastlane, Gradle, o l'API App Distributionpubblica Firebase.
Tenere presente i limiti dei tester
App Distribution limita il numero di tester che puoi aggiungere a un progetto Firebase o a un gruppo App Distribution. Quando superi questi limiti, non potrai distribuire la tua app ad altri tester. Per scoprire di più sui limiti dei tester, consulta Esistono limiti per l'aggiunta di tester alla mia app?
Consentire ai potenziali tester di registrarsi autonomamente per i test
Per semplificare la distribuzione della tua app a un maggior numero di tester, ti consigliamo di utilizzare i link di invito. Un link di invito è un URL univoco che consente ai tester di inserire i propri indirizzi email per registrarsi per testare un'app. Consentire agli utenti di aggiungersi all'elenco dei tester dell'app è un modo semplice per aumentare la base di test interni.
I casi d'uso dei link di invito includono programmi di dogfooding aziendali, organizzazioni con team di QA di grandi dimensioni e gruppi di sviluppatori che vogliono che i singoli clienti possano controllare l'accesso dei tester.
Ti consigliamo di creare un link di invito per un gruppo. Qualsiasi tester che si registra utilizzando il link di invito viene aggiunto automaticamente alle release successive.
Per scoprire di più, consulta Creare link di invito e Aggiungere e rimuovere tester da un gruppo.
Assicurarsi che i tester stiano testando la versione che ti interessa
Quando viene caricata una nuova versione, i tester ricevono una notifica via email. Per integrare questa notifica, puoi utilizzare le seguenti funzionalità (link di release e avvisi in-app) per assicurarti che i tester stiano testando la versione specifica dell'app che ti interessa:
- Link di release: utilizza questa funzionalità quando vuoi condividere una versione specifica con i tester. Per scoprire come utilizzare i link di release, consulta Distribuire app Android ai tester utilizzando la Firebase console. Questi link sono anche disponibili con gli strumenti a riga di comando (CLI) di Firebase, fastlane e Gradle per l'utilizzo con gli strumenti di automazione della build.
- Avvisi in-app: utilizza questi avvisi quando vuoi assicurarti che i tester stiano testando l'ultima versione della tua app. Integrando l' SDK Android di Firebase App Distribution, puoi mostrare gli avvisi direttamente all'interno dell'app ai tester quando sono disponibili nuove build dell'app. Per scoprire come aggiungere avvisi in-app, consulta Notificare ai tester le nuove build.
Rimuovere automaticamente l'accesso per i tester che lasciano l'azienda
Quando il flusso di test interni CI/CD è attivo e funzionante, devi assicurarti che le persone che lasciano l'azienda non abbiano più accesso alle build interne. Per aiutarti a gestire l'accesso dei tester alle build, App Distribution offre le seguenti opzioni:
- fastlane: utilizza il file Fastfile o esegui direttamente le azioni fastlane. Per scoprire di più, consulta Distribuire app Android ai tester utilizzando fastlane.
- Firebase CLI: Utilizza l'
firebase appdistribution:testers:removeazione. Per scoprire di più, consulta Distribuire app Android ai tester utilizzando l'interfaccia a riga di comando Firebase. - Gradle: se utilizzi Gradle per rimuovere i tester, passa
appDistributionRemoveTesterscon gli argomentie--PROJECT_NUMBER nel file--EMAILS build.gradle. Per scoprire di più, consulta Distribuire app Android ai tester utilizzando Gradle. - API pubblica App Distribution Firebase:
utilizza l'endpoint
testers.batchRemove.