Comprender los proyectos de Firebase

Esta página ofrece breves descripciones de varios conceptos importantes sobre los proyectos de Firebase. Cuando estén disponibles, siga los enlaces para encontrar información más detallada sobre características, servicios, herramientas y mejores prácticas.

Relación entre proyectos, aplicaciones y productos de Firebase

Un proyecto de Firebase es la entidad de nivel superior de Firebase. En un proyecto, puede registrar sus aplicaciones web, Apple o Android. Después de registrar sus aplicaciones con Firebase, puede agregar los SDK de Firebase para cualquier cantidad de productos de Firebase , como Analytics, Cloud Firestore, Performance Monitoring o Remote Config.

Obtenga información más detallada sobre este proceso en la guía de introducción de su plataforma:
iOS+ | Androide | web | Unidad | C++ | Aleteo .

Comprender la jerarquía de los proyectos de Firebase

Diagrama que muestra la jerarquía básica de un proyecto de Firebase, incluido el proyecto, sus aplicaciones registradas y sus recursos y servicios aprovisionados. Este diagrama muestra la jerarquía básica de un proyecto de Firebase. Estas son las relaciones clave:

  • Un proyecto de Firebase es como un contenedor para todas sus aplicaciones y todos los recursos y servicios proporcionados para el proyecto.

  • Un proyecto de Firebase puede tener una o más aplicaciones de Firebase registradas (por ejemplo, las versiones de una aplicación para iOS y Android, o las versiones gratuita y paga de una aplicación).

  • Todas las aplicaciones de Firebase registradas en el mismo proyecto compartido de Firebase y tienen acceso a los mismos recursos y servicios proporcionados para el proyecto . Aquí hay unos ejemplos:

    • Todas las aplicaciones de Firebase registradas en el mismo proyecto de Firebase comparten los mismos backends, como Firebase Hosting, Authentication, Realtime Database, Cloud Firestore, Cloud Storage y Cloud Functions.

    • Todas las aplicaciones de Firebase registradas en el mismo proyecto de Firebase están asociadas con la misma propiedad de Google Analytics, donde cada aplicación de Firebase es un flujo de datos independiente en esa propiedad.

Relación entre los proyectos de Firebase y Google Cloud

Cuando creas un nuevo proyecto de Firebase, en realidad estás creando un proyecto de Google Cloud detrás de escena. Incluso puedes crear un proyecto de Google Cloud primero y luego agregar Firebase al proyecto más tarde. Puede pensar en un proyecto de Google Cloud como un contenedor virtual de datos, código, configuración y servicios.

Tenga en cuenta que para todos los proyectos de Firebase, Firebase agrega automáticamente una etiqueta de firebase:enabled dentro de la página Etiquetas de su proyecto en la consola de Google Cloud. Obtenga más información sobre esta etiqueta en nuestras preguntas frecuentes .

Dado que un proyecto de Firebase es un proyecto de Google Cloud:

Configurar un proyecto de Firebase y registrar aplicaciones

Puedes configurar un proyecto de Firebase y registrar aplicaciones en Firebase console (o, para casos de uso avanzado, a través de la API REST de Firebase Management o Firebase CLI ). Cuando configuras un proyecto y registras aplicaciones, debes tomar algunas decisiones organizativas y agregar información de configuración específica de Firebase a tus proyectos locales.

Para las aplicaciones de producción, es necesario configurar un flujo de trabajo de desarrollo claro, que normalmente implica el uso de múltiples entornos. Revise nuestra documentación sobre flujos de trabajo para desarrolladores , incluidas las mejores prácticas generales y las pautas de seguridad generales para configurar proyectos de Firebase y registrar aplicaciones para crear su flujo de trabajo de desarrollo.

Interactuar con un proyecto de Firebase

Además de los SDK del producto, puedes interactuar directamente con un proyecto de Firebase utilizando varias herramientas e interfaces diferentes.

Consola de base de fuego

Firebase console ofrece el entorno más completo para administrar productos, aplicaciones y configuraciones a nivel de proyecto de Firebase.

