Catch up on highlights from Firebase at Google I/O 2023. Learn more

Best practice generali per la configurazione di progetti Firebase

Questa pagina fornisce best practice generali e di alto livello per configurare progetti Firebase e registrare le tue app con un progetto in modo da avere un flusso di lavoro di sviluppo chiaro che utilizzi ambienti distinti. Dopo aver acquisito familiarità con le best practice in questa pagina, consulta le nostre linee guida generali sulla sicurezza .

Comprendere la gerarchia dei progetti Firebase

Diagramma che mostra la gerarchia di base di un progetto Firebase, incluso il progetto, le sue app registrate e le risorse e i servizi forniti Questo diagramma mostra la gerarchia di base di un progetto Firebase. Ecco le relazioni chiave:

  • 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 gratuite ea 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à di Google Analytics, dove ogni app Firebase è un flusso di dati separato in quella proprietà.

Dove si inserisce un progetto Google Cloud in questa gerarchia?

Un aspetto della gerarchia del progetto Firebase che non è mostrato nel diagramma sopra è la relazione con un progetto Google Cloud. Un progetto Firebase è in realtà solo un progetto Google Cloud che dispone di ulteriori configurazioni e servizi specifici di Firebase abilitati per esso. Tieni presente che tutte le app registrate allo stesso progetto Firebase condividono e hanno accesso anche a tutte le stesse risorse e servizi di Google Cloud.

Scopri di più sulla relazione tra Firebase e Google Cloud in Comprendi i progetti Firebase

Registrazione di varianti di app con progetti Firebase

Ecco alcuni suggerimenti importanti per registrare le varianti dell'app con un progetto Firebase:

  • Assicurati che tutte le app registrate in un progetto Firebase siano varianti di piattaforma della stessa applicazione dal punto di vista dell'utente finale. Registra le versioni iOS, Android e Web della stessa app o gioco con lo stesso progetto Firebase.

  • Se disponi di più varianti di build che potrebbero condividere le stesse risorse Firebase , registra le varianti con lo stesso progetto Firebase. Alcuni esempi sono un blog e un'app Web nello stesso progetto o entrambe le versioni gratuite ea pagamento della stessa app nello stesso progetto.

  • Se disponi di più varianti di build basate sullo stato della versione (piuttosto che sull'attività o sull'accesso comuni degli utenti finali, come sopra), registra ciascuna variante con un progetto Firebase separato . Un esempio è la build di debug rispetto al rilascio: registra ciascuna di queste build nel proprio progetto Firebase.

    • Le build basate sullo stato di rilascio non dovrebbero condividere le stesse risorse Firebase perché ciò rischia che i tuoi dati di debug inquinino o addirittura sovrascrivano i tuoi dati di produzione.

    • Le varianti di piattaforma di ciascuna di queste varianti di build dovrebbero trovarsi nello stesso progetto Firebase. Ad esempio, registra entrambe le build di debug iOS e Android in un progetto Firebase "dev" perché entrambi possono interagire con gli stessi dati e risorse non di produzione.

Evitare la multi-locazione

La multi-tenancy può portare a seri problemi di configurazione e privacy dei dati, inclusi problemi non intenzionali con l'aggregazione di analisi, l'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 le stesse configurazioni, considera fortemente la registrazione di ciascuna app con un progetto Firebase diverso.

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

Prossimi passi