Cette page fournit des bonnes pratiques générales de haut niveau pour configurer des projets Firebase et enregistrer vos applications dans un projet afin de disposer d'un workflow de développement clair qui utilise des environnements distincts. Une fois que vous vous êtes familiarisé avec les bonnes pratiques présentées sur cette page, consultez nos consignes de sécurité générales.
Comprendre la hiérarchie des projets Firebase
Ce schéma illustre la hiérarchie de base d'un projet Firebase. Voici les principales relations :
Un projet Firebase est comme un conteneur pour toutes vos applications, ainsi que pour toutes les ressources et tous les services provisionnés pour le projet.
Un projet Firebase peut contenir une ou plusieurs applications Firebase enregistrées (par exemple, les versions iOS et Android d'une application, ou les versions sans frais et payante d'une application).
Toutes les applications Firebase enregistrées dans le même projet Firebase partagent et ont accès à toutes les mêmes ressources et tous les mêmes services provisionnés pour le projet. Voici quelques exemples :
Toutes les applications Firebase enregistrées dans le même projet Firebase partagent les mêmes backends, tels que Firebase Hosting, Authentication, Realtime Database, Cloud Firestore, Cloud Storage et Cloud Functions.
Toutes les applications Firebase enregistrées dans le même projet Firebase sont associées à la même propriété Google Analytics, dans laquelle chaque application Firebase est un flux de données distinct.
Où un projet Google Cloud s'inscrit-il dans cette hiérarchie ?
Un aspect de la hiérarchie des projets Firebase qui n'est pas présenté dans le schéma ci-dessus est la relation avec un projet Google Cloud. Un projet Firebase n'est en fait qu'un projet Google Cloud pour lequel des configurations et des services spécifiques à Firebase supplémentaires sont activés. Notez que toutes les applications enregistrées dans le même projet Firebase partagent et ont également accès à toutes les mêmes Google Cloud ressources et tous les mêmes services.
Pour en savoir plus sur la relation entre Firebase et Google Cloud, consultez Comprendre les projets Firebase.
Enregistrer des variantes d'application dans des projets Firebase
Voici quelques conseils importants pour enregistrer vos variantes d'application dans un projet Firebase :
Assurez-vous que toutes les applications enregistrées dans un projet Firebase sont des variantes de plate-forme de la même application du point de vue de l'utilisateur final. Enregistrez les versions iOS, Android et Web de la même application ou du même jeu dans le même projet Firebase.
Si vous disposez de plusieurs variantes de build qui peuvent partager les mêmes ressources Firebase , enregistrez-les dans le même projet Firebase. Par exemple, un blog et une application Web dans le même projet, ou les versions sans frais et payante de la même application dans le même projet.
Si vous disposez de plusieurs variantes de build basées sur l'état de la version (plutôt que sur une activité ou un accès utilisateur final commun, comme ci-dessus), enregistrez chaque variante dans un projet Firebase distinct. Par exemple, votre build de débogage et votre build de version : enregistrez chacun de ces builds dans son propre projet Firebase.
Les builds basés sur l'état de la version ne doivent pas partager les mêmes ressources Firebase, car cela risque de polluer vos données de production avec vos données de débogage, voire de les remplacer.
Les variantes de plate-forme de chacune de ces variantes de build doivent se trouver dans le même projet Firebase. Par exemple, enregistrez les builds de débogage iOS et Android dans un projet Firebase "dev", car ils peuvent tous deux interagir avec les mêmes données et ressources hors production.
Éviter l'architecture mutualisée
L'architecture mutualisée peut entraîner de graves problèmes de configuration et de confidentialité des données, y compris des problèmes involontaires liés à l'agrégation des analyses, à l'authentification partagée, à des structures de base de données trop complexes et à des difficultés avec les règles de sécurité.
En règle générale, si un ensemble d'applications ne partage pas les mêmes données et configurations, envisagez fortement d'enregistrer chaque application dans un projet Firebase différent.
Par exemple, si vous développez une application en marque blanche, chaque application portant une marque indépendante doit avoir son propre projet Firebase, et les versions iOS et Android de cette marque doivent se trouver dans le même projet Firebase. Chaque application portant une marque indépendante ne doit pas (pour des raisons de confidentialité) partager de données avec les autres.
Étapes suivantes
Consultez les consignes de sécurité générales pour différents environnements. Vous devez vous assurer que chaque environnement et ses données sont sécurisés.
Consultez la checklist avant le lancement de Firebase.