Comprendre les projets Firebase

Cette page offre de brefs aperçus de plusieurs concepts importants concernant les projets Firebase. Lorsqu'ils sont disponibles, suivez les liens pour trouver des informations plus détaillées sur les fonctionnalités, les services et même d'autres plates-formes. Au bas de cette page, trouver une liste des meilleures pratiques générales pour les projets Firebase.

Relation entre les projets, les applications et les produits Firebase

Un projet Firebase est l'entité de niveau supérieur pour Firebase. Dans un projet, vous créez des applications Firebase en enregistrant vos applications iOS, Android ou Web. Une fois que vous enregistrez vos applications avec Firebase, vous pouvez ajouter les SDKs Firebase pour un certain nombre de produits Firebase , comme Analytics, Nuage Firestore, suivi de la performance ou à distance Config.

En savoir plus d' informations sur ce processus dans les guides de démarrage ( iOS | Android | web | Unity | C ++ ).

Relation entre les projets Firebase et Google Cloud

Lorsque vous créez un nouveau projet Firebase dans la console Firebase, vous créez en fait un projet Google Cloud dans les coulisses. Vous pouvez considérer un projet Google Cloud comme un conteneur virtuel pour les données, le code, la configuration et les services. Un projet Firebase est un projet Google Cloud qui comporte des configurations et des services supplémentaires spécifiques à Firebase. Vous pouvez même créer d'abord un projet Google Cloud, puis ajouter Firebase au projet plus tard.

Depuis un projet Firebase est un projet Google Cloud:

Configurer un projet Firebase et enregistrer des applications

Vous pouvez mettre en place un projet Firebase et enregistrer des applications dans la console Firebase (ou, pour les cas avancés d'utilisation, via l' API REST de gestion Firebase ou CLI Firebase ). Lorsque vous configurez un projet et enregistrez des applications, vous devez prendre des décisions organisationnelles et ajouter des informations de configuration spécifiques à Firebase à vos projets locaux.

Assurez - vous d'examiner certaines des meilleures pratiques générales au niveau du projet (en bas de cette page) avant la mise en place d' un projet et l' enregistrement des applications.

Le nom du projet

Lorsque vous créez un projet, vous fournissez un nom de projet. Cet identifiant est le nom interne uniquement pour un projet dans la console Firebase , le Google Cloud Console et la Firebase CLI . Le nom du projet n'est exposé dans aucun produit, service ou ressource Firebase ou Google Cloud visible publiquement ; il sert simplement à vous aider à distinguer plus facilement entre plusieurs projets.

Vous pouvez modifier le nom du projet à tout moment dans les des paramètres du projet de la console Firebase. Le nom du projet s'affiche dans le volet supérieur.

Le numéro du projet

Un projet Firebase (et son projet Google Cloud associé ) a un numéro de projet. Il s'agit de l'identifiant canonique global unique attribué par Google pour le projet. Utilisez cet identifiant lors de la configuration des intégrations et/ou des appels d'API à Firebase, Google ou des services tiers.

Appels API et numéro de projet

Pour de nombreux appels d'API, vous devez inclure un identifiant unique pour un projet. Bien que de nombreuses API acceptent l' ID de projet , il est recommandé d'utiliser le numéro de projet pour faire des appels API à Firebase, Google ou services de tiers.

En savoir plus sur l' utilisation des identifiants de projet, en particulier le numéro de projet, Google standard AIP 2510 .

Trouver le numéro du projet

  • Console Firebase: Cliquez sur paramètres du projet . Le numéro du projet s'affiche dans le volet supérieur.

  • Firebase CLI: Exécuter firebase projects:list . Le numéro du projet s'affiche avec tous les projets Firebase associés à votre compte.

  • Firebase Gestion API REST: Appel projects.list . Le corps de la réponse contient le numéro de projet dans le FirebaseProject objet.

L'identifiant du projet

Un projet Firebase (et son projet Google Cloud associé ) a un ID de projet. Il s'agit d'un identifiant unique défini par l'utilisateur pour le projet sur l'ensemble de Firebase et de Google Cloud. Lorsque vous créez un projet Firebase, Firebase attribue automatiquement un ID unique au projet, mais vous pouvez le modifier lors de la configuration du projet. Cet identifiant doit généralement être traité comme un alias de commodité pour référencer le projet.

Si vous supprimez un projet, l'ID du projet est également supprimé et ne peut plus jamais être utilisé par un autre projet.

Les ressources Firebase et l'ID du projet

