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, trova un elenco di best practice 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 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 nelle guide introduttive ( iOS | Android | web | Unity | C ++ ).
Relazione tra i progetti Firebase e Google Cloud
Quando crei un nuovo progetto Firebase nella console Firebase, stai effettivamente creando un progetto 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 che include configurazioni e servizi aggiuntivi specifici per Firebase. Puoi persino creare prima un progetto Google Cloud, quindi aggiungere Firebase al progetto in un secondo momento.
Poiché un progetto Firebase è un progetto Google Cloud:
I progetti visualizzati nella console Firebase vengono visualizzati anche nella Google Cloud Console e nella console delle API di Google .
La fatturazione e le autorizzazioni per i progetti vengono condivise tra Firebase e Google Cloud.
Gli identificatori univoci per un progetto (come il numero del progetto e l' ID del progetto ) vengono condivisi tra Firebase e Google Cloud.
Puoi utilizzare prodotti e API sia da Firebase che da Google Cloud in un progetto.
L'eliminazione di un progetto lo elimina su Firebase e Google Cloud.
Configurazione di un progetto Firebase e registrazione di app
Puoi configurare un progetto Firebase e registrare app nella console Firebase (o, per casi d'uso avanzati, tramite l' API REST di Firebase Management o la CLI 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.
Assicurati di esaminare alcune best practice generali a livello di progetto (in fondo a questa pagina) prima di impostare un progetto e registrare le app.
Il nome del progetto
Quando crei un progetto, fornisci un nome di progetto . Questo identificatore è il nome solo interno per un progetto nella console Firebase , Google Cloud Console e Firebase CLI . 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 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 integrazioni e / o esegui 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 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 di progetto, nello standard AIP 2510 di Google.
Trova il numero del progetto
Console Firebase: fai clic su 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.API REST di Firebase Management: chiama
projects.list
. Il corpo della risposta contiene il numero di progetto nell'oggettoFirebaseProject
.
L'ID del progetto
Un progetto Firebase (e il progetto Google Cloud associato ) ha un ID progetto . Si tratta di un identificatore univoco definito dall'utente per il progetto in tutta 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.
Se elimini un progetto, anche l'ID progetto viene eliminato e non potrà mai essere riutilizzato 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
ePROJECT_ID .firebaseapp.com
- URL predefinito del database in tempo reale:
PROJECT_ID -default-rtdb.firebaseio.com
oPROJECT_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 visibili pubblicamente dei non predefiniti sono completamente personalizzabili. Puoi connettere domini personalizzati a un sito ospitato da Firebase, suddividere il database in tempo reale e creare più bucket di Cloud Storage (visita la pagina Introduzione specifica della piattaforma).
La CLI di Firebase e l'ID del progetto
In 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 ogni progetto Firebase in modo da non dover ricordare gli ID progetto.
Chiamate API e ID progetto
Per molte chiamate API, è necessario includere un identificatore univoco per un progetto. Sebbene molte API accettino l'ID 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 di progetto, nello standard AIP 2510 di Google.
Trova l'ID del progetto
Console Firebase: fai clic su progetto . L'ID del 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.API REST di Firebase Management: chiama
projects.list
. Il corpo della risposta contiene l'ID del progetto nell'oggettoFirebaseProject
.
File di configurazione e oggetti 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, 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 sue risorse (database, bucket di archiviazione e così via). La configurazione include "Opzioni Firebase", parametri richiesti da Firebase e dai servizi 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 obbligatorie:
Chiave API : una semplice stringa crittografata utilizzata quando si chiamano determinate API che non necessitano di accedere ai dati utente privati (valore di esempio:
AIzaSyDOCAbC123dEf456GhI789jKl012-MnO
)ID progetto : un identificatore univoco definito dall'utente per il progetto su tutto 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'app Firebase in tutta Firebase con un formato specifico della piattaforma:
- App Firebase per iOS:
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 di pacchetto Android o un ID applicazione Android. - App Web Firebase:
appId
(valore di esempio:1:65211879909:web:3ae38ef1cdcb2e01fe5f0c
)
- App Firebase per iOS:
Il contenuto del file di configurazione o dell'oggetto Firebase è considerato pubblico, incluso l'ID specifico della piattaforma dell'app (ID bundle iOS o nome del pacchetto Android) ei 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 Firebase per proteggere i tuoi dati e file in Realtime Database , Cloud Firestore e Cloud Storage .
Per i progetti open source, in genere non consigliamo di includere il file di configurazione Firebase dell'app o l'oggetto nel controllo del codice sorgente perché, nella maggior parte dei casi, i tuoi utenti dovrebbero creare i propri progetti Firebase e indirizzare le proprie app alle proprie risorse Firebase (tramite file o oggetto).
Gestire un progetto Firebase
Assicurati di rivedere le best practice generali a livello di progetto (in fondo a questa pagina) per considerazioni che potrebbero influire sulla gestione di un progetto Firebase.
Strumenti per gestire un progetto
Console Firebase
La console Firebase offre l'ambiente più ricco per la gestione di prodotti, app e impostazioni a livello di progetto Firebase.
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 integrazioni , autorizzazioni di accesso e fatturazione .
. Le impostazioni di un progetto includonoAl 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 a riga di comando)
Firebase offre anche la Firebase CLI per la configurazione e la gestione di prodotti Firebase specifici, come Firebase Hosting e Cloud Functions for Firebase.
Dopo aver installato la CLI, hai accesso al comando firebase
globale . Utilizza la CLI per collegare la directory dell'app locale a un progetto Firebase , quindi distribuisci nuove versioni del contenuto ospitato da Firebase o aggiornamenti alle funzioni.
API REST di Firebase Management
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 già registrate ( iOS | Android | web ).
Migliori 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 condividono generalmente le stesse risorse Firebase (database, bucket di archiviazione, ecc.).
Se disponi di più varianti di build con ID bundle iOS diversi o nomi di pacchetti Android definiti, puoi registrare ogni variante con un progetto Firebase separato. Tuttavia, se disponi di varianti che condividono le stesse risorse Firebase, registrale con lo stesso progetto Firebase.
Di seguito sono riportati 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 ha una buona reputazione.
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 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.
Devi 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. Ad esempio, se sviluppi un'applicazione white label, ciascuna app etichettata in modo indipendente dovrebbe avere il proprio progetto Firebase.
Scopri di più sul limite di 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.
Multi-tenancy
Il collegamento di diverse app e / o siti Web indipendenti dal punto di vista logico a un singolo progetto Firebase (spesso chiamato "multi-tenancy") non è consigliato. Il multi-tenancy può portare a gravi problemi di configurazione e riservatezza dei dati, inclusi problemi non intenzionali con aggregazione di analisi, autenticazione condivisa, strutture di database eccessivamente complesse e difficoltà con le regole di sicurezza.
In genere, se un insieme di app non condivide gli stessi dati e configurazioni, valuta fortemente la possibilità di registrare ogni app con un progetto Firebase diverso.
Ad esempio, se sviluppi un'applicazione white label, ciascuna app etichettata in modo indipendente dovrebbe avere il proprio progetto Firebase. Ogni app non condivide e non dovrebbe (per motivi di privacy) condividere dati con le altre.
Avvio della tua app
- Imposta gli avvisi di budget per il tuo progetto nella Google Cloud Console.
- Monitora la dashboard di utilizzo e fatturazione nella console Firebase.
- Rivedi l' elenco di controllo per il lancio di Firebase .