Prácticas recomendadas generales para configurar proyectos de Firebase

En esta página, se proporcionan prácticas recomendadas generales de nivel global para configurar proyectos de Firebase y registrar tus apps en un proyecto, de modo que tengas un flujo de trabajo de desarrollo claro con entornos distintos. Una vez que te familiarices con las prácticas recomendadas de esta página, consulta nuestros lineamientos generales de seguridad.

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.

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

Un aspecto de la jerarquía de proyectos 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, un proyecto de Google Cloud que tiene habilitados parámetros de configuración y servicios adicionales específicos de Firebase. Ten en cuenta que todas las apps registradas en el mismo proyecto de Firebase también comparten los mismos recursos y servicios de Google Cloud y tienen acceso a ellos.

Obtén más información sobre la relación de Firebase y Google Cloud en Información sobre los proyectos de Firebase.

Registra variantes de apps con proyectos de Firebase

Estas son algunas sugerencias importantes para registrar las variantes de tu app en un proyecto de Firebase:

  • Asegúrate de que todas las apps 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 app o juego con el mismo proyecto de Firebase.

  • Si tienes múltiples variantes de compilación que podrían compartir los mismos recursos de Firebase, registra 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 gratuitas y pagadas de la misma app en el mismo proyecto.

  • Si tienes múltiples variantes de compilación basadas en el estado de la versión (en lugar de la actividad o el acceso comunes del usuario final, como se muestra más arriba), registra cada variante en un proyecto de Firebase independiente. Un ejemplo es la compilación de depuración frente a la de lanzamiento. Registra cada una de ellas en su propio proyecto de Firebase.

    • Las compilaciones basadas en estados de actualización no deben compartir los mismos recursos de Firebase, ya que eso podría contaminar los datos de depuración o incluso anular tus datos de producción.

    • Las variantes de platform de cada una de estas variantes de compilación deben estar en el mismo proyecto de Firebase. Por ejemplo, registra las compilaciones de depuración de iOS y Android en un proyecto de Firebase “dev”, ya que ambos pueden interactuar con los mismos datos y recursos que no son de producción.

Evita la arquitectura multiusuario

Esta modalidad puede generar problemas graves de configuración y privacidad de los datos, incluidos algunos no intencionales relacionados con agregación de estadísticas, autenticación compartida, estructuras de bases de datos demasiado complejas y dificultades con las reglas de seguridad.

Por lo general, si un conjunto de apps no comparte los mismos datos y parámetros de configuración, te recomendamos que registres cada app en 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, y las versiones de iOS y Android de esa etiqueta deben estar en el mismo proyecto de Firebase. Por motivos de privacidad, las apps etiquetadas de forma independiente no deben compartir datos con las demás.

Próximos pasos