Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

Ulteriori informazioni su Android e Firebase

Mentre sviluppi il tuo progetto Android utilizzando Firebase, potresti scoprire concetti non familiari o specifici di Firebase. Questa pagina ha lo scopo di rispondere a queste domande o indicarti le risorse per saperne di più.

Se hai domande su un argomento non trattato in questa pagina, non esitare a visitare una delle nostre community online . Inoltre, aggiorneremo periodicamente questa pagina con nuovi argomenti, quindi controlla di nuovo per vedere se abbiamo aggiunto l'argomento che desideri approfondire!

Plugin Firebase Assistant per Android Studio

Firebase Assistant è un plug-in Android Studio che registra la tua app Android con un progetto Firebase e aggiunge i file di configurazione, i plug-in e le dipendenze necessari di Firebase 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 di Android Studio e Firebase Assistant (vai su File > Verifica 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 attuali capacità di Firebase Assistant, potresti voler apportare alcune modifiche manuali a queste dipendenze:

  • Se desideri utilizzare la BoM Android di Firebase , aggiorna le dipendenze nel file Gradle del modulo (a livello di app) (di solito app/build.gradle ) per importare la piattaforma BoM. Dovrai anche rimuovere le versioni da ogni riga di dipendenza della libreria Firebase.

  • Se desideri utilizzare una libreria di estensioni Kotlin , modifica la riga di dipendenza aggiunta al file Gradle del modulo (a livello di app) (di solito app/build.gradle ) per utilizzare invece la versione ktx della libreria Firebase.

Servizi Google — plugin e file di configurazione

Come parte dell'aggiunta di Firebase al tuo progetto Android, devi aggiungere il plug google-services e un file di configurazione google-services.json al tuo progetto.

Se aggiungi Firebase al tuo progetto Android tramite la console Firebase , Management REST API o Firebase CLI , 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 interagiscono il plug-in dei servizi Google e il file di configurazione.

Firebase Android BoM (distinta materiali)

La BoM (Bill of Materials) di Firebase Android ti consente di gestire tutte le versioni della libreria Firebase specificando solo una versione: la versione della BoM.

Quando utilizzi la BoM Firebase nella tua app, la BoM estrae automaticamente le singole versioni della libreria mappate alla versione di BoM. 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 su una specifica versione della distinta base, controlla le note di rilascio per quella versione della distinta base. Se è necessario confrontare le versioni della libreria mappate a una versione della distinta base rispetto a un'altra versione della distinta base, utilizzare il widget di confronto di seguito.

Ulteriori informazioni sul supporto di Gradle per le piattaforme BoM .

Ecco come utilizzare il BoM Android di Firebase per dichiarare le dipendenze nel file Gradle del modulo (a livello di app) (di solito app/build.gradle ). Quando si utilizza la distinta base, non si specificano le singole versioni della libreria nelle righe delle dipendenze.

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:28.1.0')

  // 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 del BoM Android di Firebase:

Confronta le versioni della distinta base di Firebase

Librerie di estensioni Kotlin (KTX)

Le librerie di estensioni Firebase Kotlin (KTX) 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:28.1.0')

  // 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 (usando 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, controlla i documenti di riferimento API per le librerie KTX.

Moduli di funzionalità e consegna di funzionalità 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 che vengono installati separatamente dal modulo dell'applicazione di base.

Per abilitare il supporto per i moduli funzione Dynamic, aggiungere il seguente dipendenza del modulo base build.gradle di file:

dependencies {
  implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta01'
}

Ora che hai aggiunto il supporto per i moduli dinamici, puoi aggiungere le dipendenze dell'SDK Firebase (con o senza Firebase BoM) per presentare 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, potresti aggiungere la dipendenza firebase-database al build.gradle del modulo della funzionalità anziché al modulo di base. Ciò ridurrà le dimensioni del download per la maggior parte degli utenti.

Prestare attenzione ai seguenti avvertimenti quando si utilizzano gli SDK Firebase nei moduli delle funzionalità:

  • Crashlytics non acquisirà arresti anomali NDK se utilizzato in un modulo di funzionalità dinamiche.

  • Prodotti come Dynamic Links o Firebase In-App Messaging che si basano sull'evento first_open Analytics potrebbero non first_open questo evento se utilizzati in un modulo di funzionalità dinamiche.

  • Quando utilizzi Cloud Firestore e 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 errato.

Per ulteriori informazioni sui moduli delle funzioni e sulla distribuzione delle funzioni di gioco, visita Panoramica della distribuzione delle funzioni di gioco .

Servizi di Google Gradle plug-in vs servizi di Google Play vs Google Play Store

Diversi pezzi dell'ecosistema di Google, Firebase e Android hanno convenzioni di denominazione simili. Ecco una breve spiegazione per ciascuno:

Plugin Gradle dei servizi di Google
Un plug com.google.gms.google-services 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 nome, questo plug-in non ha alcuna relazione con i servizi di Google Play (vedi voce successiva) e non ha alcun impatto sulle funzionalità 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 di Google Play
Un servizio in background invisibile che viene eseguito su un dispositivo Android e fornisce diverse API 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
Un negozio per scaricare app, film, libri e altro su un dispositivo Android
In qualità di sviluppatore, gestisci la distribuzione, le versioni e così via della tua app tramite Google Play Console. Se un dispositivo ha il Google Play Store, esegue anche i servizi di Google Play (vedi voce precedente). Ulteriori informazioni su Google Play Store per sviluppatori .
Servizi di Google Play Giochi
Una serie di API per sviluppatori di giochi per dispositivi mobili
Ulteriori informazioni sui servizi di Google Play Games e su come integrare Firebase con il tuo progetto di servizi di Google Play Games .

Risorse open source per gli SDK Android di Firebase

Firebase supporta lo sviluppo open source e incoraggiamo i contributi e i feedback della community.

SDK Android Firebase

La maggior parte degli SDK Firebase Android 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 sul nostro GitHub pubblico!

Esempi di avvio rapido

Firebase mantiene una raccolta di esempi di avvio rapido per la maggior parte delle API Firebase su Android. Trova queste istruzioni rapide nel nostro repository di avvio rapido pubblico di Firebase GitHub .

Puoi aprire ogni avvio rapido come progetto Android Studio, quindi eseguirli su un dispositivo mobile o un dispositivo virtuale (AVD). Oppure puoi utilizzare questi suggerimenti rapidi come codice di esempio per l'utilizzo degli SDK Firebase.

Altri argomenti di interesse