Comprendi i progetti Firebase

Questa pagina offre brevi panoramiche di diversi concetti importanti sui progetti Firebase. Se disponibili, seguire i collegamenti per trovare informazioni più dettagliate su funzionalità, servizi, strumenti e best practice.

Relazione tra progetti, app e prodotti Firebase

Un progetto Firebase è l'entità di primo livello per Firebase. In un progetto puoi registrare le tue app Apple, Android o web. Dopo aver registrato le tue app con Firebase, puoi aggiungere gli SDK Firebase per qualsiasi numero di prodotti Firebase , come Analytics, Cloud Firestore, Performance Monitoring o Remote Config.

Scopri informazioni più dettagliate su questo processo nella guida introduttiva per la tua piattaforma:
iOS+ | androide | rete | Unità | C++ | Svolazzare .

Comprensione della gerarchia dei progetti Firebase

Diagramma che mostra la gerarchia di base di un progetto Firebase, inclusi il progetto, le relative app registrate e le risorse e i servizi di cui è stato eseguito il provisioning Questo diagramma mostra la gerarchia di base di un progetto Firebase. Ecco le principali relazioni:

  • Un progetto Firebase è come un contenitore per tutte le tue app e tutte le risorse e i servizi forniti per il progetto.

  • Un progetto Firebase può avere una o più app Firebase registrate (ad esempio, entrambe le versioni iOS e Android di un'app o entrambe le versioni gratuita e a pagamento di un'app).

  • Tutte le app Firebase registrate nello stesso progetto Firebase condividono e hanno accesso a tutte le stesse risorse e servizi forniti per il progetto . Ecco alcuni esempi:

    • Tutte le app Firebase registrate nello stesso progetto Firebase condividono gli stessi backend, come Firebase Hosting, Authentication, Realtime Database, Cloud Firestore, Cloud Storage e Cloud Functions.

    • Tutte le app Firebase registrate nello stesso progetto Firebase sono associate alla stessa proprietà Google Analytics, dove ogni app Firebase è uno stream di dati separato in quella proprietà.

Relazione tra i progetti Firebase e Google Cloud

Quando crei un nuovo progetto Firebase, in realtà stai creando un progetto Google Cloud dietro le quinte. Puoi persino creare prima un progetto Google Cloud, quindi aggiungere Firebase al progetto in un secondo momento. Puoi pensare a un progetto Google Cloud come a un contenitore virtuale per dati, codice, configurazione e servizi.

Tieni presente che per tutti i progetti Firebase, Firebase aggiunge automaticamente un'etichetta firebase:enabled nella pagina Etichette per il tuo progetto in Google Cloud Console. Scopri di più su questa etichetta nelle nostre FAQ .

Poiché un progetto Firebase è un progetto Google Cloud:

Configurazione di un progetto Firebase e registrazione delle app

