Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

Comprendi i progetti Firebase

Questa pagina offre brevi panoramiche di diversi concetti importanti sui progetti Firebase. Se disponibili, segui i collegamenti per trovare informazioni più dettagliate su funzionalità, servizi e persino altre piattaforme. In fondo a questa pagina, trovi una lista di buone pratiche generali per i progetti Firebase.

Relazione tra progetti, app e prodotti Firebase

Un progetto Firebase è l'entità di primo livello per Firebase. In un progetto, crei app Firebase registrando le tue app iOS, Android o web. Dopo aver registrato le tue applicazioni con Firebase, è possibile aggiungere gli SDK Firebase per qualsiasi numero di Firebase prodotti , come Analytics, Nube FireStore, monitoraggio delle prestazioni, o Configurazione remota.

Maggiori informazioni più dettagliate su questo processo nelle guide introduttive ( iOS | Android | web | Unità | C ++ ).

Relazione tra i progetti Firebase e Google Cloud

Quando si crea un nuovo progetto Firebase nella console Firebase, si sta effettivamente creando un progetto di Google Cloud dietro le quinte. Puoi pensare a un progetto Google Cloud come a un contenitore virtuale per dati, codice, configurazione e servizi. Un progetto Firebase è un progetto Google Cloud con configurazioni e servizi aggiuntivi specifici per Firebase. Puoi persino creare prima un progetto Google Cloud, quindi aggiungere Firebase al progetto in un secondo momento.

Dal momento che un progetto Firebase è un progetto di Google Cloud:

Configurazione di un progetto Firebase e registrazione delle app

È possibile impostare un progetto Firebase e registrare le app nella console Firebase (o, per casi di utilizzo avanzati, tramite la Firebase gestione API REST o la Firebase CLI ). Quando configuri un progetto e registri app, devi prendere alcune decisioni organizzative e aggiungere informazioni di configurazione specifiche di Firebase ai tuoi progetti locali.

Assicurati di rivedere alcune best practice generale a livello di progetto (in fondo a questa pagina) prima di impostare un progetto e la registrazione applicazioni.

Il nome del progetto

Quando si crea un progetto, è necessario fornire un nome di progetto. Questo identificatore è il nome interno-solo per un progetto nella console Firebase , il Console Google Cloud , e la Firebase CLI . Il nome del progetto non è esposto in nessun prodotto, servizio o risorsa pubblicamente visibile di Firebase o Google Cloud; serve semplicemente per aiutarti a distinguere più facilmente tra più progetti.

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

Il numero del progetto

