1. Panoramica
Ti diamo il benvenuto all'SDK Integrating the Firebase App Distribution nel codelab della tua app Android. In questo codelab, aggiungerai l'SDK Android di App Distribution alla tua app per mostrare avvisi in-app ai tuoi tester quando sono disponibili nuove build per il download. Imparerai come utilizzare sia una configurazione di base che una configurazione personalizzata per consentire ai tuoi tester di accedere per ricevere gli aggiornamenti. Quindi invierai una nuova versione a App Distribution e attiverai un nuovo avviso di build direttamente nell'app.
Cosa imparerai
- Come utilizzare App Distribution per distribuire un'app non definitiva ai tester
- Come integrare l'SDK Android di App Distribution nella tua app
- Come avvisare un tester quando è disponibile una nuova versione preliminare pronta per l'installazione
- Come personalizzare l'SDK per soddisfare le tue esigenze di test
Di cosa avrai bisogno
- Ultima versione di Android Studio .
- Codice d'esempio.
- Un dispositivo di prova con Android 4.4+ e Google Play Services 9.8 o versioni successive o un emulatore con Google Play Services 9.8 o versioni successive.
- Se si utilizza un dispositivo, un cavo di connessione.
Come utilizzerai questo tutorial?
Come giudicheresti la tua esperienza con la creazione di app Android?
2. Ottieni il codice di esempio
Clonare il repository GitHub dalla riga di comando.
$ git clone https://github.com/FirebaseExtended/codelab-appdistribution-android.git
Se non hai installato git, puoi anche scaricare il progetto di esempio dalla sua pagina GitHub o facendo clic su questo link .
3. Importa l'app iniziale
Da Android Studio, seleziona la directory codelab-appdistribution-android/start
( ) dal download del codice di esempio ( File > Apri > .../codelab-appdistribution-android/start).
Ora dovresti avere il progetto iniziale aperto in Android Studio.
4. Crea un progetto console Firebase
Aggiungi un nuovo progetto Firebase
- Apri la console di Firebase .
- Seleziona Aggiungi progetto , quindi assegna al progetto il nome "Firebase Codelab".
Non è necessario abilitare Google Analytics per questo progetto.
- Fai clic su Crea progetto .
Aggiungi un'app a Firebase
Registra la tua app con Firebase . Utilizza "com.google.firebase.appdistributioncodelab" come nome del pacchetto.
Aggiungi il file google-services.json alla tua app
Dopo aver aggiunto il nome del pacchetto e aver selezionato Registrati, segui questi passaggi per aggiungere google-services.json alla tua app:
- Fai clic su Scarica google-services.json per ottenere il file di configurazione Android di Firebase.
- Copia il file google-services.json nella directory
app
nel tuo progetto. - Dopo che il file è stato scaricato puoi saltare i passaggi successivi mostrati nella console (sono già stati fatti per te nel progetto build-android-start).
Aggiorna l'ID applicazione in modo che corrisponda alla tua app Firebase
- Nel menu a sinistra (scheda Progetto), assicurati di essere nella vista "Android" e individua la scheda "Gradle Scripts" e apri il file Gradle del modulo (a livello di app) (di solito
app/build.gradle.kts
). - Modifica la proprietà
applicationId
in modo che corrisponda all'ID applicazione della tua app Firebase. Dovrebbe essere "com.google.firebase.appdistributioncodelab"
Sincronizza il tuo progetto con i file Gradle
Per assicurarti che tutte le dipendenze siano disponibili per la tua app, sincronizza il tuo progetto con i file Gradle selezionando File > Sincronizza progetto con i file Gradle dalla barra degli strumenti di Android Studio.
5. Imposta avvisi di nuova build in-app con App Distribution Android SDK
In questo passaggio, aggiungerai l'SDK Android di Firebase App Distribution alla tua app e visualizzerai avvisi in-app ai tuoi tester quando saranno disponibili nuove build della tua app per l'installazione. Per fare ciò, assicurati di aver abilitato l' API Firebase App Testers per il tuo progetto "Firebase Codelab" (in Google Cloud Console). Devi accedere con lo stesso account e selezionare il progetto corretto dal menu a tendina in alto.
Configura avvisi in-app
L'SDK per Android di App Distribution offre due modi per impostare avvisi di compilazione in-app per i tuoi tester:
- Una configurazione di avviso di base, che viene fornita con una finestra di dialogo predefinita da mostrare ai tester.
- Una configurazione avanzata degli avvisi, che consente di personalizzare l'interfaccia utente (UI).
Inizieremo con la configurazione di avviso di base. Puoi utilizzare updateIfNewReleaseAvailable
per visualizzare una finestra di dialogo di abilitazione degli avvisi predefinita ai tester che non hanno ancora abilitato gli avvisi e quindi controllare se è disponibile una nuova build. I tester abilitano gli avvisi accedendo a un account che ha accesso all'app in App Distribution. Quando viene chiamato, il metodo esegue la seguente sequenza:
- Controlla se un tester ha abilitato gli avvisi. In caso contrario, il metodo visualizza una finestra di dialogo predefinita che richiede ai tester di accedere a App Distribution con il proprio account Google.
L'abilitazione degli avvisi è un processo una tantum sul dispositivo di test che persiste tra gli aggiornamenti dell'app. Gli avvisi rimangono abilitati sul dispositivo di test finché l'app non viene disinstallata o finché non viene chiamato il metodo signOutTester
.
- Verifica la presenza di nuove build disponibili per l'installazione da parte del tester.
- Visualizza un avviso predefinito che richiede al tester di scaricare l'ultima versione.
- Controlla il nuovo tipo di build prima di procedere con l'aggiornamento:
- Se la nuova build è un App Bundle (AAB), reindirizza il tester al Play Store per completare il processo di aggiornamento.
- Se la nuova build è un APK, l'SDK scarica la nuova build in background e richiede al tester di installare la nuova build al termine del download. L'SDK invia notifiche sull'avanzamento del download all'utente tramite
NotificationManager.
Puoi aggiungere il tuo indicatore di avanzamento collegando un gestoreonProgressUpdate
all'attivitàupdateIfNewReleaseAvailable
.
Puoi chiamare updateIfNewReleaseAvailable()
in qualsiasi punto della tua app. Ad esempio, puoi chiamare updateIfNewReleaseAvailable()
durante il metodo onResume()
di MainActivity:
Apri MainActivity.kt e crea il metodo onResume()
in questo modo:
MainActivity.kt
override fun onResume() {
super.onResume()
checkForUpdate()
}
Ora implementiamo il metodo checkForUpdate()
.
MainActivity.kt
private fun checkForUpdate() {
firebaseAppDistribution.updateIfNewReleaseAvailable()
.addOnProgressListener { updateProgress ->
// (Optional) Implement custom progress updates in addition to
// automatic NotificationManager updates.
}
.addOnFailureListener { e ->
if (e is FirebaseAppDistributionException) {
// Handle exception.
}
}
}
6. Crea e invita i tester a scaricare la tua app
In questa fase, crei la tua app e testi la tua implementazione distribuendo la build ai tester utilizzando la console Firebase.
Crea la tua app
Quando sei pronto per distribuire una versione pre-release della tua app ai tester, crea il tuo APK utilizzando la normale procedura. Devi firmare l'APK con la chiave di debug o la chiave di firma dell'app.
Distribuisci la tua app ai tester
Per distribuire la tua app ai tester, carica il file APK utilizzando la console di Firebase:
- Apri la pagina Distribuzione app della console Firebase. Seleziona il tuo progetto Firebase quando richiesto.
- Nella pagina Release, seleziona l'app che desideri distribuire dal menu a discesa.
- Fare clic su Inizia
- Trascina il file APK della tua app sulla console per caricarlo.
- Al termine del caricamento, specifica i gruppi di tester e i singoli tester a cui desideri ricevere la build. (Aggiungi la tua email per ricevere l'invito.) Quindi, aggiungi le note di rilascio per la build. Per ulteriori informazioni sulla creazione di gruppi di tester, consulta Aggiungere e rimuovere tester .
- Fare clic su Distribuisci per rendere disponibile la build ai tester.
Nella console di Firebase, ora puoi vedere i tester che hai aggiunto nella versione della tua app.
Poiché hai incluso il tuo indirizzo email, riceverai un'email da Firebase App Distribution che ti invita a testare l'app. Ora sei il primo tester! Segui le istruzioni in Accetta l'invito per configurare come tester sul tuo dispositivo di prova.
Accetta l'invito
Dovrai prima accettare l'invito a scaricare e testare la versione.
- Sul dispositivo di prova Android, apri l'e-mail inviata da Firebase App Distribution e tocca Inizia .
- Nell'app Web del tester di Firebase App Distribution visualizzata, accedi con il tuo account Google e tocca Accetta invito. Ora puoi vedere la versione che sei invitato a testare.
Scarica la versione dal dispositivo di prova
Quando accedi all'app codelab di AppDistribution, puoi vedere che la versione è pronta per il download.
- Tocca Download , quindi installa ed esegui l'app!
- Quando l'app si avvia, ti chiede di abilitare i nuovi avvisi di build. Tocca Attiva .
- Accedi con il tuo account tester..
Si torna all'app. La prossima volta che eseguirai l'app, non dovrai effettuare l'accesso o accettare gli avvisi
Distribuisci un aggiornamento ai tuoi tester
- Aggiorna il tuo versionName a "1.1" e versionCode a 2 nel tuo file Gradle del modulo (a livello di app) (di solito app/build.gradle).
- Crea il tuo APK utilizzando il normale processo. Devi firmare l'APK con la chiave di debug o la chiave di firma dell'app.
- Carica questo nuovo APK nella tua console Firebase, aggiungi di nuovo la tua email come tester e fai clic su Distribuisci .
Testare gli avvisi di build
- Assicurati di aver chiuso l'app se era aperta.
- Riavvia l'app.
- Quando l'app viene riavviata, ricevi un avviso Nuova versione disponibile.
- Per ricevere l'ultima versione, fai clic su Aggiorna .
- Se richiesto, scegli l'opzione per abilitare le installazioni da fonti sconosciute.
- Fare clic su Installa (o Aggiorna ) nella schermata successiva.
- Congratulazioni! Sei stato in grado di aggiornare la tua app con gli avvisi integrati.
7. Personalizza l'accesso del tester
I metodi signInTester/signOutTester e isTesterSignedIn ti offrono maggiore flessibilità personalizzando l'esperienza di accesso del tuo tester, in modo che possa corrispondere meglio all'aspetto della tua app.
L'esempio seguente verifica se il tester ha già eseguito l'accesso al proprio account di tester di Firebase App Distribution, quindi puoi scegliere di visualizzare l'interfaccia utente di accesso solo per i tester che non hanno ancora effettuato l'accesso. Dopo che il tester ha effettuato l'accesso, puoi quindi chiama checkForUpdate per verificare se il tester ha accesso a una nuova build.
Disabilitiamo il controllo automatico degli aggiornamenti in onResume commentando la chiamata checkForUpdate() .
MainActivity.kt
override fun onResume() {
super.onResume()
//checkForupdate()
}
Invece, checkForUpdate() è già aggiunto in OnClickListener di updatebutton.
Ora, implementiamo il nostro metodo signIn() che effettuerà l'accesso dell'utente se è disconnesso o disconnetterà l'utente se è già connesso.
MainActivity.kt
private fun signIn() {
if (isTesterSignedIn()) {
firebaseAppDistribution.signOutTester()
configureUpdateButton()
configureSigninButton()
} else {
firebaseAppDistribution.signInTester()
}
}
Infine implementiamo il metodo isTesterSignedIn .
MainActivity.kt
private fun isTesterSignedIn() : Boolean {
return firebaseAppDistribution.isTesterSignedIn
}
Crea e testa la tua implementazione
8. Congratulazioni!
Hai integrato la funzione "Visualizzazione degli avvisi in-app" in un'app utilizzando l'SDK Android di Firebase App Distribution.
Di cosa abbiamo parlato
- Distribuzione dell'app Firebase
- Firebase App Distribution Nuovi avvisi Android SDK
Prossimi passi
- Utilizzo del plug-in Fastlane
- Utilizzo degli strumenti dell'interfaccia a riga di comando
- Usando gradle
Saperne di più
Hai una domanda?
- Stackoverflow 'distribuzione-app-firebase '
- Canale slack della community di Firebase #app-distribution
Segnala problemi