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 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 . Aggiorneremo periodicamente questa pagina con nuovi argomenti, quindi ricontrolla per vedere se abbiamo aggiunto l'argomento che desideri 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, il 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 su 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 attuali capacità di Firebase Assistant, potresti voler apportare alcune modifiche manuali a queste dipendenze:

  • Se desideri utilizzare la distinta base Android Firebase , aggiorna le dipendenze nel file Gradle del modulo (a livello di app) (in genere app/build.gradle ) per importare la piattaforma distinta base. Dovrai anche rimuovere le versioni da ciascuna 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) (in genere app/build.gradle ) per utilizzare invece la versione ktx 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 google-services.json al tuo progetto.

Se aggiungi Firebase al tuo progetto Android tramite la console Firebase , l' API REST di gestione o la CLI 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.

Distinta base Android Firebase (distinta base)

La distinta base (distinta materiali) Android Firebase ti consente di gestire tutte le versioni della libreria Firebase specificando una sola versione: la versione della distinta base.

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

Scopri di più sul supporto di Gradle per le piattaforme BoM .

Ecco come utilizzare la distinta base Android Firebase 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.4.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'
}

Ecco alcune domande frequenti sull'utilizzo della distinta base Android Firebase:

Confronta le versioni della distinta base Firebase

Moduli della libreria delle estensioni Kotlin (KTX).

I moduli della libreria Firebase Kotlin Extensions (KTX) sono piccoli compagni dei principali moduli della libreria Firebase e puoi usarli per scrivere codice Kotlin bello e idiomatico.

Per utilizzare un modulo della libreria KTX nella tua app, modifica la dipendenza per includere il suffisso -ktx . Ogni modulo KTX ha automaticamente una dipendenza dal modulo della libreria principale, 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.4.0')

  // Declare the main module
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX module instead (which automatically has a dependency on the main module)
  implementation 'com.google.firebase:firebase-analytics-ktx'
}

Ciascun modulo KTX fornisce diverse estensioni sintattiche del modulo principale. Ad esempio, il modulo Analytics KTX semplifica la registrazione degli eventi:

Prima (utilizzando il modulo principale)

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 (utilizzando invece il modulo 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 un modulo KTX ad eccezione di Firebase ML e Indicizzazione delle app.

Se non l'hai ancora fatto, consulta la documentazione di riferimento API per i moduli KTX.

Moduli di funzionalità e distribuzione delle funzionalità di gioco

A partire da maggio 2021 (Firebase BoM v28.0.0), gli SDK Android 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 modulo 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 la distinta base Firebase) per includere i moduli della tua app e utilizzarli 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 funzionalità 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 di funzionalità:

  • Prodotti come Dynamic Links o Messaggistica in-app Firebase 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 Authentication insieme, dovresti sempre includerli entrambi nello stesso modulo. Se ciò non è possibile, assicurati che l'autenticazione venga caricata prima di Cloud Firestore; in caso contrario, alcune operazioni Cloud Firestore potrebbero avere uno stato di autenticazione errato.

  • Quando utilizzi firebase-crashlytics-ndk come dipendenza di un modulo di funzionalità dinamiche, devi impostare la proprietà unstrippedNativeLibsDir nel file build.gradle della tua app, come descritto nella documentazione di Crashlytics NDK .

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

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:

Plugin Gradle dei servizi Google
Un plug-in Gradle ( com.google.gms.google-services ) che viene eseguito in fase di creazione per garantire che la tua app abbia la configurazione corretta per accedere alle API Firebase e Google
Nonostante il nome, questo plugin non ha alcuna relazione con i servizi Google Play (vedi 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 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 automatici di sicurezza e miglioramenti delle funzionalità senza un aggiornamento del sistema operativo. Ulteriori informazioni sui servizi 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, ecc. della tua app tramite Google Play Console. Se un dispositivo dispone di Google Play Store, esegue anche i servizi Google Play (vedi voce precedente). Ulteriori informazioni sul Google Play Store per gli sviluppatori .
Servizi di giochi di Google Play
Una serie di API per gli sviluppatori di giochi per dispositivi mobili
Ulteriori informazioni sui servizi Google Play Games e su come integrare Firebase con il tuo progetto di servizi Google Play Games .

Risorse open source per gli SDK Android Firebase

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

SDK Android Firebase

La maggior parte degli SDK Android Firebase sono sviluppati come librerie open source nel nostro repository pubblico Firebase GitHub . 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. Puoi trovare queste guide rapide nel nostro repository pubblico Firebase GitHub di avvio rapido .

Puoi aprire ogni avvio rapido come progetto Android Studio, quindi eseguirlo su un dispositivo mobile o su un dispositivo virtuale (AVD). In alternativa, puoi utilizzare queste guide di avvio rapido come codice di esempio per l'utilizzo degli SDK Firebase.

Altri argomenti di interesse