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 se proporcionen, sigue los vínculos para ver información más detallada sobre las funciones, los servicios y también otras plataformas. En la parte inferior de esta página, podrás encontrar un listado de las recomendaciones generales para los proyectos de Firebase.

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 debes registrar tus apps web, para iOS o Android a fin de crear apps de Firebase. Después de registrar las apps 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 las guías de introducción (para iOS, Android, la Web, Unity o C++).

Relación entre los proyectos de Firebase y Google Cloud Platform (GCP)

Cuando creas un nuevo proyecto de Firebase en Firebase console, lo que en realidad estás creando es un proyecto de Google Cloud Platform (GCP). Un proyecto de GCP puede considerarse como un contenedor virtual de datos, código, configuración y servicios. Un proyecto de Firebase es un proyecto de GCP con configuraciones y servicios adicionales específicos de Firebase. Incluso puedes crear un proyecto de GCP primero y agregar Firebase al proyecto posteriormente.

Ya que un proyecto de Firebase es un proyecto de GCP, ocurre lo siguiente:

  • Los proyectos que aparecen en Firebase console también aparecen en GCP Console y en la Consola de API de Google.

  • La facturación y los permisos de los proyectos se comparten entre Firebase y GCP.

  • Los identificadores únicos de un proyecto (como el número y el ID) se comparten entre Firebase y GCP.

  • Puedes usar productos y API tanto de Firebase como de GCP en un proyecto.

  • Si se borra un proyecto, se borra de Firebase y GCP.

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.

Asegúrate de revisar algunas prácticas recomendadas generales a nivel de proyecto (en la parte inferior de esta página) antes de configurar un proyecto y registrar apps.

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, GCP Console y Firebase CLI. El nombre del proyecto no se expone en productos, servicios o recursos públicamente visibles de Firebase o GCP; 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 GCP 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.

Llamadas a la API y número del proyecto

Muchas llamadas a la API requieren que incluyas un identificador único para tu proyecto. Aunque varias API aceptan el ID del proyecto, se recomienda usar el número de este para realizar llamadas a las API de Firebase, Google o servicios de terceros.

Obtén más información para usar identificadores de proyectos, en especial, el número del proyecto, en el estándar AIP 2510 de Google.

Busca el número de proyecto

  • En Firebase console haz clic en Configuración del proyecto. Se mostrará el número del proyecto en el panel superior.

  • En Firebase CLI ejecuta firebase projects:list. Se mostrará el número del proyecto junto con todos los proyectos de Firebase asociados a tu cuenta.

  • En la API de REST de Firebase Management, llama a projects.list. El cuerpo de la respuesta contiene el número del proyecto en el objeto FirebaseProject.

ID del proyecto

Un proyecto de Firebase (y su proyecto de GCP asociado) tiene un ID, que corresponde a un identificador único y definido por el usuario en todo Firebase y GCP. 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.

Si borras un proyecto, también se borra su ID y no se puede volver a usar en otros proyectos.

Recursos de Firebase y el ID del proyecto

El ID del proyecto se muestra en recursos de Firebase visibles de forma pública, por ejemplo:

  • Subdominio predeterminado de Hosting: PROJECT_ID.web.app y PROJECT_ID.firebaseapp.com
  • URL predeterminada de Realtime Database: PROJECT_ID.firebaseio.com
  • Nombre predeterminado del depósito de Cloud Storage: PROJECT_ID.appspot.com

Para todos los recursos anteriormente mencionados, puedes crear instancias no predeterminadas. Los nombres visibles de forma pública de los recursos no predeterminados se pueden personalizar en su totalidad. Puedes conectar dominios personalizados a tu sitio alojado en Firebase, fragmentar la base de datos de Realtime Database y crear varios depósitos de Cloud Storage (visita la página de introducción específica de la plataforma).

Firebase CLI y el ID del proyecto

En algunos casos de uso, es posible que tengas diversos proyectos de Firebase asociados con el mismo directorio local de apps. En estos casos, cuando usas Firebase CLI, debes pasar la marca --project con los comandos firebase para indicar con qué proyecto de Firebase deseas interactuar.

Además, podrás configurar un alias de proyecto para cada proyecto de Firebase, así no tendrás que recordar los ID de cada proyecto.

Llamadas a la API y el ID del proyecto

Muchas llamadas a la API requieren que incluyas un identificador único para tu proyecto. Aunque varias API aceptan el ID del proyecto, se recomienda usar el número de este para realizar llamadas a las API de Firebase, Google o servicios de terceros.

