Mejores prácticas generales para configurar proyectos de Firebase

Esta página proporciona prácticas recomendadas generales de alto nivel para configurar proyectos de Firebase y registrar tus aplicaciones en un proyecto para que tengas un flujo de trabajo de desarrollo claro que utilice distintos entornos. Una vez que esté familiarizado con las mejores prácticas de esta página, consulte nuestras pautas generales de seguridad .

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.

¿Dónde encaja un proyecto de Google Cloud en esta jerarquía?

Un aspecto de la jerarquía del proyecto de Firebase que no se muestra en el diagrama anterior es la relación con un proyecto de Google Cloud. Un proyecto de Firebase es en realidad solo un proyecto de Google Cloud que tiene configuraciones y servicios adicionales específicos de Firebase habilitados. Tenga en cuenta que todas las aplicaciones registradas en el mismo proyecto de Firebase también comparten y tienen acceso a los mismos recursos y servicios de Google Cloud.

Obtenga más información sobre la relación de Firebase y Google Cloud en Comprender los proyectos de Firebase

Registrar variantes de aplicaciones con proyectos de Firebase

A continuación se ofrecen algunos consejos importantes para registrar las variantes de su aplicación con un proyecto de Firebase:

  • Asegúrese de que todas las aplicaciones registradas en un proyecto de Firebase sean variantes de plataforma de la misma aplicación desde la perspectiva del usuario final. Registra las versiones de iOS, Android y web de la misma aplicación o juego con el mismo proyecto de Firebase.

  • Si tiene varias variantes de compilación que podrían compartir los mismos recursos de Firebase , registre las variantes con el mismo proyecto de Firebase. Algunos ejemplos son un blog y una aplicación web en el mismo proyecto, o las versiones gratuita y paga de la misma aplicación en el mismo proyecto.

  • Si tiene varias variantes de compilación que se basan en el estado de la versión (en lugar de en la actividad o el acceso común del usuario final, como se indicó anteriormente), registre cada variante con un proyecto de Firebase independiente . Un ejemplo es su compilación de depuración versus versión de lanzamiento: registre cada una de estas compilaciones en su propio proyecto de Firebase.

    • Las compilaciones basadas en el estado de la versión no deben compartir los mismos recursos de Firebase porque eso corre el riesgo de que los datos de depuración contaminen o incluso anulen los datos de producción.

    • Las variantes de plataforma de cada una de estas variantes de compilación deben estar en el mismo proyecto de Firebase. Por ejemplo, registre las compilaciones de depuración de iOS y Android en un proyecto "dev" de Firebase porque ambas pueden interactuar con los mismos datos y recursos que no son de producción.

Evitar el arrendamiento múltiple

La tenencia múltiple puede generar serios problemas de configuración y privacidad de los datos, incluidos problemas no deseados con la agregación de análisis, autenticación compartida, estructuras de bases de datos demasiado complejas y dificultades con las reglas de seguridad.

Generalmente, si un conjunto de aplicaciones no comparten los mismos datos y configuraciones, considere registrar cada aplicación con un proyecto de Firebase diferente.

Por ejemplo, si desarrollas una aplicación de marca blanca, cada aplicación etiquetada de forma independiente debe tener su propio proyecto de Firebase, y las versiones de iOS y Android de esa etiqueta deben estar en el mismo proyecto de Firebase. Cada aplicación etiquetada de forma independiente no debería (por razones de privacidad) compartir datos con las demás.

Próximos pasos