Un progetto Firebase (e il suo 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.

Chiamate API e numero di progetto

Per molte chiamate API, devi includere un identificatore univoco per un progetto. Anche se molte API accettano l' ID del progetto , si consiglia di utilizzare il numero di progetto per effettuare le chiamate API a Firebase, Google, o servizi di terze parti.

Ulteriori informazioni sull'utilizzo di identificatori di progetto, in particolare il numero di progetto, in Google AIP 2510 di serie .

Trova il numero del progetto

  • Console Firebase: Fare clic su Impostazioni del progetto . Il numero del progetto viene visualizzato nel riquadro superiore.

  • Firebase CLI: Esegui firebase projects:list . Il numero del progetto viene visualizzato insieme a tutti i progetti Firebase associati al tuo account.

  • Firebase Gestione REST API: Chiamata projects.list . Il corpo di risposta contiene il numero di progetto nel FirebaseProject oggetto.

Il progetto ID

Un progetto Firebase (e il suo progetto Google Cloud associato ) ha un ID progetto. Questo è 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 essere generalmente considerato come un comodo alias per fare riferimento al progetto.

Se elimini un progetto, anche l'ID progetto viene eliminato e non può più essere utilizzato da nessun altro progetto.

Risorse Firebase e ID progetto

L'ID progetto viene visualizzato nelle risorse Firebase pubblicamente visibili, ad esempio:

  • Predefinito Hosting sottodominio - PROJECT_ID .web.app e PROJECT_ID .firebaseapp.com
  • Predefinito in tempo reale URL del database - PROJECT_ID -default-rtdb.firebaseio.com o PROJECT_ID -default-rtdb. REGION_CODE .firebasedatabase.app
  • Predefinito Cloud Storage nome bucket - PROJECT_ID .appspot.com

Per tutte le suddette risorse, puoi creare istanze non predefinite. I nomi pubblicamente visibili dei non predefiniti sono completamente personalizzabili. È possibile collegare i domini personalizzati a un sito Firebase-hosted, coccio il database in tempo reale , e creare più secchi di cloud storage (visita la pagina di piattaforma specifica Introduzione).

La CLI Firebase e l'ID progetto

Per alcuni casi d'uso, potresti avere più progetti Firebase associati alla stessa directory dell'app locale. In queste situazioni, quando si utilizza il Firebase CLI , è necessario passare alla --project bandiera con la firebase comandi di comunicare quale progetto Firebase si desidera interagire.

È anche possibile impostare un alias di progetto per ogni progetto Firebase in modo che non c'è bisogno di ricordare gli ID di progetto.

Chiamate API e ID progetto

Per molte chiamate API, devi includere un identificatore univoco per un progetto. Anche se molte API accettare l'ID del progetto, si consiglia di utilizzare il numero di progetto per effettuare le chiamate API a Firebase, Google, o servizi di terze parti.

Ulteriori informazioni sull'utilizzo di identificatori di progetto, in particolare il numero di progetto, in Google AIP 2510 di serie .

Trova l'ID del progetto

  • Console Firebase: Fare clic su Impostazioni del progetto . L'ID progetto viene visualizzato nel riquadro superiore.

  • Firebase CLI: Esegui firebase projects:list . L'ID progetto viene visualizzato insieme a tutti i progetti Firebase associati al tuo account.

  • Firebase Gestione REST API: Chiamata projects.list . Il corpo di risposta contiene l'ID progetto nel FirebaseProject oggetto.

File di configurazione e oggetti di Firebase

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

  • Per le app iOS, si aggiunge un GoogleService-Info.plist file di configurazione.
  • Per le applicazioni Android, si aggiunge un google-services.json file di configurazione.
  • Per le app web, aggiungi un oggetto di configurazione Firebase.

In qualsiasi momento, è possibile ottenere file di configurazione Firebase di un'applicazione o di un oggetto .

Un file o un oggetto di configurazione Firebase associa un'app a un progetto Firebase specifico e alle sue risorse (database, bucket di archiviazione e così via). La configurazione include "Opzioni Firebase", che sono 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 chiama alcune API che non hanno bisogno di accedere ai dati degli utenti privati (ad esempio il valore: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO )

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

  • ID applicazione ( "AppID"): l'identificatore univoco per l'applicazione Firebase in tutte Firebase con un formato piattaforma specifica:

    • Firebase IOS applicazioni: GOOGLE_APP_ID (valore esempio: 1:1234567890:ios:321abc456def7890 )
      Non si tratta di un pacchetto ID Apple.
    • Firebase Android apps: mobilesdk_app_id (Valore di esempio: 1:1234567890:android:321abc456def7890 )
      Questo non è un nome del pacchetto Android o ID applicazione Android.
    • Firebase Web apps: appId (Valore di esempio: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c )

Il contenuto del file o dell'oggetto di configurazione Firebase è considerato pubblico, incluso l'ID specifico della piattaforma dell'app (ID pacchetto iOS 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. Dato questo, utilizzare le regole Firebase di sicurezza per proteggere i dati e file in tempo reale del database , Nuvola FireStore , e Cloud Storage .

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

Gestire un progetto Firebase

Assicurati di rivedere le migliori pratiche generali a livello di progetto (in fondo a questa pagina) per le considerazioni che potrebbero influenzare il modo di gestire un progetto Firebase.

Strumenti per gestire un progetto

Console Firebase

Il Firebase console offre un ambiente più ricco per la gestione dei prodotti Firebase, applicazioni e impostazioni a livello di progetto.

Console Firebase - schermata di panoramica del progetto

Il pannello a sinistra della console elenca i prodotti Firebase, organizzati per categorie di primo livello. Nella parte superiore del pannello di sinistra-side, l'accesso le impostazioni di un progetto facendo clic . Impostazioni di un progetto includono integrazioni , autorizzazioni di accesso , e la fatturazione .

Al centro della console sono visualizzati 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.

Firebase CLI (uno strumento da riga di comando)

Firebase offre anche la Firebase CLI per la configurazione e la gestione di specifici Firebase prodotti, come le funzioni cloud Firebase Hosting e per Firebase.

Dopo aver installato il CLI, si ha accesso al globale firebase di comando . Utilizzare la CLI per collegare il tuo cartella app locale per un progetto Firebase , quindi distribuire nuove versioni di contenuti Firebase-hosted o aggiornamento di funzioni.

API REST di gestione Firebase

Utilizzando l' API REST Firebase di gestione , è possibile gestire a livello di programmazione un progetto Firebase. Ad esempio, è possibile a livello di codice registrare un app con un progetto o di elencare le applicazioni che sono già registrati ( iOS | Android | web ).

Buone pratiche generali

Aggiunta di app a un progetto

Garantire che tutte le applicazioni all'interno di un progetto sono varianti della piattaforma della stessa applicazione dal punto di vista dell'utente finale. È consigliabile registrare le versioni iOS, Android e web della stessa app o gioco con lo stesso progetto Firebase. Tutte le app in un progetto generalmente condividono le stesse risorse Firebase (database, bucket di archiviazione, ecc.).

Se si dispone di creare più varianti con differenti iOS fascio ID o nomi dei pacchetti Android definiti, è possibile registrare ogni variante con un progetto Firebase separata. Tuttavia, se si dispone di varianti che condividono le stesse risorse Firebase, li registri con lo stesso progetto 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 sostanzialmente finché l'account di fatturazione cloud associato è in regola.

    Il limite delle quote di progetto-creazione è raramente una preoccupazione per la maggior parte degli sviluppatori, ma, se necessario, è possibile richiedere un aumento della quota di progetto .

    Tieni presente che l'eliminazione completa di un progetto richiede 30 giorni e conta per la quota del progetto fino a quando 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 della piattaforma della stessa applicazione dal punto di vista dell'utente finale. Per saperne di più best practice per la multi-tenancy di seguito.

    Ulteriori informazioni sul limite su applicazioni per progetto nel FAQ.

  • Numero di siti Hosting per progetto

    Il Firebase Hosting funzione multisito supporta un massimo di 36 siti per progetto.

Multi-locazione

Non è consigliabile collegare diverse app e/o siti Web logicamente indipendenti a un singolo progetto Firebase (spesso chiamato "multi-tenancy"). La multi-tenancy può portare a seri problemi di configurazione e privacy dei dati, inclusi problemi non intenzionali con l'aggregazione delle analisi, l'autenticazione condivisa, strutture di database eccessivamente complesse e difficoltà con le regole di sicurezza.

In generale, se un insieme di applicazioni non condividono gli stessi dati e configurazioni, prendere in seria considerazione la registrazione ogni applicazione con un diverso progetto di Firebase.

Ad esempio, se sviluppi un'applicazione white label, ogni app etichettata in modo indipendente dovrebbe avere il proprio progetto Firebase, ma le versioni iOS e Android di quell'etichetta possono trovarsi nello stesso progetto. Ogni app etichettata in modo indipendente non dovrebbe (per motivi di privacy) condividere dati con le altre.

Avvio della tua app