Lista de comprobación para el lanzamiento de Firebase

Este documento contiene una lista de tareas de prácticas recomendadas y consideraciones antes de lanzar una app de Firebase a producción.

Prácticas recomendadas generales para lanzamientos

  • Asegúrate de probar todos los cambios en Firebase Local Emulator Suite (para productos compatibles) antes de implementarlos en producción. Las pruebas exhaustivas pueden ayudar a evitar errores costosos.

  • Comienza a aplicar Firebase App Check para cada servicio que lo admita. App Check ayuda a garantizar que solo tus apps reales puedan acceder a tus servicios y recursos de backend.

  • Revisa la lista de tareas de seguridad general de Firebase.

  • Usa lanzamientos de Firebase Remote Config para lanzar funciones nuevas y actualizaciones de tu app de forma segura y gradual.

  • Si aún no lo hiciste, considera configurar Firebase Crashlytics. Se trata de una herramienta liviana para informar fallas en tiempo real que te ayuda a hacer un seguimiento de los problemas de estabilidad que afectan la calidad de tu app, a priorizarlos y a corregirlos.

Conoce los límites de tu plan de precios y establece alertas de presupuesto

  • Asegúrate de no alcanzar los límites y las cuotas de uso después de pasar a producción, en especial si tienes el plan Spark sin costo. Considera actualizar al plan de precios Blaze de pago por uso.

  • Configura alertas de presupuesto para tu proyecto.

    • Ten en cuenta que las alertas de presupuesto no son límites de presupuesto. Una alerta te enviará comunicaciones cuando te acerques o superes el umbral configurado para que puedas tomar medidas en tu app o proyecto.

    • Considera configurar alertas y acciones avanzadas, como funciones que inhabiliten la facturación en respuesta a alertas.

  • Supervisa tu uso en los paneles específicos del producto o en el panel Uso y facturación central de Firebase console.

Asegúrate de que tus apps y proyectos de Firebase sigan las prácticas recomendadas

Ya sea que trabajes como desarrollador independiente o en un equipo de gran tamaño, es importante asegurarse de que tus proyectos, apps y recursos de Firebase estén protegidos, seguros y puedan evolucionar con los cambios en tu equipo.

Es útil recordar que un proyecto de Firebase es, en realidad, un proyecto de Google Cloud con servicios y parámetros de configuración de Firebase habilitados. Esto significa que muchas de las prácticas recomendadas que recomienda Google Cloud también se aplican a Firebase.

  • Usa diferentes proyectos de Firebase para el desarrollo, las pruebas y la producción.

    Intenta limitar la exposición inesperada al proyecto asociado con tu app de producción. Obtén más información para configurar flujos de trabajo de desarrollo.

  • Protege tus proyectos importantes, en especial el asociado con tu app de producción.

    • Usa retenciones del proyecto para protegerte contra la eliminación accidental de proyectos.

    • Aplica una etiqueta "Prod" en Firebase console para facilitar la identificación de tu entorno de producción.

  • Si aún no lo has hecho, considera configurar una organización de Google Cloud y agregar tus proyectos de Firebase a ella.

  • Agrega más de un propietario a tus proyectos de Firebase, especialmente si tu proyecto no está en una organización de Google Cloud. Obtén más información sobre cuándo y cómo asignar propietarios para un proyecto de Firebase.

  • Agrega miembros del proyecto (también conocidos como "principales") como Grupos de Google en lugar de hacerlo de forma individual.

    El uso de grupos facilita la asignación masiva de roles a los miembros del equipo, así como la administración de quién tiene acceso a tu proyecto de Firebase, en especial si los miembros del equipo rotan o se van.

  • Otorga a cada miembro del proyecto (también conocido como “principal”) el nivel de acceso adecuado a tus proyectos y recursos de Firebase. Obtén más información en Administra el acceso al proyecto con Firebase IAM.

  • Asegúrate de que cada miembro del proyecto aplicable (también conocido como "principal") configure sus preferencias para recibir alertas sobre productos específicos o el estado del proyecto (como cambios en el plan de facturación o límites de cuota). Obtén más información en Recibe alertas de Firebase.

  • Restringe tus claves de API de Firebase solo a las APIs que deben estar en la lista de entidades permitidas de la API de la clave. Además, consulta la información sobre las claves de API en la lista de tareas de seguridad de Firebase.

