Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Comprendi i progetti Firebase

Questa pagina offre una breve panoramica di alcuni concetti importanti sui progetti Firebase. Se disponibili, seguire i collegamenti per trovare informazioni più dettagliate su funzionalità, servizi e persino altre piattaforme. Nella parte inferiore di questa pagina, trova un elenco delle migliori pratiche generali per i progetti Firebase.

Relazione tra progetti, app e prodotti Firebase

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

Scopri informazioni più dettagliate su questo processo nelle guide introduttive ( iOS | Android | web | Unity | C ++ ).

Relazione tra i progetti Firebase e Google Cloud Platform (GCP)

Quando crei un nuovo progetto Firebase nella console di Firebase, stai effettivamente creando un progetto Google Cloud Platform (GCP) dietro le quinte. Puoi pensare a un progetto GCP come un contenitore virtuale per dati, codice, configurazione e servizi. Un progetto Firebase è un progetto GCP che ha ulteriori configurazioni e servizi specifici di Firebase. Puoi anche creare prima un progetto GCP, quindi aggiungere Firebase al progetto in un secondo momento.

Poiché un progetto Firebase è un progetto GCP:

Impostazione di un progetto Firebase e registrazione di app

È possibile impostare un progetto Firebase e registrare app nella console di Firebase (o, per casi d'uso avanzati, tramite l' API REST di Firebase Management o l' interfaccia della riga di comando di Firebase ). Quando si configura un progetto e si registrano app, è necessario prendere alcune decisioni organizzative e aggiungere informazioni di configurazione specifiche di Firebase ai progetti locali.

Assicurati di rivedere alcune best practice generali a livello di progetto (nella parte inferiore di questa pagina) prima di impostare un progetto e registrare le app.

Il nome del progetto

Quando si crea un progetto, si fornisce un nome di progetto . Questo identificatore è il nome solo interno per un progetto nella console Firebase , nella console GCP e nella CLI di Firebase . Il nome del progetto non è esposto in alcun prodotto, servizio o risorsa Firebase o GCP pubblicamente visibile; serve semplicemente per aiutarti a distinguere più facilmente tra più progetti.

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

Il numero del progetto

Un progetto Firebase (e il progetto GCP associato ) ha un numero di progetto . Questo è l'identificatore canonico univoco assegnato a Google per il progetto. Utilizzare questo identificatore quando si configurano integrazioni e / o si effettuano chiamate API a Firebase, Google o servizi di terze parti.

Chiamate API e numero del progetto

Per molte chiamate API, è necessario includere un identificatore univoco per un progetto. Sebbene molte API accettino l' ID del progetto , si consiglia di utilizzare il numero del progetto per effettuare chiamate API a Firebase, Google o servizi di terze parti.

Ulteriori informazioni sull'utilizzo degli identificatori di progetto, in particolare il numero del progetto, nello standard AIP 2510 di Google.

Trova il numero del progetto

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

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

  • API REST di gestione Firebase: chiama projects.list . Il corpo della risposta contiene il numero del progetto nell'oggetto FirebaseProject .

L'ID progetto

Un progetto Firebase (e il progetto GCP associato ) ha un ID progetto . Si tratta di un identificatore univoco definito dall'utente per il progetto in tutta Firebase e GCP. Quando si crea un progetto Firebase, Firebase assegna automaticamente un ID univoco al progetto, ma è possibile modificarlo durante l'impostazione del progetto. Questo identificatore dovrebbe generalmente essere trattato come un alias di convenienza per fare riferimento al progetto.

Se si elimina 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 .firebaseio.com
  • Predefinito Cloud Storage nome bucket - PROJECT_ID .appspot.com

Per tutte le risorse di cui sopra, è possibile creare istanze non predefinite. I nomi pubblici non predefiniti sono completamente personalizzabili. Puoi connettere domini personalizzati a un sito ospitato da Firebase, frammentare il database in tempo reale e creare più bucket di archiviazione cloud (visita la pagina Inizia specifica della piattaforma).

La CLI di Firebase e l'ID del 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.

Puoi anche impostare un alias di progetto per ciascun progetto Firebase in modo da non dover ricordare gli ID di progetto.

Chiamate API e ID progetto

Per molte chiamate API, è necessario includere un identificatore univoco per un progetto. Sebbene molte API accettino l'ID del progetto, si consiglia di utilizzare il numero del progetto per effettuare chiamate API a Firebase, Google o servizi di terze parti.

Ulteriori informazioni sull'utilizzo degli identificatori di progetto, in particolare il numero del progetto, nello standard AIP 2510 di Google.

Trova l'ID del progetto

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

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

  • API REST di gestione Firebase: chiama projects.list . Il corpo della risposta contiene l'ID progetto nell'oggetto FirebaseProject .

File e oggetti di configurazione di Firebase

Quando si registra 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 si aggiunge direttamente alla directory dell'app locale.

  • Per le app iOS, aggiungi un file di configurazione di 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, è possibile ottenere il file o l'oggetto di configurazione Firebase di un'app .

Un file o oggetto di configurazione di Firebase associa un'app a un progetto Firebase specifico e alle sue risorse (database, bucket di archiviazione, ecc.). La configurazione include "Opzioni Firebase", che sono parametri richiesti da Firebase e dai servizi Google per comunicare con le API del server Firebase e per associare i dati 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 di utenti privati ​​(valore di esempio: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO )

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

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

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

Il contenuto del file o dell'oggetto di configurazione di 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 secchio di archiviazione. Detto questo, usa le regole di sicurezza per proteggere i tuoi dati e file in Realtime Database , Cloud Firestore e Cloud Storage .

Per i progetti open source, in genere non è consigliabile includere il file di configurazione Firebase dell'app o l'oggetto nel controllo del codice sorgente, poiché, 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).