Puoi configurare un progetto Firebase e registrare le app nella console Firebase (o, per casi d'uso avanzati, tramite l' API REST di Firebase Management o l'interfaccia a riga di comando di Firebase). Quando imposti un progetto e registri le app, devi prendere alcune decisioni organizzative e aggiungere informazioni di configurazione specifiche di Firebase ai tuoi progetti locali.

Per le app di produzione, devi impostare un flusso di lavoro di sviluppo chiaro, che in genere prevede l'utilizzo di più ambienti. Consulta la nostra documentazione sui flussi di lavoro degli sviluppatori , incluse le best practice generali e le linee guida generali sulla sicurezza per l'impostazione dei progetti Firebase e la registrazione delle app per creare il tuo flusso di lavoro di sviluppo.

Interagire con un progetto Firebase

Oltre agli SDK del prodotto, puoi interagire direttamente con un progetto Firebase utilizzando diversi strumenti e interfacce.

Console Firebase

La console Firebase offre l'ambiente più completo per la gestione di prodotti, app e impostazioni a livello di progetto Firebase.

Console Firebase: schermata panoramica del progetto

Il pannello di sinistra della console elenca i prodotti Firebase, organizzati per categorie di primo livello. Nella parte superiore del pannello di sinistra, accedi alle impostazioni di un progetto facendo clic su . Le impostazioni di un progetto includono integrazioni , autorizzazioni di accesso e fatturazione .

La parte centrale della console mostra i pulsanti che avviano i flussi di lavoro di configurazione per registrare vari tipi di app. Dopo aver iniziato a utilizzare Firebase, l'area principale della console si trasforma in una dashboard che mostra le statistiche sui prodotti che utilizzi.

Tieni presente che poiché un progetto Firebase è anche un progetto Google Cloud, potresti scoprire che varie attività o prodotti richiedono l'utilizzo di Google Cloud Console anziché della console Firebase.

Firebase CLI (uno strumento a riga di comando)

Firebase offre anche l'interfaccia a riga di comando di Firebase per la configurazione e la gestione di prodotti Firebase specifici, come Firebase Hosting, Cloud Functions for Firebase ed Firebase Extensions.

Dopo aver installato la CLI, hai accesso al comando global firebase . Utilizza l'interfaccia a riga di comando per collegare la directory dell'app locale a un progetto Firebase , quindi distribuisci nuove versioni dei contenuti ospitati da Firebase o aggiornamenti delle funzioni.

API REST di gestione di Firebase

Utilizzando l' API REST di Firebase Management , puoi gestire in modo programmatico un progetto Firebase. Ad esempio, puoi registrare a livello di codice un'app con un progetto o elencare le app che sono già registrate ( iOS+ | Android | web ).

Identificatori del progetto Firebase

Un progetto Firebase può essere identificato nel backend Firebase e in varie interfacce per sviluppatori utilizzando identificatori diversi, tra cui il nome del progetto , il numero del progetto e l' ID del progetto .

Il nome del progetto

Quando crei un progetto, fornisci un nome progetto . Questo identificatore è il nome solo interno per un progetto nella console Firebase , in Google Cloud Console e nell'interfaccia a riga di comando di Firebase . Il nome del progetto non è esposto in alcun prodotto, servizio o risorsa Firebase o Google Cloud pubblicamente visibile; serve semplicemente per aiutarti a distinguere più facilmente tra più progetti.

Puoi modificare il nome di un progetto in qualsiasi momento nelle progetto della console Firebase. Il nome del progetto viene visualizzato nel riquadro superiore.

Il numero del progetto

Un progetto Firebase (e il relativo progetto Google Cloud associato ) ha un numero di progetto . Questo è l'identificatore canonico univoco globale assegnato da Google per il progetto. Utilizza questo identificatore quando configuri le integrazioni e/o effettui chiamate API a Firebase, Google o servizi di terze parti.

Non è possibile modificare un numero di progetto. Se elimini un progetto, anche il numero del progetto viene eliminato e non potrà mai più essere utilizzato da nessun altro progetto.

L'ID del progetto

Un progetto Firebase (e il relativo progetto Google Cloud associato ) ha un ID progetto . Si tratta di un identificatore univoco definito dall'utente per il progetto in tutto Firebase e Google Cloud. Quando crei un progetto Firebase, Firebase assegna automaticamente un ID univoco al progetto, ma puoi modificarlo durante la configurazione del progetto. Questo identificatore dovrebbe generalmente essere trattato come un comodo alias per fare riferimento al progetto.

File e oggetti di configurazione di Firebase

Quando registri un'app con un progetto Firebase, la console Firebase fornisce un file di configurazione Firebase (app Apple/Android) o un oggetto di configurazione (app Web) che aggiungi direttamente alla directory dell'app locale.

  • Per le app Apple, aggiungi un file di configurazione GoogleService-Info.plist .
  • Per le app Android, aggiungi un file di configurazione google-services.json .
  • Per le app Web, aggiungi un oggetto di configurazione Firebase.

In qualsiasi momento, puoi ottenere il file di configurazione o l'oggetto Firebase di un'app .

Un file di configurazione o un oggetto Firebase associa un'app a un progetto Firebase specifico e alle relative risorse (database, bucket di archiviazione e così via). La configurazione include le "Opzioni Firebase", ovvero i parametri richiesti dai servizi Firebase e Google per comunicare con le API del server Firebase e per associare i dati del client al progetto Firebase e all'app Firebase. Ecco le "opzioni Firebase minime richieste":

  • Chiave API : una semplice stringa crittografata utilizzata quando si chiamano determinate API che non devono accedere ai dati utente privati ​​(valore di esempio: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO )

  • ID progetto : un identificatore univoco definito dall'utente per il progetto in tutto Firebase e Google Cloud. Questo identificatore può apparire negli URL o nei nomi di alcune risorse Firebase, ma in genere dovrebbe essere considerato un comodo alias per fare riferimento al progetto. (valore di esempio: myapp-project-123 )

  • ID applicazione ("AppID") : l'identificatore univoco per l'app Firebase su tutto Firebase con un formato specifico della piattaforma:

    • App Apple Firebase: GOOGLE_APP_ID (valore di esempio: 1:1234567890:ios:321abc456def7890 )
      Questo non è un ID pacchetto Apple.
    • App Android Firebase: mobilesdk_app_id (valore di esempio: 1:1234567890:android:321abc456def7890 )
      Questo non è un nome di pacchetto Android o un ID applicazione Android.
    • App Web Firebase: appId (valore di esempio: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c )

Il contenuto del file di configurazione o dell'oggetto Firebase è considerato pubblico, inclusi l'ID specifico della piattaforma dell'app (ID pacchetto Apple o nome pacchetto Android) e i valori specifici del progetto Firebase, come la chiave API, l'ID progetto, l'URL del database in tempo reale e Nome del bucket di Cloud Storage. Detto questo, utilizza le regole di sicurezza di Firebase per proteggere i tuoi dati e file in Realtime Database , Cloud Firestore e Cloud Storage .

Per i progetti open source, generalmente sconsigliamo di includere il file di configurazione o l'oggetto Firebase dell'app nel controllo del codice sorgente perché, nella maggior parte dei casi, gli utenti devono creare i propri progetti Firebase e indirizzare le proprie app alle proprie risorse Firebase (tramite la propria configurazione Firebase file o oggetto).

Limiti generali per progetti, app e siti Firebase

Di seguito sono riportati alcuni limiti generali per progetti, app e siti Firebase:

  • Numero di progetti per account

    • Piano tariffario Spark: la quota di creazione del progetto è limitata a un numero inferiore di progetti (in genere circa 5-10).
    • Piano tariffario Blaze: la quota di creazione di progetti per account aumenta in modo sostanziale fintanto che l'account Cloud Billing associato è in regola.

    Il limite alla quota di creazione del progetto è raramente un problema per la maggior parte degli sviluppatori, ma se necessario, puoi richiedere un aumento della quota del progetto .

    Tieni presente che l'eliminazione completa di un progetto richiede 30 giorni e conta ai fini della quota del progetto finché il progetto non viene completamente eliminato.

  • Numero di app per progetto

    Firebase limita a 30 il numero totale di app Firebase all'interno di un progetto Firebase.

    Dovresti assicurarti che tutte le app Firebase all'interno di un singolo progetto Firebase siano varianti di piattaforma della stessa applicazione dal punto di vista dell'utente finale. Scopri di più sulla multi-tenancy nei nostri documenti sulle best practice.

    Scopri di più sul limite delle app per progetto nelle domande frequenti.

  • Numero di siti di hosting per progetto

    La funzionalità multisito di Firebase Hosting supporta un massimo di 36 siti per progetto.

Avvio della tua app