L'ID du projet s'affiche dans les ressources Firebase visibles publiquement, par exemple :

  • Hébergement sous - domaine par défaut - PROJECT_ID .web.app et PROJECT_ID .firebaseapp.com
  • Par défaut en temps réel URL de base de données - PROJECT_ID -default-rtdb.firebaseio.com ou PROJECT_ID -default-rtdb. REGION_CODE .firebasedatabase.app
  • Par défaut Nom du seau Cloud Storage - PROJECT_ID .appspot.com

Pour toutes les ressources susmentionnées, vous pouvez créer des instances autres que celles par défaut. Les noms publiquement visibles des non-par défaut sont entièrement personnalisables. Vous pouvez connecter des domaines personnalisés à un site hébergé Firebase, shard la base de données en temps réel et créer plusieurs ensembles Cloud Storage (visitez la page Prise en main propre à la plateforme).

La CLI Firebase et l'ID du projet

Pour certains cas d'utilisation, plusieurs projets Firebase peuvent être associés au même répertoire d'applications local. Dans ces situations, lorsque vous utilisez le Firebase CLI , vous devez passer le --project drapeau avec les firebase commandes pour communiquer quel projet Firebase vous voulez interagir avec.

Vous pouvez également configurer un alias de projet pour chaque projet Firebase afin que vous n'avez pas à retenir ID du projet.

Appels d'API et ID de projet

Pour de nombreux appels d'API, vous devez inclure un identifiant unique pour un projet. Bien que de nombreuses API acceptent l'ID de projet, il est recommandé d'utiliser le numéro de projet pour faire des appels API à Firebase, Google ou services de tiers.

En savoir plus sur l' utilisation des identifiants de projet, en particulier le numéro de projet, Google standard AIP 2510 .

Trouver l'ID du projet

  • Console Firebase: Cliquez sur paramètres du projet . L'ID du projet s'affiche dans le volet supérieur.

  • Firebase CLI: Exécuter firebase projects:list . L'ID du projet s'affiche avec tous les projets Firebase associés à votre compte.

  • Firebase Gestion API REST: Appel projects.list . Le corps de la réponse contient l'ID de projet dans le FirebaseProject objet.

Fichiers et objets de configuration Firebase

Lorsque vous enregistrez une application avec un projet Firebase, la console Firebase fournit un fichier de configuration Firebase (applications iOS/Android) ou un objet de configuration (applications Web) que vous ajoutez directement à votre répertoire d'applications local.

  • Pour les applications iOS, vous ajoutez un GoogleService-Info.plist fichier de configuration.
  • Pour les applications Android, vous ajoutez un google-services.json fichier de configuration.
  • Pour les applications Web, vous ajoutez un objet de configuration Firebase.

A tout moment, vous pouvez obtenir le fichier de configuration Firebase ou objet d'une application .

Un fichier de configuration ou un objet Firebase associe une application à un projet Firebase spécifique et à ses ressources (bases de données, buckets de stockage, etc.). La configuration comprend des "options Firebase", qui sont des paramètres requis par les services Firebase et Google pour communiquer avec les API du serveur Firebase et pour associer les données client au projet Firebase et à l'application Firebase. Voici les "options Firebase" minimales requises :

  • Clé API : une simple chaîne cryptée utilisée lorsque vous appelez certaines API qui ne ont pas besoin de l' accès aux données privées de l' utilisateur (valeur par exemple: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO )

  • ID du projet : un identifiant unique défini par l' utilisateur pour le projet sur l' ensemble de Firebase et Google Cloud. Cet identifiant peut apparaître dans les URL ou les noms de certaines ressources Firebase, mais il doit généralement être traité comme un alias pratique pour référencer le projet. (valeur par exemple: myapp-project-123 )

  • ID d'application ( « AppID »): l'identifiant unique pour l'application Firebase dans tous Firebase avec un format spécifique à la plate - forme:

    • Firebase iOS apps: GOOGLE_APP_ID (valeur par exemple: 1:1234567890:ios:321abc456def7890 )
      Ce n'est pas un identifiant de groupe Apple.
    • Firebase apps applications: mobilesdk_app_id (valeur par exemple: 1:1234567890:android:321abc456def7890 )
      Ce n'est pas un nom de package Android ou ID d'applications Android.
    • Firebase applications Web: appId (valeur par exemple: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c )

Le contenu du fichier ou de l'objet de configuration Firebase est considéré comme public, y compris l'ID spécifique à la plate-forme de l'application (ID de groupe iOS ou nom de package Android) et les valeurs spécifiques au projet Firebase, telles que la clé API, l'ID du projet, l'URL de la base de données en temps réel et Nom du bucket Cloud Storage. Compte tenu de cela, utilisez Firebase Règles de sécurité pour protéger vos données et fichiers dans la base de données en temps réel , Nuage Firestore et Cloud Storage .

