Descubre las novedades de Firebase en Google I/O 2022. Más información

Información sobre los proyectos de Firebase

En esta página, se ofrecen descripciones generales breves de diversos conceptos importantes acerca de los proyectos de Firebase. Cuando estén disponibles, usa los vínculos para obtener información más detallada sobre las funciones, los servicios, las herramientas y las prácticas recomendadas.

Relación entre los proyectos, las apps y los productos de Firebase

Un proyecto de Firebase es la entidad de nivel superior de Firebase. En un proyecto, puedes registrar tus apps web, para Apple o Android. Después de registrarlas con Firebase, puedes agregar los SDK de Firebase para la cantidad de productos de Firebase que quieras, como Analytics, Cloud Firestore, Performance Monitoring o Remote Config.

Obtén información más detallada sobre este proceso en la guía de introducción para tu plataforma:
iOS+ | Android | Web | Unity | C++ | Flutter

Comprende la jerarquía de los proyectos de Firebase

Diagrama que muestra la jerarquía básica de un proyecto de Firebase, incluido
          el proyecto, las apps registradas y sus recursos y
          servicios aprovisionados En este diagrama, se muestra la jerarquía básica de un proyecto de Firebase. Las siguientes son las relaciones clave:

  • Un proyecto de Firebase es como el contenedor de todas tus apps y todos los recursos y servicios aprovisionados para el proyecto.

  • Un proyecto de Firebase puede tener una o más apps de Firebase registradas (por ejemplo, las versiones de iOS y Android de una app, o las versiones gratuita y pagada).

  • Todas las apps de Firebase registradas en el mismo proyecto de Firebase comparten y tienen acceso a los mismos recursos y servicios aprovisionados para el proyecto. Estos son algunos ejemplos:

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

    • Todas las apps de Firebase registradas en un mismo proyecto de Firebase se asocian con la misma propiedad de Google Analytics, en la que cada app 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, lo que en realidad estás creando es un proyecto de Google Cloud en segundo plano. Incluso puedes crear un proyecto de Google Cloud primero y, luego, agregarle Firebase. Los proyectos de Google Cloud pueden considerarse contenedores virtuales de datos, código, configuración y servicios.

Como un proyecto de Firebase es un proyecto de Google Cloud, ocurre lo siguiente:

Configura un proyecto de Firebase y registra apps

Puedes configurar un proyecto de Firebase y registrar apps en Firebase console (o, en casos de uso avanzados, a través de la API de REST de Firebase Management o Firebase CLI). Cuando configures un proyecto y registres apps, deberás tomar algunas decisiones organizativas y agregar información de configuración específica de Firebase a tus proyectos locales.

En el caso de las apps de producción, debes configurar un flujo de trabajo de desarrollo claro, lo que generalmente implica usar múltiples entornos. Consulta nuestra documentación sobre flujos de trabajo para desarrolladores, incluidas las prácticas recomendadas generales y los lineamientos generales de seguridad para configurar proyectos de Firebase y registrar apps a fin de crear tu flujo de trabajo de desarrollo.

Interactúa con un proyecto de Firebase

Además de los SDK del producto, puedes interactuar directamente con un proyecto de Firebase a través de interfaces y herramientas diferentes.

Firebase console

Firebase console ofrece el entorno más completo para administrar productos de Firebase, apps y configuraciones en el nivel del proyecto.

Pantalla de descripción general del proyecto en Firebase console

En el panel de la izquierda de la consola se enumeran los productos de Firebase, organizados en categorías de nivel superior. En la parte superior del panel lateral izquierdo, haz clic en para acceder a la configuración de un proyecto. La configuración de un proyecto incluye las integraciones, los permisos de acceso y la facturación.

En la parte central de la consola, se muestran botones que inician flujos de trabajo de configuración para registrar varios tipos de apps. Cuando comienzas a usar Firebase, el área principal de la consola cambia a un panel en el que se muestran estadísticas sobre los productos que usas.

Ten en cuenta que, como los proyectos de Firebase también lo son de Google Cloud, es posible que descubras que varias tareas o productos requieren la consola de Google Cloud en lugar de Firebase console.

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

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

Después de instalar la CLI, tendrás acceso al comando global de firebase. Usa la CLI para vincular tu directorio de apps local con un proyecto de Firebase. Luego implementa versiones nuevas del contenido alojado en Firebase o actualizaciones de las funciones.

API de REST de Firebase Management

Con la API de REST de Firebase Management, puedes administrar tu proyecto de Firebase de manera programática. Por ejemplo, puedes registrar de manera programática una app con un proyecto, o bien enumerar las apps que ya estén registradas (ya sean para iOS+, Android o la Web).

Identificadores de proyecto de Firebase

Un proyecto de Firebase se puede identificar en el backend de Firebase y en múltiples interfaces de desarrollador con identificadores distintos, incluidos el nombre del proyecto, su número y su ID.

Nombre del proyecto