Consola Firebase: pantalla de descripción general del proyecto

El panel del lado izquierdo de la consola enumera los productos de Firebase, organizados por categorías de nivel superior. En la parte superior del panel del lado izquierdo, acceda a la configuración de un proyecto haciendo clic . La configuración de un proyecto incluye integraciones , permisos de acceso y facturación .

El centro de la consola muestra botones que inician flujos de trabajo de configuración para registrar varios tipos de aplicaciones. Después de comenzar a usar Firebase, el área principal de la consola se convierte en un panel que muestra estadísticas sobre los productos que usa.

Tenga en cuenta que, dado que un proyecto de Firebase también es un proyecto de Google Cloud, es posible que varias tareas o productos requieran que utilice la consola de Google Cloud en lugar de la consola de Firebase.

Firebase CLI (una herramienta de línea de comandos)

Firebase también ofrece Firebase CLI para configurar y administrar productos Firebase específicos, como Firebase Hosting, Cloud Functions para Firebase y Firebase Extensions.

Después de instalar la CLI, tendrá acceso al comando global firebase . Utilice la CLI para vincular el directorio de su aplicación local a un proyecto de Firebase y luego implemente nuevas versiones de contenido alojado en Firebase o actualizaciones de funciones.

API REST de administración de Firebase

Con la API REST de Firebase Management , puedes administrar mediante programación un proyecto de Firebase. Por ejemplo, puede registrar mediante programación una aplicación con un proyecto o enumerar las aplicaciones que ya están registradas ( iOS+ | Android | web ).

Identificadores de proyectos de Firebase

Un proyecto de Firebase se puede identificar en el backend de Firebase y en varias interfaces de desarrollador usando diferentes identificadores, incluido el nombre del proyecto , el número del proyecto y el ID del proyecto .

El nombre del proyecto

Cuando creas un proyecto, proporcionas un nombre de proyecto . Este identificador es el nombre solo interno de un proyecto en Firebase console , Google Cloud console y Firebase CLI . El nombre del proyecto no está expuesto en ningún producto, servicio o recurso de Firebase o Google Cloud visible públicamente; simplemente sirve para ayudarle a distinguir más fácilmente entre múltiples proyectos.

Puedes editar el nombre de un proyecto en cualquier momento en la Configuración del proyecto de Firebase console. El nombre del proyecto se muestra en el panel superior.

El número del proyecto

Un proyecto de Firebase (y su proyecto de Google Cloud asociado ) tiene un número de proyecto . Este es el identificador canónico único global asignado por Google para el proyecto. Utilice este identificador al configurar integraciones y/o realizar llamadas API a Firebase, Google o servicios de terceros.

No puede editar un número de proyecto. Si elimina un proyecto, el número del proyecto también se elimina y ningún otro proyecto podrá volver a utilizarlo.

El identificador del proyecto

Un proyecto de Firebase (y su proyecto de Google Cloud asociado ) tiene un ID de proyecto . Este es un identificador único definido por el usuario para el proyecto en todo Firebase y Google Cloud. Cuando creas un proyecto de Firebase, Firebase asigna automáticamente una ID única al proyecto, pero puedes editarla durante la configuración del proyecto. Este identificador generalmente debe tratarse como un alias conveniente para hacer referencia al proyecto.

Archivos y objetos de configuración de Firebase

Cuando registras una aplicación con un proyecto de Firebase, Firebase console proporciona un archivo de configuración de Firebase (aplicaciones de Apple/Android) o un objeto de configuración (aplicaciones web) que agregas directamente al directorio de tu aplicación local.

  • Para las aplicaciones de Apple, agrega un archivo de configuración GoogleService-Info.plist .
  • Para aplicaciones de Android, agrega un archivo de configuración google-services.json .
  • Para aplicaciones web, agrega un objeto de configuración de Firebase.

En cualquier momento, puedes obtener el archivo u objeto de configuración de Firebase de una aplicación .