Obtén más información para usar identificadores de proyectos, en especial, el número del proyecto, en el estándar AIP 2510 de Google.

Busca el ID del proyecto

  • En Firebase console haz clic en Configuración del proyecto. Se mostrará el ID del proyecto en el panel de la parte superior.

  • En Firebase CLI ejecuta firebase projects:list. Se mostrará el ID del proyecto junto con todos los proyectos de Firebase asociados a tu cuenta.

  • En la API de REST de Firebase Management, llama a projects.list. El cuerpo de la respuesta contiene el ID del proyecto en el objeto FirebaseProject.

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 iOS) o un objeto de configuración (apps web) que agregas a tu directorio local de apps de forma directa.

  • En las apps para iOS, 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, depósitos de almacenamiento, etc.). La configuración incluye “opciones de Firebase”, que son parámetros obligatorios de los servicios de Google y Firebase para comunicarse con las API del servidor de Firebase y asociar los datos del cliente 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 y definido por el usuario para el proyecto en todo Firebase y GCP. Puede aparecer en las URL o los nombres de algunos recursos de Firebase y, por lo general, debe considerarse un alias de conveniencia para referirse 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 iOS: GOOGLE_APP_ID (valor de ejemplo: 1:1234567890:ios:321abc456def7890)
      no es un ID de paquete de Apple.
    • Apps de Firebase para Android: mobilesdk_app_id (valor de ejemplo: 1:1234567890:android:321abc456def7890)
      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 iOS 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 depósito de 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).

Administra un proyecto de Firebase

Asegúrate de revisar las prácticas recomendadas generales del nivel de proyecto para conocer las consideraciones que podrían afectar la forma en que administras tu proyecto de Firebase.

Herramientas para administrar un proyecto

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.

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 y Cloud Functions para 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).

Prácticas recomendadas generales

Agrega apps a un proyecto

Asegúrate de que todas las apps de un proyecto sean variantes de plataforma de la misma aplicación desde la perspectiva del usuario final. Se recomienda registrar las versiones para Android, iOS y la Web de la misma app o juego con el mismo proyecto de Firebase. En general, todas las apps de un proyecto comparten los mismos recursos de Firebase (bases de datos, depósitos de almacenamiento, etcétera).

Si tienes múltiples variantes de compilación con diferentes ID de paquete de iOS o nombres de paquetes de Android definidos, puedes registrar cada variante con un proyecto de Firebase distinto. Sin embargo, si tienes variantes que comparten los mismos recursos de Firebase, regístralos con el mismo proyecto de Firebase.

Si bien no existe una restricción para la cantidad de apps de un proyecto, agregar una app puede crear uno o más ID de cliente de OAuth 2.0 subyacentes. Hay un límite de aproximadamente 30 ID de cliente que se pueden crear en un mismo proyecto.

Multiusuario

No se recomienda conectar varias apps o sitios web independientes y diferentes a nivel lógico al mismo proyecto (lo que a menudo se conoce como “instancias múltiples”). Esta modalidad puede generar problemas graves de configuración y privacidad de los datos, incluidos algunos no intencionales relacionados con la agregación de estadísticas, la autenticación compartida, las estructuras de bases de datos demasiado complejas, además de dificultades con las reglas de seguridad.

Por lo general, si un conjunto de apps no comparte los mismos datos y configuraciones, considera registrar cada app a un proyecto de Firebase diferente.

Por ejemplo, si desarrollas una aplicación sin marca, cada app etiquetada de forma independiente debe tener su propio proyecto de Firebase. De esta manera, las apps no comparten datos con las demás, y no deberían hacerlo por motivos de privacidad.

Ten en cuenta algunos límites generales para los proyectos, las apps y los sitios de Firebase:

  • Cantidad de proyectos por cuenta

    • Con el plan Spark del nivel gratuito, tu cuota de creación de proyectos se limita a unos pocos proyectos (en general, alrededor de 5 a 10).
    • Con los planes pagados, tu cuota de creación de proyectos aumenta de forma sustancial por cada cuenta de facturación, siempre y cuando esté en regla la cuenta de Facturación de Cloud asociada.

    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

    Si bien no existe una restricción para la cantidad de apps de un proyecto, agregar una app puede crear uno o más ID de cliente de OAuth 2.0 subyacentes. Hay un límite de aproximadamente 30 ID de cliente que se pueden crear en un mismo 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