Cuando creas un proyecto, debes proporcionarle un nombre. Este identificador es el nombre de uso interno que tendrá el proyecto en Firebase console, la consola de Google Cloud y Firebase CLI. El nombre del proyecto no se expone en productos, servicios ni recursos públicamente visibles de Firebase o Google Cloud; su propósito es ayudarte a distinguir entre varios proyectos con más facilidad.

Puedes editar el nombre de un proyecto en cualquier momento en la página Configuración del proyecto de Firebase console. Se mostrará el nombre del proyecto en el panel superior.

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 y único a nivel global que asignó Google al proyecto. Úsalo cuando configures integraciones o realices llamadas a las API de Firebase, Google o servicios de terceros.

No puedes editar un número de proyecto. Si borras un proyecto, también se borra su número y no se puede volver a usar en otros proyectos.

ID del proyecto

Un proyecto de Firebase (y su proyecto de Google Cloud asociado) tiene un ID del proyecto. Es un identificador único definido por el usuario para el proyecto en todo Firebase y Google Cloud. Cuando creas un proyecto de Firebase, el sistema le asigna automáticamente un ID único que puedes editar durante la configuración. Por lo general, debes considerar este identificador como un alias de conveniencia para referirse al proyecto.

Objetos o archivos de configuración de Firebase

Cuando registras una app con un proyecto de Firebase, Firebase console proporciona un archivo de configuración de Firebase (apps para Android o Apple) o un objeto de configuración (apps web) que agregas a tu directorio local de apps de forma directa.

  • En las apps para Apple, debes agregar un archivo de configuración GoogleService-Info.plist.
  • En las apps para Android, debes agregar un archivo de configuración google-services.json.
  • En las apps web, debes agregar un objeto de configuración de Firebase.

Puedes obtener un objeto o un archivo de configuración de Firebase de una app en cualquier momento.

Los objetos o archivos de configuración de Firebase asocian las apps a los proyectos de Firebase y sus recursos (bases de datos, buckets de almacenamiento, etc.). La configuración incluye “Opciones de Firebase”, que son parámetros que requieren Firebase y los servicios de Google para comunicarse con las API del servidor de Firebase y asociar los datos de los clientes con el proyecto y la app de Firebase. Estas son las “opciones de Firebase” mínimas requeridas:

  • Clave de API: Es una string encriptada simple que se usa para llamar a ciertas API que no requieren acceso a los datos privados del usuario (valor de ejemplo: AIzaSyDOCAbC123dEf456GhI789jKl012-MnO).

  • ID del proyecto: Es un identificador único definido por el usuario para el proyecto en todo Firebase y Google Cloud. Puede aparecer en las URL o los nombres de algunos recursos de Firebase, pero, por lo general, debe considerarse un alias de conveniencia para hacer referencia al proyecto (valor de ejemplo: myapp-project-123).

  • ID de aplicación (“AppID”): Es un identificador único de tu app de Firebase en todo el servicio, con un formato que depende de la plataforma.

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

El contenido del objeto o archivo de configuración de Firebase se considera público, incluido el ID específico de la plataforma de la app (ID del paquete de Apple o nombre del paquete de Android) y los valores específicos del proyecto de Firebase, como la clave de API, el ID del proyecto, la URL de Realtime Database y el nombre del bucket de Cloud Storage. Por ello, debes usar las reglas de seguridad de Firebase para proteger los datos y los archivos que almacenas en Realtime Database, Cloud Firestore y Cloud Storage.

En el caso de los proyectos de código abierto, por lo general, no se recomienda incluir el objeto o archivo de configuración de Firebase de la app en el control del código fuente, ya que, en la mayoría de los casos, los usuarios deben crear sus proyectos de Firebase y dirigir las apps a sus recursos de Firebase (mediante sus objetos o archivos de configuración de Firebase).

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

Aquí encontrarás algunos límites generales para los proyectos, las apps y los sitios de Firebase:

  • Cantidad de proyectos por cuenta

    • Plan de precios de Spark: La cuota de creación de proyectos se limita a un recuento menor (usualmente alrededor de 5 a 10 proyectos).
    • Plan de precios Blaze: La cuota de creación de proyectos aumenta de forma sustancial por cuenta, siempre y cuando la cuenta de Facturación de Cloud asociada esté en regla.

    El límite de la cuota de creación de proyectos no suele ser una preocupación para la mayoría de los desarrolladores. Sin embargo, si necesitas incrementar tu cuota, puedes solicitar un aumento.

    Ten en cuenta que se requieren 30 días para borrar por completo un proyecto, y que este se considera en la cuota hasta que el proceso se haya completado.

  • Cantidad de apps por proyecto

    Firebase restringe a 30 la cantidad total de apps de Firebase que puede tener un proyecto de la plataforma.

    Debes asegurarte de que todas las apps de Firebase de un solo proyecto sean variantes de plataforma de la misma aplicación desde la perspectiva del usuario final. Obtén más información sobre la arquitectura multiusuario en nuestros documentos de prácticas recomendadas.

    Consulta las Preguntas frecuentes para obtener más información sobre el límite de apps por proyecto.

  • Cantidad de sitios de Hosting por proyecto

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

Lanza tu app