Un archivo u objeto de configuración de Firebase asocia una aplicación con un proyecto de Firebase específico y sus recursos (bases de datos, depósitos de almacenamiento, etc.). La configuración incluye "opciones de Firebase", que son parámetros requeridos por los servicios de Firebase y Google para comunicarse con las API del servidor de Firebase y asociar datos del cliente con el proyecto de Firebase y la aplicación de Firebase. Estas son las "opciones de Firebase" mínimas requeridas:

  • Clave API : una cadena cifrada simple que se utiliza al llamar a determinadas API que no necesitan acceder a datos privados del usuario (valor de ejemplo: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO ).

  • ID del proyecto : un identificador único definido por el usuario para el proyecto en todo Firebase y Google Cloud. Este identificador puede aparecer en las URL o en los nombres de algunos recursos de Firebase, pero generalmente debe tratarse como un alias conveniente para hacer referencia al proyecto. (valor de ejemplo: myapp-project-123 )

  • ID de aplicación ("AppID") : el identificador único de la aplicación Firebase en todo Firebase con un formato específico de la plataforma:

    • Aplicaciones de Firebase Apple: GOOGLE_APP_ID (valor de ejemplo: 1:1234567890:ios:321abc456def7890 )
      Este no es un ID de paquete de Apple.
    • Aplicaciones de Firebase para Android: mobilesdk_app_id (valor de ejemplo: 1:1234567890:android:321abc456def7890 )
      Este no es el nombre de un paquete de Android ni el ID de una aplicación de Android.
    • Aplicaciones web de Firebase: appId (valor de ejemplo: 1:65211879909:web:3ae38ef1cdcb2e01fe5f0c )

El contenido del archivo u objeto de configuración de Firebase se considera público, incluido el ID específico de la plataforma de la aplicación (ID del paquete de Apple o nombre del paquete de Android) y los valores específicos del proyecto de Firebase, como la clave API, el ID del proyecto, la URL de la base de datos en tiempo real y Nombre del depósito de Cloud Storage. Teniendo esto en cuenta, utilice las reglas de seguridad de Firebase para proteger sus datos y archivos en Realtime Database , Cloud Firestore y Cloud Storage .

Para proyectos de código abierto, generalmente no recomendamos incluir el archivo u objeto de configuración de Firebase de la aplicación en el control de código fuente porque, en la mayoría de los casos, los usuarios deben crear sus propios proyectos de Firebase y apuntar sus aplicaciones a sus propios recursos de Firebase (a través de su propia configuración de Firebase). archivo u objeto).

Límites generales para proyectos, aplicaciones y sitios de Firebase

Estos son algunos límites generales para proyectos, aplicaciones y sitios de Firebase:

  • Número de proyectos por cuenta

    • Plan de precios Spark: la cuota de creación de proyectos se limita a un número menor de proyectos (normalmente entre 5 y 10).
    • Plan de precios Blaze: la cuota de creación de proyectos por cuenta aumenta sustancialmente siempre que la cuenta de facturación de Cloud asociada esté al día.

    El límite de la cuota de creación de proyectos rara vez es una preocupación para la mayoría de los desarrolladores, pero si es necesario, puede solicitar un aumento en la cuota del proyecto .

    Tenga en cuenta que la eliminación completa de un proyecto requiere 30 días y cuenta para la cuota del proyecto hasta que el proyecto se elimine por completo.

  • Número de aplicaciones por proyecto

    Firebase restringe la cantidad total de aplicaciones de Firebase dentro de un proyecto de Firebase a 30.

    Debes asegurarte de que todas las aplicaciones de Firebase dentro de un único proyecto de Firebase sean variantes de plataforma de la misma aplicación desde la perspectiva del usuario final. Lea más sobre el arrendamiento múltiple en nuestros documentos de mejores prácticas.

    Obtenga más información sobre el límite de aplicaciones por proyecto en las preguntas frecuentes.

  • Número de sitios de Hosting por proyecto

    La función multisitio de Firebase Hosting admite un máximo de 36 sitios por proyecto.

Lanzando tu aplicación