Cette page fournit des bonnes pratiques générales de haut niveau pour configurer des projets Firebase et enregistrer vos applications avec un projet afin que vous disposiez d'un flux de travail de développement clair qui utilise des environnements distincts. Une fois que vous vous serez familiarisé avec les bonnes pratiques sur cette page, consultez nos consignes générales de sécurité .
Comprendre la hiérarchie des projets Firebase
Ce diagramme montre la hiérarchie de base d'un projet Firebase. Voici les relations clés :
Un projet Firebase est comme un conteneur pour toutes vos applications et toutes les ressources et services provisionnés pour le projet.
Un projet Firebase peut avoir une ou plusieurs applications Firebase enregistrées (par exemple, les versions iOS et Android d'une application, ou les versions gratuite et payante d'une application).
Toutes les applications Firebase enregistrées dans le même projet Firebase partagent et ont accès aux mêmes ressources et 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, comme 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, où chaque application Firebase est un flux de données distinct dans cette propriété.
Où se situe un projet Google Cloud dans cette hiérarchie ?
Un aspect de la hiérarchie des projets Firebase qui n'apparaît pas dans le diagramme 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 supplémentaires spécifiques à Firebase sont activés. Notez que toutes les applications enregistrées dans le même projet Firebase partagent et ont également accès aux mêmes ressources et services Google Cloud.
En savoir plus sur la relation entre Firebase et Google Cloud dans Comprendre les projets Firebase
Enregistrer des variantes d'application avec des projets Firebase
Voici quelques conseils importants pour enregistrer les variantes de votre application avec 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 avec le même projet Firebase.
Si vous disposez de plusieurs variantes de build susceptibles de partager les mêmes ressources Firebase , enregistrez les variantes avec le même projet Firebase. Quelques exemples sont un blog et une application Web dans le même projet, ou les versions gratuite et payante de la même application dans le même projet.
Si vous avez plusieurs variantes de build basées sur l'état de la version (plutôt que sur l'activité ou l'accès commun de l'utilisateur final, comme ci-dessus), enregistrez chaque variante avec un projet Firebase distinct . Un exemple est votre version debug vs release - enregistrez chacune de ces versions dans son propre projet Firebase.
Les builds basés sur le statut de la version ne doivent pas partager les mêmes ressources Firebase, car cela risque de polluer ou même de remplacer vos données de prod par vos données de débogage.
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 versions de débogage iOS et Android dans un projet Firebase "dev", car elles peuvent toutes deux interagir avec les mêmes données et ressources non prod.
Éviter la multilocation
La multilocation peut entraîner de graves problèmes de configuration et de confidentialité des données, notamment des problèmes imprévus d'agrégation d'analyses, d'authentification partagée, de structures de base de données trop complexes et de difficultés avec les règles de sécurité.
En règle générale, si un ensemble d'applications ne partagent pas les mêmes données et configurations, envisagez fortement d'enregistrer chaque application avec un projet Firebase différent.
Par exemple, si vous développez une application en marque blanche, chaque application étiquetée indépendamment doit avoir son propre projet Firebase, et les versions iOS et Android de cette étiquette doivent se trouver dans le même projet Firebase. Chaque application étiquetée indépendamment ne doit pas (pour des raisons de confidentialité) partager des données avec les autres.
Prochaines étapes
Passez en revue les consignes de sécurité générales pour différents environnements. Vous voulez vous assurer que chaque environnement et ses données sont sécurisés.
Consultez la liste de contrôle de lancement de Firebase .