Prerequisiti
Installa o aggiorna Android Studio all'ultima versione.
Assicurati che il tuo progetto soddisfi questi requisiti:
- Mira al livello API 19 (KitKat) o superiore
- Utilizza Android 4.4 o versioni successive
- Utilizza Jetpack (AndroidX) , che include il rispetto di questi requisiti di versione:
-
com.android.tools.build:gradle
v3.2.1 o successivo -
compileSdkVersion
28 o successiva
-
Configura un dispositivo fisico o usa un emulatore per eseguire la tua app.
Tieni presente che gli SDK Firebase con una dipendenza da Google Play Services richiedono che sul dispositivo o sull'emulatore sia installato Google Play Services.Accedi a Firebase utilizzando il tuo account Google.
Se non disponi già di un progetto Android e desideri solo provare un prodotto Firebase, puoi scaricare uno dei nostri esempi di avvio rapido .
Puoi connettere la tua app Android a Firebase utilizzando una delle seguenti opzioni:
- Opzione 1 : (consigliata) utilizza il flusso di lavoro di configurazione della console Firebase.
- Opzione 2 : utilizzare Android Studio Firebase Assistant (potrebbe richiedere una configurazione aggiuntiva).
Opzione 1 : aggiungi Firebase utilizzando la console Firebase
L'aggiunta di Firebase alla tua app comporta attività sia nella console Firebase che nel tuo progetto Android aperto (ad esempio, scarichi i file di configurazione di Firebase dalla console, quindi li sposti nel tuo progetto Android).
Passaggio 1 : crea un progetto Firebase
Prima di poter aggiungere Firebase alla tua app Android, devi creare un progetto Firebase per connetterti alla tua app Android. Visita Capire i progetti Firebase per saperne di più sui progetti Firebase.
Passaggio 2 : registra la tua app con Firebase
Per utilizzare Firebase nella tua app Android, devi registrare la tua app con il tuo progetto Firebase. La registrazione della tua app viene spesso chiamata "aggiunta" della tua app al tuo progetto.
Vai alla console di Firebase .
Al centro della pagina della panoramica del progetto, fai clic sull'icona Android (
) o su Aggiungi app per avviare il flusso di lavoro di configurazione.Inserisci il nome del pacchetto della tua app nel campo Nome pacchetto Android .
Il nome di un pacchetto identifica in modo univoco la tua app sul dispositivo e nel Google Play Store.
Il nome di un pacchetto viene spesso indicato come ID applicazione .
Trova il nome del pacchetto della tua app nel file Gradle del modulo (a livello di app), in genere
app/build.gradle
(nome del pacchetto di esempio:com.yourcompany.yourproject
).Tieni presente che il valore del nome del pacchetto fa distinzione tra maiuscole e minuscole e non può essere modificato per questa app Android Firebase dopo che è stata registrata con il tuo progetto Firebase.
(Facoltativo) Inserisci altre informazioni sull'app: nickname dell'app e certificato di firma del debug SHA-1 .
Nickname dell'app : un identificatore di convenienza interno visibile solo a te nella console di Firebase
Certificato di firma del debug SHA-1 : un hash SHA-1 è richiesto da Firebase Authentication (quando si utilizza Google Sign In o phone number sign in ) e Firebase Dynamic Links .
Fai clic su Registra app .
Passaggio 3 : aggiungi un file di configurazione Firebase
Scarica e quindi aggiungi il file di configurazione Android di Firebase (
) alla tua app:google-services.json Fai clic su Scarica google-services.json per ottenere il file di configurazione Android di Firebase.
Sposta il file di configurazione nella directory principale del modulo (a livello di app) della tua app.
Il file di configurazione di Firebase contiene identificatori univoci ma non segreti per il tuo progetto. Per ulteriori informazioni su questo file di configurazione, visita Understand Firebase Projects .
Puoi scaricare di nuovo il file di configurazione di Firebase in qualsiasi momento.
Assicurati che il nome del file di configurazione non sia aggiunto con caratteri aggiuntivi, come
(2)
.
Per rendere i valori nel file di configurazione
accessibili agli SDK Firebase, è necessario il plug-in Gradle dei servizi Google (google-services.json google-services
).Nel tuo file Gradle a livello di root (a livello di progetto) (
<project>/build.gradle
), aggiungi il plug-in dei servizi Google come dipendenza buildscript:buildscript { repositories { // Make sure that you have the following two repositories google() // Google's Maven repository mavenCentral() // Maven Central repository } dependencies { ... // Add the dependency for the Google services Gradle plugin classpath 'com.google.gms:google-services:4.3.15' } } allprojects { ... repositories { // Make sure that you have the following two repositories google() // Google's Maven repository mavenCentral() // Maven Central repository } }
Nel file Gradle del tuo modulo (a livello di app) (di solito
<project>/<app-module>/build.gradle
), aggiungi il plug-in dei servizi Google:plugins { id 'com.android.application' // Add the Google services Gradle plugin id 'com.google.gms.google-services' ... }
Passaggio 4 : aggiungi gli SDK Firebase alla tua app
Nel file Gradle del modulo (a livello di app) (in genere
<project>/<app-module>/build.gradle
), aggiungi le dipendenze per i prodotti Firebase che desideri utilizzare nella tua app. Ti consigliamo di utilizzare la distinta base Android di Firebase per controllare il controllo delle versioni della libreria.Analisi abilitata
Kotlin+KTX
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:32.1.0') // When using the BoM, you don't specify versions in Firebase library dependencies // Add the dependency for the Firebase SDK for Google Analytics implementation 'com.google.firebase:firebase-analytics-ktx' // TODO: Add the dependencies for any other Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
Java
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:32.1.0') // When using the BoM, you don't specify versions in Firebase library dependencies // Add the dependency for the Firebase SDK for Google Analytics implementation 'com.google.firebase:firebase-analytics' // TODO: Add the dependencies for any other Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Utilizzando Firebase Android BoM , la tua app utilizzerà sempre versioni compatibili delle librerie Firebase Android.
Analisi non abilitata
Kotlin+KTX
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:32.1.0') // When using the BoM, you don't specify versions in Firebase library dependencies // TODO: Add the dependencies for Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
Java
dependencies { // ... // Import the Firebase BoM implementation platform('com.google.firebase:firebase-bom:32.1.0') // When using the BoM, you don't specify versions in Firebase library dependencies // TODO: Add the dependencies for Firebase products you want to use // See https://firebase.google.com/docs/android/setup#available-libraries // For example, add the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Utilizzando Firebase Android BoM , la tua app utilizzerà sempre versioni compatibili delle librerie Firebase Android.
Dopo aver aggiunto le dipendenze per i prodotti che desideri utilizzare, sincronizza il tuo progetto Android con i file Gradle.
Le build Gradle che utilizzano il plug-in Android Gradle (AGP) v4.2 o versioni precedenti devono abilitare il supporto Java 8. In caso contrario, questi progetti Android ottengono un errore di compilazione quando si aggiunge un SDK Firebase.
Per correggere questo errore di compilazione, puoi seguire una delle due opzioni:
- Aggiungi le
compileOptions
elencate dal messaggio di errore al filebuild.gradle
a livello di app . - Aumenta la
minSdkVersion
per il tuo progetto Android a 26 o superiore.
Scopri di più su questo errore di compilazione in queste domande frequenti .
- Aggiungi le
Questo è tutto! Puoi andare avanti per controllare i passaggi successivi consigliati .
Se riscontri problemi con la configurazione, visita la risoluzione dei problemi e le domande frequenti di Android .
Opzione 2 : aggiungi Firebase utilizzando Firebase Assistant
L' Assistente Firebase registra la tua app con un progetto Firebase e aggiunge i file, i plug-in e le dipendenze Firebase necessari al tuo progetto Android, tutto da Android Studio!
Apri il tuo progetto Android in Android Studio, quindi assicurati di utilizzare le versioni più recenti di Android Studio e Firebase Assistant:
- Windows/Linux: Aiuto > Controlla aggiornamenti
- macOS: Android Studio > Controlla aggiornamenti
Apri Firebase Assistant: Strumenti > Firebase .
Nel riquadro Assistente , scegli un prodotto Firebase da aggiungere alla tua app. Espandi la relativa sezione, quindi fai clic sul link del tutorial (ad esempio,
Analytics > Registra un evento Analytics ).Fai clic su Connetti a Firebase per connettere il tuo progetto Android a Firebase.
Questo flusso di lavoro crea automaticamente una nuova app Android Firebase utilizzando il nome del pacchetto della tua app . Puoi creare questa nuova app Android Firebase in un progetto Firebase esistente o in un nuovo progetto.
Ecco alcuni suggerimenti sulla configurazione del tuo progetto Firebase:
Consulta le nostre best practice per l'aggiunta di app a un progetto Firebase, incluso come gestire più varianti.
Se crei un nuovo progetto, ti consigliamo vivamente di impostare Google Analytics per il tuo progetto, che ti consente di avere un'esperienza ottimale utilizzando molti prodotti Firebase.
Questo flusso di lavoro aggiunge anche il file di configurazione Android del tuo progetto Firebase (
) alla directory del modulo (a livello di app) della tua app.google-services.json
Fai clic sul pulsante per aggiungere il prodotto Firebase desiderato (ad esempio,
Aggiungi Analytics alla tua app ).
Sincronizza la tua app per assicurarti che tutte le dipendenze abbiano le versioni necessarie.
Nel riquadro Assistente , segui le restanti istruzioni di configurazione per il prodotto Firebase selezionato.
Aggiungi tutti gli altri prodotti Firebase che desideri tramite l'Assistente Firebase!
Questo è tutto! Assicurati di controllare i passaggi successivi consigliati .
Se riscontri problemi con la configurazione, visita la risoluzione dei problemi e le domande frequenti di Android .
Librerie disponibili
Questa sezione elenca i prodotti Firebase supportati per Android e le relative dipendenze Gradle. Ulteriori informazioni su queste librerie Android Firebase:
Documentazione di riferimento ( Kotlin+KTX | Java )
Repository GitHub dell'SDK Android di Firebase
Tieni presente che quando utilizzi Firebase Android BoM , non specifichi le singole versioni della libreria quando dichiari le dipendenze della libreria Firebase in build.gradle
.
Kotlin+KTX
Servizio o Prodotto | Dipendenza gradle | Ultimo versione | Aggiungere Analisi? | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Distinta dei materiali Android di Firebase (Distinta dei materiali) | com.google.firebase:firebase-bom L'ultima versione della distinta base di Firebase contiene le versioni più recenti di ciascuna libreria Android di Firebase. Per sapere quali versioni della libreria sono mappate a una specifica versione della distinta base, rivedere le note di rilascio per quella versione della distinta base. | 32.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
AdMob | com.google.android.gms:play-services-ads | 22.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
Analitica | com.google.firebase:firebase-analytics-ktx | 21.3.0 | |||||||||||||||||||||||||||||||||||||||||||||
App Controlla fornitore personalizzato | com.google.firebase:firebase-appcheck-ktx | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
App Check provider di debug | com.google.firebase:firebase-appcheck-debug | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
Fornitore di integrità di App Check Play | com.google.firebase:firebase-appcheck-playintegrity | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
Distribuzione dell'app | com.google.firebase:firebase-appdistribution | 16.0.0-beta08 | |||||||||||||||||||||||||||||||||||||||||||||
API di distribuzione delle app | com.google.firebase:firebase-appdistribution-api-ktx | 16.0.0-beta08 | |||||||||||||||||||||||||||||||||||||||||||||
Plug-in per la distribuzione delle app | com.google.firebase:firebase-appdistribution-gradle | 4.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
Autenticazione | com.google.firebase:firebase-auth-ktx | 22.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
CloudFirestore | com.google.firebase:firebase-firestore-ktx | 24.6.1 | |||||||||||||||||||||||||||||||||||||||||||||
Funzioni cloud per Firebase Client SDK | com.google.firebase:funzioni-firebase-ktx | 20.3.1 | |||||||||||||||||||||||||||||||||||||||||||||
Messaggi sulla nuvola | com.google.firebase:firebase-messaging-ktx | 23.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Archiviazione cloud | com.google.firebase:firebase-storage-ktx | 20.2.0 | |||||||||||||||||||||||||||||||||||||||||||||
Crashlytics | com.google.firebase:firebase-crashlytics-ktx | 18.3.7 | |||||||||||||||||||||||||||||||||||||||||||||
Crashlytics NDK | com.google.firebase:firebase-crashlytics-ndk | 18.3.7 | |||||||||||||||||||||||||||||||||||||||||||||
Plug-in Crashlytics | com.google.firebase:firebase-crashlytics-gradle | 2.9.5 | |||||||||||||||||||||||||||||||||||||||||||||
Supporto del modulo di funzionalità dinamiche | com.google.firebase:firebase-dynamic-module-support | 16.0.0-beta03 | |||||||||||||||||||||||||||||||||||||||||||||
Collegamenti dinamici | com.google.firebase:firebase-dynamic-links-ktx | 21.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
Messaggi in-app | com.google.firebase:firebase-inappmessaging-ktx | 20.3.2 | (necessario) | ||||||||||||||||||||||||||||||||||||||||||||
Visualizzazione dei messaggi in-app | com.google.firebase:firebase-inappmessaging-display-ktx | 20.3.2 | (necessario) | ||||||||||||||||||||||||||||||||||||||||||||
Installazioni Firebase | com.google.firebase:firebase-installations-ktx | 17.1.3 | |||||||||||||||||||||||||||||||||||||||||||||
API del downloader di modelli Firebase ML | com.google.firebase:firebase-ml-modeldownloader-ktx | 24.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Monitoraggio delle prestazioni | com.google.firebase:firebase-perf-ktx | 20.3.2 | |||||||||||||||||||||||||||||||||||||||||||||
Plug-in per il monitoraggio delle prestazioni | com.google.firebase:perf-plugin | 1.4.2 | |||||||||||||||||||||||||||||||||||||||||||||
Database in tempo reale | com.google.firebase:firebase-database-ktx | 20.2.2 | |||||||||||||||||||||||||||||||||||||||||||||
Configurazione remota | com.google.firebase:firebase-config-ktx | 21.4.0 | |||||||||||||||||||||||||||||||||||||||||||||
Plug-in dei servizi di Google Play | com.google.gms:servizi-google | 4.3.15 | |||||||||||||||||||||||||||||||||||||||||||||
Librerie deprecate | |||||||||||||||||||||||||||||||||||||||||||||||
App Controlla il fornitore di SafetyNet | com.google.firebase:firebase-appcheck-safetynet | 16.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Indicizzazione dell'app | com.google.firebase:firebase-appindexing | 20.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
Librerie del kit Firebase ML
|
Java
Servizio o Prodotto | Dipendenza gradle | Ultimo versione | Aggiungere Analisi? | ||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Distinta dei materiali Android di Firebase (Distinta dei materiali) | com.google.firebase:firebase-bom L'ultima versione della distinta base di Firebase contiene le versioni più recenti di ciascuna libreria Android di Firebase. Per sapere quali versioni della libreria sono mappate a una specifica versione della distinta base, rivedere le note di rilascio per quella versione della distinta base. | 32.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
AdMob | com.google.android.gms:play-services-ads | 22.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
Analitica | com.google.firebase:firebase-analytics | 21.3.0 | |||||||||||||||||||||||||||||||||||||||||||||
App Controlla fornitore personalizzato | com.google.firebase:firebase-appcheck | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
App Check provider di debug | com.google.firebase:firebase-appcheck-debug | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
Fornitore di integrità di App Check Play | com.google.firebase:firebase-appcheck-playintegrity | 17.0.1 | |||||||||||||||||||||||||||||||||||||||||||||
Distribuzione dell'app | com.google.firebase:firebase-appdistribution | 16.0.0-beta08 | |||||||||||||||||||||||||||||||||||||||||||||
API di distribuzione delle app | com.google.firebase:firebase-appdistribution-api | 16.0.0-beta08 | |||||||||||||||||||||||||||||||||||||||||||||
Plug-in per la distribuzione delle app | com.google.firebase:firebase-appdistribution-gradle | 4.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
Autenticazione | com.google.firebase:firebase-auth | 22.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
CloudFirestore | com.google.firebase:firebase-firestore | 24.6.1 | |||||||||||||||||||||||||||||||||||||||||||||
Funzioni cloud per Firebase Client SDK | com.google.firebase:funzioni-firebase | 20.3.1 | |||||||||||||||||||||||||||||||||||||||||||||
Messaggi sulla nuvola | com.google.firebase:messaggi-firebase | 23.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Archiviazione cloud | com.google.firebase:firebase-storage | 20.2.0 | |||||||||||||||||||||||||||||||||||||||||||||
Crashlytics | com.google.firebase:firebase-crashlytics | 18.3.7 | |||||||||||||||||||||||||||||||||||||||||||||
Crashlytics NDK | com.google.firebase:firebase-crashlytics-ndk | 18.3.7 | |||||||||||||||||||||||||||||||||||||||||||||
Plug-in Crashlytics | com.google.firebase:firebase-crashlytics-gradle | 2.9.5 | |||||||||||||||||||||||||||||||||||||||||||||
Supporto del modulo di funzionalità dinamiche | com.google.firebase:firebase-dynamic-module-support | 16.0.0-beta03 | |||||||||||||||||||||||||||||||||||||||||||||
Collegamenti dinamici | com.google.firebase:firebase-dynamic-link | 21.1.0 | |||||||||||||||||||||||||||||||||||||||||||||
Messaggi in-app | com.google.firebase:firebase-inappmessaging | 20.3.2 | (necessario) | ||||||||||||||||||||||||||||||||||||||||||||
Visualizzazione dei messaggi in-app | com.google.firebase:firebase-inappmessaging-display | 20.3.2 | (necessario) | ||||||||||||||||||||||||||||||||||||||||||||
Installazioni Firebase | com.google.firebase: installazioni-firebase | 17.1.3 | |||||||||||||||||||||||||||||||||||||||||||||
API del downloader di modelli Firebase ML | com.google.firebase:firebase-ml-modeldownloader | 24.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Monitoraggio delle prestazioni | com.google.firebase:firebase-perf | 20.3.2 | |||||||||||||||||||||||||||||||||||||||||||||
Plug-in per il monitoraggio delle prestazioni | com.google.firebase:perf-plugin | 1.4.2 | |||||||||||||||||||||||||||||||||||||||||||||
Database in tempo reale | com.google.firebase:firebase-database | 20.2.2 | |||||||||||||||||||||||||||||||||||||||||||||
Configurazione remota | com.google.firebase:firebase-config | 21.4.0 | |||||||||||||||||||||||||||||||||||||||||||||
Plug-in dei servizi di Google Play | com.google.gms:servizi-google | 4.3.15 | |||||||||||||||||||||||||||||||||||||||||||||
Librerie deprecate | |||||||||||||||||||||||||||||||||||||||||||||||
App Controlla il fornitore di SafetyNet | com.google.firebase:firebase-appcheck-safetynet | 16.1.2 | |||||||||||||||||||||||||||||||||||||||||||||
Indicizzazione dell'app | com.google.firebase:firebase-appindexing | 20.0.0 | |||||||||||||||||||||||||||||||||||||||||||||
Librerie del kit Firebase ML
|
Prossimi passi
Aggiungi i servizi Firebase alla tua app:
Ottieni informazioni dettagliate sul comportamento degli utenti con Analytics .
Imposta un flusso di autenticazione utente con Authentication .
Archivia i dati, come le informazioni sugli utenti, con Cloud Firestore o Realtime Database .
Archivia file, come foto e video, con Cloud Storage .
Attiva il codice di backend che viene eseguito in un ambiente sicuro con Cloud Functions .
Invia notifiche con Cloud Messaging .
Scopri quando e perché la tua app va in crash con Crashlytics .
Ulteriori informazioni su Firebase:
Visita Capire i progetti Firebase per saperne di più sui progetti Firebase e sulle best practice per i progetti.
Visita Ulteriori informazioni su Android e Firebase se hai domande su concetti poco familiari o specifici per lo sviluppo di Firebase e Android.
Esplora le app Firebase di esempio .
Ottieni un'esperienza pratica con Firebase Android Codelab .
Scopri di più con il corso Firebase in a Weekend .
Preparati a lanciare la tua app:
- Imposta avvisi di budget per il tuo progetto in Google Cloud Console.
- Monitora la dashboard di utilizzo e fatturazione nella console Firebase per ottenere un quadro generale dell'utilizzo del tuo progetto su più servizi Firebase.
- Esamina l' elenco di controllo per il lancio di Firebase .
Hai problemi con Firebase e il tuo progetto Android? Visita la risoluzione dei problemi di Android e le domande frequenti .