Gestione di un progetto Firebase

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

Strumenti per gestire un progetto

Console Firebase

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

Console Firebase - schermata panoramica del progetto

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

Al centro della console vengono visualizzati i pulsanti che avviano i flussi di lavoro di installazione 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 usi.

Firebase CLI (uno strumento da riga di comando)

Firebase offre anche l' interfaccia della riga di comando di Firebase per la configurazione e la gestione di prodotti Firebase specifici, come Firebase Hosting e Funzioni cloud per Firebase.

Dopo aver installato la CLI, si ha accesso al comando globale firebase . Utilizzare l'interfaccia della riga di comando per collegare la directory dell'app locale a un progetto Firebase , quindi distribuire nuove versioni del contenuto ospitato da Firebase o aggiornamenti alle funzioni.

API REST di gestione Firebase

Utilizzando l' API REST di Firebase Management , è possibile gestire a livello di programmazione un progetto Firebase. Ad esempio, è possibile registrare a livello di programmazione un'app con un progetto o elencare le app già registrate ( iOS | Android | Web ).

Buone pratiche generali

Aggiunta di app a un progetto

Assicurati che tutte le app all'interno di un progetto siano 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 hai più varianti di build con diversi ID bundle iOS o nomi di pacchetti Android definiti, puoi registrare ciascuna variante con un progetto Firebase separato. Tuttavia, se hai varianti che condividono le stesse risorse di Firebase, registrale con lo stesso progetto Firebase.

Sebbene non vi siano restrizioni sul numero di app all'interno di un progetto, la registrazione di un'app può creare uno o più ID client OAuth 2.0 sottostanti. Esiste un limite di circa 30 ID client che possono essere creati all'interno di un singolo progetto.

Multi-tenancy

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

In generale, se un set di app non condivide gli stessi dati e le stesse configurazioni, prendi in considerazione l'idea di registrare ciascuna app con un progetto Firebase diverso.

Ad esempio, se si sviluppa un'applicazione con etichetta bianca, ogni app con etichetta indipendente dovrebbe avere il proprio progetto Firebase. Ogni app non condivide e non dovrebbe (per motivi di privacy) condividere i dati con le altre.

Nota alcuni limiti generali per progetti, app e siti Firebase:

  • Numero di progetti per account

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

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

    Tenere 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

    Sebbene non vi siano restrizioni sul numero di app all'interno di un progetto, la registrazione di un'app può creare uno o più ID client OAuth 2.0 sottostanti. Esiste un limite di circa 30 ID client che possono essere creati all'interno di un singolo progetto.

  • 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