Best practice generali per la configurazione dei progetti Firebase

Questa pagina fornisce best practice generali di alto livello per la configurazione dei progetti Firebase e la registrazione delle 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 descritte in questa pagina, consulta le nostre linee guida generali per la sicurezza.

Informazioni sulla gerarchia dei progetti Firebase

Diagramma che mostra la gerarchia di base di un progetto Firebase, inclusi
          il progetto, le app registrate e i servizi e le risorse di cui è stato eseguito il provisioning Questo diagramma mostra la gerarchia di base di un progetto Firebase. Ecco le relazioni chiave:

  • Un progetto Firebase è come un container per tutte le tue app e per tutte le risorse e i servizi di cui è stato eseguito il provisioning per il progetto.

  • Un progetto Firebase può avere una o più app Firebase registrate (ad esempio, le versioni per iOS e Android di un'app o le versioni senza costi 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 gli stessi servizi di cui è stato eseguito il provisioning 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à Google Analytics, in cui ogni app Firebase è uno stream di dati separato in quella proprietà.

Qual è il ruolo di un progetto Google Cloud in questa gerarchia?

Un aspetto della gerarchia dei progetti Firebase non mostrato nel diagramma precedente è la relazione con un progetto Google Cloud. Un progetto Firebase è in realtà solo un progetto Google Cloud per cui sono stati attivati servizi e configurazioni specifici di Firebase aggiuntivi. Tieni presente che anche tutte le app registrate nello stesso progetto Firebase condividono e hanno accesso a tutte le stesse Google Cloud risorse e gli stessi servizi.

Scopri di più sulla relazione tra Firebase e Google Cloud in Informazioni sui progetti Firebase

Registrare le varianti dell'app con i 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 per iOS, Android e web della stessa app o dello stesso gioco con lo stesso progetto Firebase.

  • Se hai 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 le versioni senza costi e a pagamento della stessa app nello stesso progetto.

  • Se hai più varianti di build basate sullo stato di rilascio (anziché sull'attività o sull'accesso comune dell'utente finale, come sopra), registra ogni variante con un progetto Firebase separato. Un esempio è la build di debug rispetto alla build di rilascio: registra ognuna di queste build nel proprio progetto Firebase.

    • Le build basate sullo stato di rilascio non devono condividere le stesse risorse Firebase perché ciò rischia di contaminare o persino sostituire i dati di produzione con i dati di debug.

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

Google Cloud

Evitare l'architettura multi-tenancy

L'architettura multi-tenancy può comportare gravi problemi di configurazione e problemi di privacy dei dati, tra cui problemi imprevisti con l'aggregazione di dati e 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, ti consigliamo vivamente di registrare ogni app con un progetto Firebase diverso.

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

Passaggi successivi