Mentre sviluppi il tuo progetto Android utilizzando Firebase, potresti scoprire concetti poco familiari o specifici di Firebase. Questa pagina ha lo scopo di rispondere a queste domande o indirizzarti a risorse per saperne di più.
Se hai domande su un argomento non trattato in questa pagina, non esitare a visitare una delle nostre comunità online . Inoltre, aggiorneremo periodicamente questa pagina con nuovi argomenti, quindi ricontrolla per vedere se abbiamo aggiunto l'argomento che vuoi conoscere!
Plug-in Firebase Assistant per Android Studio
Firebase Assistant è un plug-in di Android Studio che registra la tua app Android con un progetto Firebase e aggiunge i file di configurazione, i plug-in e le dipendenze di Firebase necessari al tuo progetto Android, tutto da Android Studio!
Segui le istruzioni nella pagina introduttiva di Android per utilizzare Firebase Assistant. Assicurati di utilizzare le versioni più aggiornate sia di Android Studio che di Firebase Assistant (vai a File > Controlla aggiornamenti ).
Quando selezioni prodotti Firebase specifici da aggiungere alla tua app, Firebase Assistant dichiara automaticamente le dipendenze richieste nel tuo file app/build.gradle
. Tuttavia, per utilizzare le funzionalità di Firebase che vanno oltre le capacità attuali dell'Assistente Firebase, potresti voler apportare alcune modifiche manuali a queste dipendenze:
Se desideri utilizzare Firebase Android BoM , aggiorna le dipendenze nel file Gradle del tuo modulo (a livello di app) (in genere
app/build.gradle
) per importare la piattaforma BoM. Dovrai anche rimuovere le versioni da ciascuna linea di dipendenza della libreria Firebase.Se desideri utilizzare una libreria di estensioni Kotlin , modifica la linea di dipendenza aggiunta al file Gradle del tuo modulo (a livello di app) (di solito
app/build.gradle
) per utilizzare invece la versionektx
della libreria Firebase.
Servizi Google: plug-in e file di configurazione
Come parte dell'aggiunta di Firebase al tuo progetto Android, devi aggiungere il plug-in google-services
e un file di configurazione
al tuo progetto.
Se aggiungi Firebase al tuo progetto Android tramite la console Firebase , l' API REST di gestione o l' interfaccia a riga di comando di Firebase , devi aggiungere manualmente il plug-in e il file di configurazione al tuo progetto. Tuttavia, se utilizzi Firebase Assistant , queste attività vengono eseguite automaticamente durante la configurazione.
Visita la documentazione di Android per scoprire come funzionano insieme il plug-in dei servizi Google e il file di configurazione.
Firebase Android BoM (distinta dei materiali)
La distinta materiali di Firebase per Android ti consente di gestire tutte le versioni della tua libreria Firebase specificando una sola versione: la versione della distinta base.
Quando utilizzi la distinta base di Firebase nella tua app, la distinta base inserisce automaticamente le singole versioni della libreria mappate alla versione della distinta base. Tutte le singole versioni della libreria saranno compatibili. Quando aggiorni la versione della distinta base nella tua app, tutte le librerie Firebase che utilizzi nella tua app verranno aggiornate alle versioni mappate a quella versione della distinta base.
Per sapere quali versioni della libreria Firebase sono mappate a una specifica versione della distinta base, consulta le note di rilascio per quella versione della distinta base. Se è necessario confrontare le versioni della libreria mappate a una versione della distinta materiali rispetto a un'altra versione della distinta materiali, utilizzare il widget di confronto riportato di seguito.
Scopri di più sul supporto di Gradle per le piattaforme BoM .
Ecco come utilizzare Firebase Android BoM per dichiarare le dipendenze nel file Gradle del modulo (a livello di app) (in genere app/build.gradle
). Quando si utilizza la distinta base, non si specificano le singole versioni della libreria nelle righe di dipendenza.
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.3.1') // Declare the dependencies for the desired Firebase products without specifying versions // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Di seguito sono riportate alcune domande frequenti sull'utilizzo di Firebase Android BoM:
Ecco come sovrascrivere una versione della libreria designata nella distinta base:
Mantenere la linea per importare la piattaforma BoM.
Nella linea di dipendenza della libreria, specificare la versione della libreria desiderata. Ad esempio, ecco come dichiarare le dipendenze se desideri utilizzare la versione 18.0.0 di App Indexing, indipendentemente dalla versione designata nella distinta base, ma desideri utilizzare le versioni della distinta base per l'autenticazione e Cloud Firestore:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.3.1') // Declare the dependency for the App Indexing library and specify a version // This specified library version overrides the version designated in the BoM. implementation 'com.google.firebase:firebase-appindexing:18.0.0' // Declare the dependencies for the other Firebase libraries without specifying versions // These libraries will use the versions designated in the BoM. implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
No. Per aggiungere e utilizzare effettivamente le librerie Firebase nella tua app, devi dichiarare ciascuna libreria come una linea di dipendenza separata nel file Gradle del modulo (a livello di app) (in genere app/build.gradle
).
L'utilizzo della distinta base assicura che le versioni di tutte le librerie Firebase nella tua app siano compatibili, ma la distinta base non aggiunge effettivamente tali librerie Firebase alla tua app.
SÌ! Quando dichiari le tue specifiche linee di dipendenza della libreria Firebase, usa semplicemente il nome della libreria KTX, in questo modo:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.3.1') // Declare the dependencies for the desired Firebase products, without specifying versions // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
No. La distinta base per Android di Firebase gestisce solo le versioni delle librerie per le librerie Firebase. L'unica eccezione è l'inclusione dell'SDK Google Mobile Ads perché è così comunemente utilizzato nelle app Firebase.
Anche se ogni libreria Firebase ha una versione indipendente, sono create insieme per garantire che l'ultima versione di ciascuna libreria sia compatibile con le altre.
Utilizzando la distinta base per gestire le versioni della libreria Firebase della tua app, non è necessario tenere traccia della versione di una libreria Firebase compatibile con un'altra libreria Firebase.
Anche se utilizzi solo una libreria Firebase nella tua app in questo momento, ti consigliamo comunque di utilizzare la distinta dei materiali perché non sai mai quando potresti voler utilizzare un'altra libreria Firebase!
Sì, puoi ancora utilizzare il BoM! Per Gradle 5.0 e versioni successive, il supporto BoM è abilitato automaticamente. Tuttavia, per le versioni precedenti di Gradle, devi solo abilitare la funzione BoM e importare il BoM in modo leggermente diverso.
Al tuo file
settings.gradle
, aggiungienableFeaturePreview('IMPROVED_POM_SUPPORT')
.Nel file Gradle del tuo modulo (a livello di app) (di solito
app/build.gradle
), importa il BoM come una normale libreria (senza il modificatoreplatform
), in questo modo:dependencies { // Import the Firebase BoM implementation 'com.google.firebase:firebase-bom:32.3.1' // Declare the dependencies for the desired Firebase products, without specifying versions // For example, declare the dependencies for Firebase Authentication and Cloud Firestore implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
Visita il repository dell'SDK Android Firebase su GitHub .
Confronta le versioni della distinta base di Firebase
Librerie di estensioni Kotlin (KTX).
Le librerie KTX (Firebase Kotlin extensions) sono piccoli compagni degli SDK Firebase di base che ti consentono di scrivere codice Kotlin bello e idiomatico.
Per utilizzare una libreria KTX nella tua app, modifica la tua dipendenza per includere il suffisso -ktx
. Ogni libreria KTX ha automaticamente una dipendenza dalla libreria di base, quindi non è necessario includere entrambe le dipendenze nella tua app.
dependencies { // Import the BoM for the Firebase platform (learn more) implementation platform('com.google.firebase:firebase-bom:32.3.1')// Declare the base library implementation 'com.google.firebase:firebase-analytics'// Declare the KTX library instead (which automatically has a dependency on the base library) implementation 'com.google.firebase:firebase-analytics-ktx' }
Ogni libreria KTX fornisce diverse estensioni sintattiche della libreria di base. Ad esempio, la libreria Analytics KTX semplifica la registrazione degli eventi:
Prima (utilizzando la libreria di base)
val analytics = FirebaseAnalytics.getInstance(); val bundle = Bundle(); bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id); bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name); bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image"); analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle);
Dopo (usando invece la libreria KTX)
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) { param(FirebaseAnalytics.Param.ITEM_ID, id) param(FirebaseAnalytics.Param.ITEM_NAME, name) param(FirebaseAnalytics.Param.CONTENT_TYPE, "image") }
Tutti i prodotti Firebase offrono una libreria KTX ad eccezione di Firebase ML e App Indexing.
Se non l'hai ancora fatto, dai un'occhiata ai documenti di riferimento API per le librerie KTX.
Moduli di funzionalità e fornitura di funzioni di gioco
A partire da maggio 2021 (Firebase BoM v28.0.0), gli SDK Android di Firebase possono essere utilizzati in moduli di funzionalità dinamiche installati separatamente dal modulo dell'applicazione di base.
Per abilitare il supporto per i moduli di funzionalità dinamiche, aggiungi la seguente dipendenza al file build.gradle
del tuo modulo di base :
dependencies {
implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta03'
}
Ora che hai aggiunto il supporto dei moduli dinamici, puoi aggiungere le dipendenze dell'SDK Firebase (con o senza Firebase BoM) per caratterizzare i moduli della tua app e usarli come faresti normalmente.
Ad esempio, se la tua applicazione utilizza Realtime Database per alimentare una specifica funzionalità in tempo reale, puoi aggiungere la dipendenza firebase-database
a build.gradle
del modulo feature anziché al modulo base. Ciò ridurrà le dimensioni del download per la maggior parte degli utenti.
Tieni presente le seguenti avvertenze quando utilizzi gli SDK Firebase nei moduli delle funzionalità:
Prodotti come Dynamic Links o Firebase In-App Messaging che si basano sull'evento
first_open
di Analytics potrebbero perdere questo evento se utilizzati in un modulo di funzionalità dinamiche.Quando utilizzi Cloud Firestore e l'autenticazione insieme, dovresti sempre includerli entrambi nello stesso modulo. Se ciò non è possibile, assicurati che l'autenticazione sia caricata prima di Cloud Firestore; in caso contrario, alcune operazioni di Cloud Firestore potrebbero avere uno stato di autenticazione non corretto.
Quando utilizzi
firebase-crashlytics-ndk
come dipendenza di un modulo di funzionalità dinamiche, devi impostare la proprietàunstrippedNativeLibsDir
nel filebuild.gradle
della tua app, come descritto nella documentazione di Crashlytics NDK .
Per ulteriori informazioni sui moduli delle funzionalità e sull'erogazione delle funzionalità di Play, visita Panoramica dell'erogazione delle funzionalità di Play .
Plugin Gradle dei servizi Google rispetto ai servizi Google Play rispetto a Google Play Store
Diverse parti dell'ecosistema Google, Firebase e Android hanno convenzioni di denominazione simili. Ecco una breve spiegazione per ciascuno:
- Plug-in Gradle dei servizi Google
- Un plug-in Gradle (
com.google.gms.google-services
) che viene eseguito in fase di compilazione per garantire che la tua app abbia la configurazione corretta per accedere a Firebase e alle API di Google - Nonostante il suo nome, questo plug-in non ha alcuna relazione con Google Play Services (vedi la voce successiva) e non ha alcun impatto sulle capacità della tua app in fase di esecuzione.
- Questo plug-in elabora anche il file
google-services.json
che aggiungi alla tua app come parte della configurazione di Firebase. Ulteriori informazioni sul plug-in Gradle dei servizi Google . - Servizi Google Play
- Un servizio in background invisibile che viene eseguito su un dispositivo Android e fornisce diverse API di Google comuni (come Google Maps e Google Sign In) alle app sul dispositivo
- Centralizzando queste API comuni in un unico servizio, riduce le dimensioni di altre app e consente a un dispositivo di ricevere aggiornamenti di sicurezza automatici e miglioramenti delle funzionalità senza un aggiornamento del sistema operativo. Ulteriori informazioni sui servizi di Google Play .
- Google Play Store
- Uno store per scaricare app, film, libri e altro su un dispositivo Android
- In qualità di sviluppatore, gestisci la distribuzione, i rilasci e così via per la tua app tramite Google Play Console. Se un dispositivo dispone di Google Play Store, esegue anche Google Play Services (vedere la voce precedente). Ulteriori informazioni su Google Play Store per sviluppatori .
- Servizi Google Play Giochi
- Un set di API per sviluppatori di giochi per dispositivi mobili
- Scopri di più sui servizi Google Play Games e su come integrare Firebase con il tuo progetto di servizi Google Play Games .
Risorse open source per SDK Android Firebase
Firebase supporta lo sviluppo open source e incoraggia i contributi e il feedback della community.
SDK Android Firebase
La maggior parte degli SDK Android di Firebase sono sviluppati come librerie open source nel nostro repository GitHub pubblico di Firebase . Stiamo lavorando attivamente per spostare presto le rimanenti librerie Firebase sviluppate privatamente nel nostro GitHub pubblico!
Esempi di avvio rapido
Firebase conserva una raccolta di esempi di avvio rapido per la maggior parte delle API Firebase su Android. Trova queste guide di avvio rapido nel nostro repository di avvio rapido GitHub pubblico di Firebase .
Puoi aprire ogni avvio rapido come progetto Android Studio, quindi eseguirli su un dispositivo mobile o su un dispositivo virtuale (AVD). In alternativa, puoi utilizzare queste guide rapide come codice di esempio per l'utilizzo degli SDK Firebase.
Altri argomenti di interesse
- Dipendenze degli SDK Android di Firebase sui servizi di Google Play
- Collega la tua app Firebase a Google Play
- Esegui l'integrazione con il tuo progetto di servizi per i giochi di Play