Best practice generali per la configurazione di progetti Firebase

Questa pagina fornisce best practice generali e di alto livello per la configurazione di progetti Firebase e la registrazione delle tue app con un progetto in modo da avere un flusso di lavoro di sviluppo chiaro che utilizza ambienti distinti. Una volta acquisite familiarità con le best practice riportate 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 app registrate e le risorse e i servizi forniti Questo diagramma mostra la gerarchia di base di un progetto Firebase. Ecco le relazioni principali:

  • 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 su di esso (ad esempio, entrambe le versioni iOS e Android di un'app oppure 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, Autenticazione, 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 ciascuna app Firebase costituisce un flusso di dati separato in tale 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 per il quale sono abilitati servizi e configurazioni aggiuntivi specifici di Firebase . Tieni presente che anche tutte le app registrate nello stesso progetto Firebase condividono e hanno accesso alle stesse risorse e servizi Google Cloud.

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

Registrazione di varianti di app con progetti Firebase

Ecco alcuni suggerimenti importanti per registrare le varianti della tua app con un progetto Firebase:

  • Assicurati che tutte le app registrate in un progetto Firebase siano varianti della 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 oppure entrambe le versioni gratuita e a pagamento della stessa app nello stesso progetto.

  • Se disponi di più varianti di build basate sullo stato del rilascio (anziché sull'attività o sull'accesso comune dell'utente finale, come sopra), registra ciascuna variante con un progetto Firebase separato . Un esempio è la build di debug o di 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 dati di debug inquinino o addirittura sovrascrivano i dati di produzione.

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

Evitare il multi-tenancy

La multi-tenancy può portare a seri problemi di configurazione e privacy dei dati, inclusi problemi imprevisti con l'aggregazione delle 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 configurazioni, valuta vivamente la possibilità di registrare ciascuna 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 e le versioni iOS e Android di tale etichetta dovrebbero trovarsi nello stesso progetto Firebase. Ciascuna app etichettata in modo indipendente non dovrebbe (per motivi di privacy) condividere dati con le altre.

Prossimi passi