Pour les projets open source, nous ne recommandons généralement pas d'inclure le fichier ou l'objet de configuration Firebase de l'application dans le contrôle de source car, dans la plupart des cas, vos utilisateurs doivent créer leurs propres projets Firebase et pointer leurs applications vers leurs propres ressources Firebase (via leur propre configuration Firebase fichier ou objet).

Gérer un projet Firebase

Assurez - vous d'examiner les meilleures pratiques générales au niveau du projet (en bas de cette page) pour des considérations qui pourraient influer sur la façon dont vous gérez un projet Firebase.

Outils pour gérer un projet

Console Firebase

La console Firebase offre l'environnement le plus riche pour la gestion des produits Firebase, des applications et des paramètres au niveau du projet.

Console Firebase - écran de présentation du projet

Le panneau de gauche de la console répertorie les produits Firebase, organisés par catégories de niveau supérieur. En haut du panneau latéral gauche, l' accès aux paramètres d'un projet en cliquant sur les . Les paramètres d'un projet comprennent les intégrations , les autorisations d' accès et de facturation .

Le milieu de la console affiche des boutons qui lancent des workflows de configuration pour enregistrer différents types d'applications. Une fois que vous avez commencé à utiliser Firebase, la zone principale de la console se transforme en un tableau de bord qui affiche des statistiques sur les produits que vous utilisez.

Firebase CLI (un outil en ligne de commande)

Firebase offre également la CLI Firebase pour la configuration et la gestion des produits spécifiques de Firebase, comme Firebase Hébergement et fonctions Cloud pour Firebase.

Après avoir installé la CLI, vous avez accès au monde firebase commande . Utilisez le CLI pour lier votre répertoire app local à un projet Firebase , puis déployer de nouvelles versions de contenu hébergé Firebase ou mises à jour de fonctions.

API REST Firebase Management

Utilisation de l' API de gestion Firebase REST , vous pouvez gérer un programme projet Firebase. Par exemple, vous pouvez enregistrer un programme application avec un projet ou une liste des applications qui sont déjà enregistrées ( iOS | Android | Web ).

Bonnes pratiques générales

Ajouter des applications à un projet

Assurez -vous que toutes les applications dans un projet sont des variantes de la plate - forme de la même application à partir d' un point de vue de l' utilisateur final. Il est conseillé d'enregistrer les versions iOS, Android et Web de la même application ou du même jeu avec le même projet Firebase. Toutes les applications d'un projet partagent généralement les mêmes ressources Firebase (base de données, buckets de stockage, etc.).

Si vous avez plusieurs variantes de construction avec différents ID bundle iOS ou Android noms de paquets définis, vous pouvez enregistrer chaque variante avec un projet Firebase séparé. Toutefois, si vous avez des variantes qui partagent les mêmes ressources Firebase, les enregistrer avec le même projet Firebase.

Voici quelques limites générales pour les projets, applications et sites Firebase :

  • Nombre de projets par compte

    • Plan de tarification Spark — Le quota de création de projets est limité à un nombre inférieur de projets (généralement environ 5 à 10).
    • Plan tarifaire Blaze — Le quota de création de projets par compte augmente considérablement tant que le compte Cloud Billing associé est en règle.

    La limite sur le quota de création de projet est rarement une préoccupation pour la plupart des développeurs, mais en cas de besoin, vous pouvez demander une augmentation des quotas de projet .

    Sachez que la suppression complète d'un projet nécessite 30 jours et compte dans le quota de projet jusqu'à ce que le projet soit complètement supprimé.

  • Nombre d'applications par projet

    Firebase limite le nombre total d'applications Firebase dans un projet Firebase à 30.

    Vous devez vous assurer que toutes les applications Firebase d'un même projet Firebase sont des variantes de plate-forme de la même application du point de vue de l'utilisateur final. En savoir plus sur les meilleures pratiques pour la multi-location ci - dessous.

    En savoir plus sur la limite des applications par projet dans la FAQ.

  • Nombre de sites d'hébergement par projet

    La Firebase Hosting fonction multisite prend en charge un maximum de 36 sites par projet.

Locations multiples

Il n'est pas recommandé de connecter plusieurs applications et/ou sites Web logiquement indépendants à un seul projet Firebase (souvent appelé "multi-location"). La multilocation peut entraîner de graves problèmes de configuration et de confidentialité des données, notamment des problèmes involontaires d'agrégation d'analyses, d'authentification partagée, des structures de base de données trop complexes et des difficultés avec les règles de sécurité.

En général, si un ensemble d'applications ne partagent pas les mêmes données et configurations, fortement envisager l' enregistrement de 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, mais les versions iOS et Android de cette étiquette peuvent être dans le même projet. Chaque application étiquetée indépendamment ne doit pas (pour des raisons de confidentialité) partager des données avec les autres.

Lancer votre application