Prepara los servicios específicos que se usan en tu app

Cada producto y servicio que se usa en tu app puede tener consideraciones específicas cuando se usa en producción.

Google Analytics

  • Define las condiciones del público para que Google Analytics comience a recopilar datos de estadísticas a partir del lanzamiento de tu aplicación.

  • Considera habilitar la exportación de datos de Google Analytics a BigQuery para que puedas analizar tus datos con BigQuery SQL o exportarlos para usarlos con tus propias herramientas.

  • Limita las propiedades del usuario a la información que será relevante para el ciclo de vida de toda tu app. Existe un límite para la cantidad que puedes crear, y no se pueden archivar.

  • Revisa la configuración de los roles de Google Analytics para tus propiedades y cuentas de Google Analytics. Estos permisos se administran por separado de los permisos y roles de IAM del proyecto de Firebase.

  • Asegúrate de que el ID de la tienda de aplicaciones y el ID de equipo (si es necesario) sean correctos en Configuración del proyecto de Firebase console.

App Check

  • Asegúrate de que el ID de equipo sea correcto en Configuración del proyecto de Firebase console.

  • Si aún no lo hiciste, comienza a aplicar Firebase App Check para cada servicio que lo admita. App Check ayuda a garantizar que solo tus apps reales puedan acceder a tus servicios y recursos de backend.

Authentication

Cloud Firestore

Cloud Messaging

Cloud Storage

Crashlytics

  • Asegúrate de que cada miembro del proyecto aplicable (también conocido como "principal") configure sus preferencias para recibir alertas sobre Crashlytics o el estado del proyecto (como cambios en el plan de facturación o límites de cuota). Obtén más información en Recibe alertas de Firebase.

  • Considera habilitar la exportación de datos de Crashlytics a BigQuery para que puedas analizar tus datos con BigQuery SQL o exportarlos para usarlos con tus propias herramientas.

  • (solo para iOS y Android nativos) Considera habilitar la asistencia de IA en Crashlytics para acelerar el tiempo que tardas en comprender por qué se produjo una falla y qué hacer al respecto.

  • Sube el archivo dSYM para las compilaciones de lanzamiento para usarlo en Crashlytics. Asegúrate de que Xcode pueda procesar automáticamente los archivos dSYM y subirlos.

  • Sube la asignación de ProGuard para compilaciones de lanzamiento para usarla en Crashlytics. Puedes subir archivos con Firebase CLI.

  • Vincula Firebase a Google Play para obtener una vista más completa del estado de tu app para Android. Por ejemplo, puedes filtrar los informes de fallas de la app por el segmento de Google Play, lo que te permite enfocar mejor el panel en compilaciones específicas.

  • En el caso de las compilaciones orientadas a Android y que usan IL2CPP, asegúrate de subir símbolos nativos para cada ejecución de compilación individual para la que deseas tener símbolos, independientemente de si hubo cambios en el código o la configuración.

Firebase ML

Performance Monitoring

  • Asegúrate de que cada miembro del proyecto aplicable (también conocido como "principal") configure sus preferencias para recibir alertas sobre Performance Monitoring o el estado del proyecto (como cambios en el plan de facturación o límites de cuota). Obtén más información en Recibe alertas de Firebase.

  • Considera habilitar la exportación de datos de Performance Monitoring a BigQuery para que puedas analizar tus datos con BigQuery SQL o exportarlos para usarlos con tus propias herramientas.

Realtime Database

Remote Config

  • Asegúrate de que ninguna regla experimental de Remote Config afecte a los usuarios de la versión y de que se distribuyan los valores predeterminados adecuados del servidor y de la app en tu app.

Vertex AI in Firebase