Preguntas frecuentes de Firebase

¿Tienes otras dificultades o tu problema no se describe en esta página? Informa un error o solicita una función, y participa en las conversaciones de Stack Overflow.

Proyectos y apps de Firebase

Un proyecto de Firebase es la entidad de nivel superior de Firebase. En un proyecto, puedes registrar tus apps para Apple, Android y la Web. Después de registrar tus apps con Firebase, puedes agregar los SDK de Firebase específicos de productos a tu app, como Analytics, Cloud Firestore, Crashlytics o Remote Config.

Debes registrar las variantes de tu app para Apple, Android y la Web en un solo proyecto de Firebase. Puedes usar varios proyectos de Firebase para tener compatibilidad con distintos entornos, como desarrollo, pruebas y producción.

Aquí encontrarás algunos recursos para obtener más información sobre los proyectos de Firebase:

  • Comprende los proyectos de Firebase: Se proporcionan descripciones generales breves de varios conceptos importantes sobre los proyectos de Firebase, incluida su relación con Google Cloud y la jerarquía básica de un proyecto y sus apps y recursos.
  • Prácticas recomendadas generales para configurar proyectos de Firebase: Se proporcionan prácticas recomendadas generales de alto nivel para configurar proyectos de Firebase y registrar tus apps en un proyecto para que tengas un flujo de trabajo de desarrollo claro que use entornos distintos.

Ten en cuenta que, para todos los proyectos de Firebase, la plataforma agrega automáticamente una etiqueta de firebase:enabled en la página Etiquetas de tu proyecto en la consola de Google Cloud. Obtén más información sobre esta etiqueta en nuestras Preguntas frecuentes.

Una organización de Google Cloud es un contenedor para los proyectos de Google Cloud (incluidos los proyectos de Firebase). Esta jerarquía permite una mejor organización, administración de accesos y auditoría de los proyectos de Google Cloud y Firebase. Para obtener más información, consulta Crea y administra organizaciones.

Es posible que tengas proyectos de Google Cloud existentes administrados a través de la consola de Google Cloud o la Consola de APIs de Google.

Para agregar Firebase a estos proyectos de Google Cloud existentes, puedes usar cualquiera de las siguientes opciones:

Obtén más detalles para agregar Firebase a un proyecto de Google Cloud.

Firebase se integra estrechamente a Google Cloud. Los proyectos se comparten entre Firebase y Google Cloud, de manera que puedan tener habilitados servicios de Firebase y los servicios de Google Cloud. Puedes acceder al mismo proyecto desde Firebase console o la consola de Google Cloud. En específico:

  • Google Cloud respalda directamente algunos productos de Firebase, como Cloud Storage for Firebase. La lista de productos que respalda Google Cloud seguirá creciendo con el paso del tiempo.
  • Firebase y Google Cloud comparten gran parte de tus opciones de configuración, lo que incluye la información de colaboradores y los datos de facturación. El uso de Firebase y Google Cloud aparece en la misma factura.

Además, cuando actualizas al plan Blaze, puedes usar las APIs y la infraestructura como servicio de primer nivel de Google Cloud directamente dentro de tu proyecto de Firebase, con los precios estándar de Google Cloud. También puedes exportar datos de Google Cloud directamente a BigQuery para realizar análisis. Para obtener más información, consulta Vincula BigQuery con Firebase.

El uso de Google Cloud con Firebase brinda muchos beneficios que permiten aumentar la seguridad, reducir la latencia y ahorrar tiempo (en comparación con otros servicios de nube que no tienen ubicación conjunta). Consulta el sitio de Google Cloud para obtener más detalles.

En la página Etiquetas de tu proyecto en la consola de Google Cloud, es posible que veas una etiqueta de firebase:enabled (específicamente, una Key de firebase con un Value de enabled).

Firebase agregó automáticamente esta etiqueta porque tu proyecto es de Firebase, lo que significa que tiene habilitados parámetros de configuración y servicios específicos de Firebase. Obtén más información sobre la relación entre los proyectos de Firebase y Google Cloud.

Te recomendamos que no modifiques ni borres esta etiqueta. Firebase y Google Cloud usan esta etiqueta para enumerar tus proyectos de Firebase (por ejemplo, con el extremo projects.list de la API de REST o en los menús dentro de Firebase console).

Ten en cuenta que agregar manualmente esta etiqueta a tu lista de etiquetas de proyecto NO habilita la configuración y los servicios específicos de Firebase para tu proyecto de Google Cloud. Para hacerlo, debes agregar Firebase con Firebase console (o, en casos de uso avanzados, con la API de REST para Firebase Management o Firebase CLI).

Esta pregunta frecuente es aplicable si no ves tu proyecto de Firebase en los siguientes lugares:

  • En una lista de proyectos que ves en Firebase console
  • En la respuesta que se obtiene al llamar al extremo projects.list de la API de REST
  • En la respuesta que se obtiene cuando se ejecuta el comando firebase projects:list de Firebase CLI

Prueba estos pasos para solucionar problemas:

  1. Primero, intenta acceder al proyecto visitando directamente su URL. Usa el siguiente formato:
    https://console.firebase.google.com/project/PROJECT_ID/overview
  2. Si no puedes acceder al proyecto o recibes errores de permisos, verifica lo siguiente:
    • Asegúrate de haber accedido a Firebase con la misma Cuenta de Google que tiene acceso al proyecto. Puedes acceder a Firebase console y salir de ella a través del avatar de tu cuenta, que se encuentra en la esquina superior derecha de la consola.
    • Verifica si puedes ver el proyecto en la consola de Google Cloud.
    • Asegúrate de que tu proyecto tenga la etiqueta firebase:enabled en la página Etiquetas de tu proyecto en la consola de Google Cloud. Firebase y Google Cloud usan esta etiqueta para enumerar tus proyectos de Firebase. Si no ves esta etiqueta, pero la API de Firebase Management está habilitada para tu proyecto, agrega manualmente la etiqueta (específicamente, una Key de firebase con un Value de enabled).
    • Asegúrate de que se te asigne uno de los roles básicos de IAM (propietario, editor o visualizador) o un rol que tenga permisos relacionados con Firebase, por ejemplo, un rol predefinido de Firebase. Puedes ver tus roles en la página de IAM de la consola de Google Cloud.
    • Si el proyecto pertenece a una organización de Google Cloud, es posible que necesites permisos adicionales para ver el proyecto que se menciona en Firebase console. Comunícate con la persona que administra tu organización de Google Cloud para que te otorgue el rol adecuado para ver el proyecto, por ejemplo, el rol de navegador.

Si ninguno de los pasos de solución de problemas anteriores te permite ver tu proyecto en una lista de proyectos de Firebase, comunícate con el equipo de asistencia de Firebase.

  • Plan de precios de Spark: La cuota de creación de proyectos se limita a unos pocos proyectos (usualmente alrededor de 5 a 10).
  • Plan de precios Blaze: La cuota de creación de proyectos sigue siendo limitada, pero puede aumentar con la vinculación de una cuenta de Cloud Billing 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.

Un proyecto de Firebase es un contenedor para las apps de Firebase en Apple, Android y la Web. Firebase restringe a 30 la cantidad total de apps de Firebase que puede tener un proyecto de la plataforma.

Después de esta cifra, el rendimiento comienza a degradarse (especialmente para Google Analytics) y, en última instancia, con una mayor cantidad de apps, algunas funciones del producto dejan de hacer su trabajo. Además, si usas el Acceso con Google como proveedor de autenticación, se crea un ID de cliente de OAuth 2.0 subyacente para cada app de tu proyecto. Hay un límite de aproximadamente 30 IDs de cliente que se pueden crear en un mismo proyecto.

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. Por ejemplo, si desarrollas una aplicación sin marca, cada app etiquetada de forma independiente debe tener su propio proyecto de Firebase; sin embargo, las versiones de Apple y Android de esa etiqueta pueden estar en el mismo proyecto. Obtén información más detallada en las prácticas recomendadas generales para configurar proyectos de Firebase.

En el caso poco probable de que tu proyecto requiera más de 30 apps, puedes solicitar un aumento del límite de apps. Para realizar esta solicitud, tu proyecto debe estar en el plan de precios Blaze. Visita la consola de Google Cloud para realizar tu solicitud y hacer que se evalúe. Obtén más información sobre la administración de cuotas en la documentación de Google Cloud.

En Firebase console, puedes etiquetar tus proyectos de Firebase con su tipo de entorno, ya sea Producción o Sin especificar (no de producción).

Etiquetar tu proyecto de Firebase como un tipo de entorno no afecta su funcionamiento ni sus características. Sin embargo, puede ayudarlos a ti y a tu equipo a administrar diversos proyectos de Firebase durante el ciclo de vida de la app.

Si etiquetas tu proyecto como entorno de producción, agregaremos una etiqueta Producción de colores llamativos al proyecto en Firebase console para recordarte que cualquier cambio podría afectar a tus apps de producción asociadas. Más adelante, es posible que agreguemos más funciones y protecciones a los proyectos de Firebase etiquetados como entornos de producción.

Para cambiar el tipo de entorno de tu proyecto de Firebase, ve a Configuración del proyecto > General. Luego, en la tarjeta Tu proyecto que se ubica en la sección Entorno, haz clic en para cambiar el tipo de entorno.

En Firebase console, ve a Configuración del proyecto. Desplázate hacia abajo hasta la tarjeta Tus apps y, luego, haz clic en la app de Firebase cuya información quieres ver, incluido el ID de la app.

Estos son algunos ejemplos de valores de ID de app:

  • Apps de Firebase para iOS: 1:1234567890:ios:321abc456def7890
  • Apps de Firebase para Android: 1:1234567890:android:321abc456def7890
  • Apps web de Firebase: 1:1234567890:web:321abc456def7890
  • Para vincular tu cuenta de Google Play, necesitas lo siguiente:
    • Cualquiera de las siguientes funciones de Firebase: Propietario o administrador de Firebase
      .
    • Uno de los siguientes niveles de acceso de Google Play: propietario o administrador de la cuenta
  • Para vincular tu app de AdMob, debes ser propietario de un proyecto de Firebase y administrador de AdMob.
  • Para vincular la cuenta de AdWords, debes ser propietario de un proyecto de Firebase y administrador de AdWords.
  • Para vincular tu proyecto de BigQuery, debes ser el propietario del proyecto de Firebase.

En plataformas de Apple, el pod de Firebase contiene un archivo NOTICES que incluye las entradas relevantes. El SDK de Firebase Android contiene una Activity auxiliar para mostrar la información de licencia.

Permisos y acceso a los proyectos de Firebase

Para administrar los roles que se asignaron a cada miembro, debes ser propietario del proyecto de Firebase (o tener un rol con el permiso resourcemanager.projects.setIamPolicy).

Los siguientes son los lugares en los que puedes asignar y administrar roles:

Si el propietario del proyecto ya no puede realizar sus tareas correspondientes (por ejemplo, esa persona ya no trabaja en la empresa) y tu proyecto no se administra a través de una organización de Google Cloud (consulta el siguiente párrafo), puedes comunicarte con el equipo de asistencia de Firebase para consultar cómo solicitar acceso al proyecto de Firebase.

Ten en cuenta que, si un proyecto de Firebase forma parte de una organización de Google Cloud, es posible que no tenga un propietario. Si no encuentras un propietario para el proyecto de Firebase, comunícate con la persona que administra tu organización de Google Cloud para asignarle un propietario al proyecto.

Puedes ver los miembros del proyecto y sus roles en los siguientes lugares:

  • Si tienes acceso al proyecto en Firebase console, puedes ver la lista de miembros del proyecto, incluidos los propietarios, en la página Usuarios y permisos de Firebase console.
  • Si no tienes acceso al proyecto en Firebase console, verifica si tienes acceso al proyecto en la consola de Google Cloud. Puedes ver la lista de miembros del proyecto, incluidos los propietarios, en la página de IAM de la consola de Google Cloud.

Si el propietario del proyecto ya no puede realizar sus tareas correspondientes (por ejemplo, esa persona ya no trabaja en la empresa) y tu proyecto no se administra a través de una organización de Google Cloud (consulta el siguiente párrafo), puedes comunicarte con el equipo de asistencia de Firebase para asignar un propietario temporal.

Ten en cuenta que, si un proyecto de Firebase forma parte de una organización de Google Cloud, es posible que no tenga un propietario. En cambio, la persona que administra tu organización de Google Cloud puede realizar muchas de las tareas de un propietario. Sin embargo, para realizar varias tareas específicas del propietario (como asignar roles o administrar propiedades de Google Analytics), es posible que el administrador tenga que asignarse el rol de propietario para realizar esas tareas. Si no encuentras un propietario para el proyecto de Firebase, comunícate con la persona que administra tu organización de Google Cloud para asignarle un propietario al proyecto.

Para garantizar la administración adecuada de un proyecto de Firebase, este debe tener un propietario.

Los miembros del proyecto con el rol de propietario suelen ser los únicos miembros del proyecto que pueden realizar tareas administrativas o recibir notificaciones importantes:

  • Los miembros del proyecto con el rol de propietario suelen ser los únicos que pueden realizar acciones administrativas importantes (como asignar roles y administrar propiedades de Google Analytics). Además, la asistencia de Firebase solo puede completar solicitudes administrativas de propietarios de proyectos que se hayan demostrado.
  • Los miembros del proyecto con el rol de propietario suelen ser los únicos que (de forma predeterminada) reciben notificaciones sobre cambios en el proyecto o los productos (como cambios legales y de facturación, baja de funciones, etcétera). De manera opcional, puedes personalizar los "contactos esenciales" de tu proyecto si deseas que miembros específicos o adicionales del proyecto reciban notificaciones.

Después de configurar los propietarios de un proyecto de Firebase, es importante mantener esas asignaciones actualizadas.

Ten en cuenta que, si un proyecto de Firebase forma parte de una organización de Google Cloud, la persona que administra tu organización de Google Cloud puede realizar muchas tareas de un propietario. Sin embargo, en el caso de varias tareas específicas del propietario (como la asignación de roles o la administración de propiedades de Google Analytics), es posible que el administrador tenga que asignarse el rol real de propietario para realizar esas tareas.

El correo electrónico que recibiste debe contener un vínculo para abrir tu proyecto de Firebase. Si haces clic en este vínculo, se debería abrir el proyecto en Firebase console.

Si no puedes abrir el proyecto con el vínculo, asegúrate de haber accedido a Firebase con la misma Cuenta de Google en la que recibiste el correo electrónico sobre el proyecto. Puedes acceder a Firebase console y salir de ella a través del avatar de tu cuenta, que se encuentra en la esquina superior derecha de la consola.

Ten en cuenta que, si eres administrador de una organización de Google Cloud, puedes recibir notificaciones sobre los cambios que se realicen en los proyectos de Firebase de tu organización. Sin embargo, es posible que no tengas permisos suficientes para abrir los proyectos. En estos casos, la solución más simple es autoasignarse el rol real de propietario para abrir el proyecto y realizar las acciones necesarias. Obtén más información sobre por qué y cuándo asignar el rol de propietario.



Plataformas y frameworks

Visita las páginas de Preguntas frecuentes y solución de problemas específicos de la plataforma para obtener sugerencias útiles y respuestas a más dudas.



Consola de Firebase

Se puede acceder a Firebase console desde las versiones recientes de los navegadores para computadoras populares, como Chrome, Firefox, Safari y Edge. Los navegadores para dispositivos móviles no son totalmente compatibles en la actualidad.

Estas preguntas frecuentes son aplicables si tienes alguno de los siguientes problemas:

  • Firebase console muestra una página de error que indica que tu proyecto puede no existir o que no tienes acceso al proyecto.
  • Firebase console no muestra tu proyecto incluso cuando ingresas su ID o nombre en el campo de búsqueda de la consola.

Prueba estos pasos para solucionar problemas:

  1. Primero, intenta acceder al proyecto visitando directamente su URL. Usa el siguiente formato:
    https://console.firebase.google.com/project/PROJECT-ID/overview
  2. Si aún no puedes acceder al proyecto o recibes errores de permisos, verifica lo siguiente:
    • Asegúrate de haber accedido a Firebase con la misma Cuenta de Google que tiene acceso al proyecto. Puedes acceder a Firebase console y salir de ella a través del avatar de tu cuenta, que se encuentra en la esquina superior derecha de la consola.
    • Asegúrate de que la API de Firebase Management esté habilitada para el proyecto.
    • Asegúrate de que se te asigne uno de los roles básicos de IAM (propietario, editor o visualizador) o un rol que tenga permisos relacionados con Firebase, por ejemplo, un rol predefinido de Firebase. Puedes ver tus roles en la página de IAM de la consola de Google Cloud.
    • Si el proyecto pertenece a una organización de Google Cloud, es posible que necesites permisos adicionales para ver el proyecto que se menciona en Firebase console. Comunícate con la persona que administra tu organización de Google Cloud para que te otorgue el rol adecuado para ver el proyecto, por ejemplo, el rol de navegador.

Si ninguno de los pasos de solución de problemas anteriores te permite buscar tu proyecto o acceder a él, comunícate con el equipo de asistencia de Firebase.

Estas preguntas frecuentes son aplicables si tienes alguno de los siguientes problemas:

  • Una página de Firebase console nunca termina de cargarse.
  • Los datos de una página no se cargan como se espera.
  • Recibes mensajes de error del navegador cuando cargas Firebase console.

Prueba estos pasos para solucionar problemas:

  1. Consulta la fila de consola del panel de estado de Firebase para ver posibles interrupciones del servicio.
  2. Asegúrate de usar un navegador compatible.
  3. Intenta cargar Firebase console en una ventana privada o de incógnito.
  4. Inhabilita todas las extensiones del navegador.
  5. Verifica que el bloqueador de anuncios, el antivirus, el proxy, el firewall o algún otro software no bloquee la conexión de red.
  6. Intenta cargar Firebase console con otra red o dispositivo.
  7. Si usas Chrome, comprueba si hay algún error en la consola de herramientas para desarrolladores.

Si ninguno de los pasos anteriores resuelve el problema, comunícate con el equipo de asistencia de Firebase.

La configuración de idioma de Firebase console se basa en el idioma que seleccionaste en la configuración de la Cuenta de Google.

Para cambiar tu preferencia de idioma, consulta Cómo cambiar el idioma.

Firebase console admite los siguientes idiomas:

  • Inglés
  • Portugués de Brasil
  • Francés
  • Alemán
  • Indonesio
  • Japonés
  • Coreano
  • Ruso
  • Chino simplificado
  • Español
  • Chino tradicional

Firebase console y la consola de Google Cloud usan los mismos roles y permisos subyacentes. Obtén más información sobre los roles y los permisos en la documentación de Firebase IAM.

Firebase admite las funciones fundamentales (básicas) de propietario, editor y visualizador:

  • El propietario de un proyecto puede agregar otros miembros al proyecto, configurar las integraciones (vinculación de proyectos a servicios como BigQuery o Slack) y, además, tiene acceso total de edición para el proyecto.
  • El editor de un proyecto tiene acceso total de edición para este.
  • El visualizador de un proyecto solo tiene acceso de lectura para el proyecto. Ten en cuenta que, actualmente, Firebase console no oculta ni inhabilita los controles de edición de la IU para los visualizadores del proyecto, pero estas operaciones fallarán para los miembros del proyecto a los que se les asignó este rol.

Firebase también admite las siguientes funciones:

  • Roles predefinidos de Firebase: Roles específicos y seleccionados de Firebase que permiten tener un control de acceso más detallado que los roles básicos de propietario, editor y visualizador
  • Funciones personalizadas: Funciones de IAM completamente personalizadas que creas a fin de adaptar un conjunto de permisos que cumplen con los requisitos específicos de tu organización



Firebase Local Emulator Suite

Este mensaje significa que Emulator Suite detectó que podría estar ejecutando un emulador de productos en particular con diferentes IDs de proyectos. Esto puede indicar una configuración incorrecta y causar problemas cuando los emuladores intentan comunicarse entre sí y cuando intentas interactuar con los emuladores desde tu código. Si los IDs del proyecto no coinciden, a menudo parece que faltan datos, ya que los datos almacenados en emuladores están vinculados al ID del proyecto, y la interoperabilidad depende de los IDs del proyecto que coincidan.

Este ha sido un motivo de confusión habitual entre los desarrolladores, por lo que, de forma predeterminada, Local Emulator Suite ahora solo permitirá la ejecución con un ID del proyecto único, a menos que especifiques lo contrario en el archivo de configuración firebase.json. Si un emulador detecta más de un ID de proyecto, registrará una advertencia y posiblemente se produzca un error no recuperable.

Verifica que las declaraciones de ID de tu proyecto no coincidan en los siguientes casos:

  • El proyecto predeterminado establecido en la línea de comandos. De forma predeterminada, el ID del proyecto se tomará en el inicio del proyecto seleccionado con firebase init o firebase use. Para ver la lista de proyectos (y ver cuál está seleccionado), usa firebase projects:list.
  • Pruebas de unidades. El ID del proyecto a menudo se especifica en las llamadas a los métodos de la biblioteca de pruebas de unidades de reglas initializeTestEnvironment o initializeTestApp. Es posible que se inicialice otro código de prueba con initializeApp(config).
  • La marca --project de la línea de comandos. Pasar la marca --project de Firebase CLI anula el proyecto predeterminado. Deberás asegurarte de que el valor de la marca coincida con el ID del proyecto en las pruebas de unidades y la inicialización de la app.

Lugares específicos de la plataforma que debes verificar:

Web La propiedad projectId en el objeto firebaseConfig de JavaScript, que se usa en initializeApp.
Android La propiedad project_id dentro del archivo de configuración google-services.json.
Plataformas de Apple La propiedad PROJECT_ID en el archivo de configuración GoogleService-Info.plist.

Para inhabilitar el modo de proyecto único, actualiza firebase.json con la clave singleProjectMode:

{
  "firestore": {
    ...
  },
  "functions": {
    ...
  },
  "hosting": {
    ...
  },
  "emulators": {
    "singleProjectMode": false,
    "auth": {
      "port": 9099
    },
    "functions": {
      "port": 5001
    },
    ...
  }
}



Precios

Para ver las preguntas frecuentes sobre precios específicas de un producto, consulta la sección del producto en esta página o en su documentación específica.

Los productos de infraestructura pagados de Firebase son Realtime Database, Cloud Storage for Firebase, Cloud Functions, Hosting, Test Lab y la autenticación por teléfono. Ofrecemos un nivel sin costo para todas estas funciones.

Además, Firebase cuenta con muchos productos sin costo, como los siguientes: Analytics, Cloud Messaging, el Compositor de Notifications, Remote Config, App Indexing, Dynamic Links y Crash Reporting. El uso de estos productos está sujeto solo a sus políticas de control de tráfico (p. ej., cuotas, acceso justo y otras protecciones del servicio) en todos los planes, incluido nuestro plan sin costo Spark. Además, todas las funciones de Authentication no tienen costo, excepto la autenticación por teléfono.

Los servicios pagados de Firebase se pueden usar en la prueba gratuita de Google Cloud. Los usuarios nuevos de Google Cloud y Firebase pueden aprovechar un período de prueba de 90 días que incluye $300 en créditos gratuitos de Cloud Billing para explorar y evaluar los productos y servicios de Google Cloud y Firebase.

Durante el período de prueba gratuita de Google Cloud, se te proporcionará una cuenta de Cloud Billing de prueba gratuita. Cualquier proyecto de Firebase que use esa cuenta de facturación se encontrará en el plan de precios Blaze durante el período de prueba gratuita.

No te preocupes, la configuración de esta cuenta de Cloud Billing de prueba gratuita no nos permite realizar cargos. No se te cobrará a menos que habilites de manera explícita la facturación a través de la actualización de tu cuenta de Cloud Billing de prueba gratuita a una cuenta pagada. Puedes cambiarte a una cuenta pagada en cualquier momento durante la prueba. Después de la actualización, aún puedes usar los créditos restantes (dentro del período de 90 días).

Una vez que finalice la prueba gratuita, para seguir usando el proyecto de Firebase, deberás cambiarlo al plan de precios Spark o configurar el plan de precios Blaze en Firebase console.

Obtén más información sobre la prueba gratuita de Google Cloud.

Plan de precios Spark

Nuestro plan Spark es una excelente manera de desarrollar tu app sin costo. Obtienes todas las funciones sin costo de Firebase (Analytics, el Compositor de Notifications, Crashlytics, etcétera.) y amplio acceso a nuestras funciones de infraestructura pagadas. Sin embargo, si superas la cuota de los recursos en el plan Spark durante un mes calendario, se desactivará la app por el resto de ese mes. Además, las funciones de Google Cloud no están disponibles cuando se usa el plan Spark.

Plan de precios Blaze

Nuestro plan Blaze está diseñado para apps de producción. El plan Blaze también te permite extender la app con funciones pagadas de Google Cloud. Solo debes pagar por los recursos que consumas, lo que te permite escalar según la demanda. Hacemos lo posible para que los precios del plan Blaze sean competitivos con los de proveedores de nube líderes en el sector.

Sí, puedes pasar a un plan superior o inferior, o incluso cancelar tu plan en cualquier momento. Ten en cuenta que no proporcionamos reembolsos prorrateados cuando se pasa a un plan inferior o se cancela un plan. Esto significa que si pasas a un plan inferior o cancelas tu plan antes de que finalice el período de facturación, deberás pagar lo que queda del mes.

El uso sin costo del plan Blaze se calcula por día. Los límites de uso también difieren del plan Spark para Cloud Functions, la autenticación por teléfono y Test Lab.

En el caso de Cloud Functions, el uso sin costo del plan Blaze se calcula a nivel de la cuenta de Cloud Billing, no a nivel de proyecto, y tiene los siguientes límites:

  • 2,000,000 de invocaciones al mes
  • 400,000 GB por segundo al mes
  • 200,000 ciclos de CPU por segundo al mes
  • 5 GB de salida de red al mes

En el caso de la autenticación por teléfono, el uso sin costo del plan Blaze se calcula por mes.

En el caso de Test Lab, el uso sin costo del plan Blaze tiene estos límites:

  • 30 minutos en dispositivo físico al día
  • 60 minutos en dispositivo virtual al día

El plan Blaze incluye el uso sin costo del plan Spark, que no se restablece cuando cambias al plan Blaze.

Si se agrega una cuenta de Cloud Billing a un proyecto en la consola de Google Cloud, el mismo proyecto se actualizará automáticamente al plan Blaze de Firebase si está en el plan Spark.

Por el contrario, si se quita una cuenta de Cloud Billing activa existente de un proyecto en la consola de Google Cloud, ese proyecto pasará al plan Spark de Firebase.

Puedes hacer un seguimiento del uso de los recursos del proyecto en Firebase console en cualquiera de los siguientes paneles:

No, actualmente no es posible restringir el uso en el plan Blaze. Estamos evaluando las opciones para admitir límites en el uso del plan Blaze.

Los usuarios de Blaze pueden establecer un presupuesto para su cuenta o proyecto, y recibir alertas cuando estén cerca del límite. Obtén información para configurar alertas de presupuesto.

Todas las apps de Firebase, incluidas las que usan planes sin costo, incluyen asistencia por correo electrónico del equipo de Firebase durante el horario de atención según la hora del Pacífico de EE.UU. Todas las cuentas tienen asistencia ilimitada para problemas de facturación, problemas relacionados con la cuenta, preguntas técnicas (solución de problemas) y, además, informes de incidentes.

Cualquier tipo de organización o individuo puede usar nuestro plan Spark, como organizaciones sin fines de lucro, escuelas y proyectos de código abierto. Dado que estos planes ya incluyen cuotas generosas, no ofrecemos descuentos ni planes especiales para proyectos educativos, de organizaciones sin fines de lucro ni de código abierto.

Nuestro plan Blaze es adecuado para empresas de todos los tamaños y el SLA cumple o supera el estándar de la industria para la infraestructura de nube. Sin embargo, actualmente no ofrecemos contratos, precios ni asistencia empresarial, ni tampoco ofrecemos hosting con infraestructura dedicada (es decir, instalaciones locales) para servicios como Realtime Database. Estamos trabajando para agregar algunas de estas funciones.

Ofrecemos precios ad hoc en el plan Blaze, en el que solo pagas por las funciones que usas.

Los planes de precios de Firebase son independientes de los de Ads, por lo que no incluyen créditos de publicidad sin costo. Como desarrollador de Firebase, puedes “vincular” tu cuenta de Ads con Firebase para admitir el seguimiento de conversiones.

Todas las campañas publicitarias se administran de manera directa en Ads y la facturación de Ads se administra desde la consola de Ads.

En enero de 2020, se quitó el plan de precios Flame ($25 mensuales de cuota adicional) como opción para los registros nuevos. A los usuarios existentes del plan se les otorgó un período de gracia para migrar sus proyectos del plan Flame. En febrero de 2022, los proyectos restantes del plan pasaron al plan de precios Spark.
Por lo tanto:

  • Los proyectos existentes de los planes Spark y Blaze y los proyectos nuevos ya no pueden cambiarse al plan Flame ni registrarse en él.
  • Si trasladaste un proyecto existente del plan Flame a un plan de precios diferente, no podrás regresarlo al plan Flame.
  • Los proyectos que pasaron al plan Spark se pueden actualizar al plan Blaze para reanudar los servicios pagados adicionales.
  • Las referencias del plan Flame se quitaron de la documentación.

¿Tienes más preguntas sobre la eliminación del plan Flame? Lee algunas de las Preguntas frecuentes adicionales que se encuentran a continuación.

¿Quieres obtener información sobre los demás planes de precios que ofrece Firebase? Visita nuestra página de precios de Firebase. Si quieres comenzar a trasladar proyectos existentes a otro plan de precios, puedes hacerlo en Firebase console en tu proyecto.

Preguntas frecuentes adicionales sobre la eliminación del plan Flame

Regístrate en el plan de precios Blaze y asegúrate de configurar alertas de presupuesto.

No, Firebase no ofrece acceso especial para cambiar o registrar proyectos en el plan Flame.

Ya no es posible cambiar proyectos al plan Flame. Para acceder a los servicios que ofrece el plan Flame, asegúrate de usar el plan de precios Blaze y considera configurar alertas de presupuesto para tu proyecto.

Si tu proyecto requiere una cuota adicional superior a la que se proporciona con el plan Spark, deberás actualizar el proyecto al plan de precios Blaze.

Con el paso del tiempo, notamos que el uso del plan Flame disminuyó, y la mayoría de los proyectos que lo utilizan no consumen su valor total. Mantener este plan de precios en general no es rentable y creemos que podemos brindar un servicio mejor a todos si los recursos se usan en otras iniciativas de Firebase.



Privacidad

Consulta la página Privacidad y seguridad en Firebase.

Sí. Actualmente solo está disponible para iOS, pero podría ampliarse en el futuro. El SDK de Firebase para plataformas de Apple incluye el framework FirebaseCoreDiagnostics de forma predeterminada. Firebase usa este marco para recopilar la información de uso y diagnóstico del SDK a fin de priorizar mejoras futuras del producto. FirebaseCoreDiagnostics es opcional, así que, si quieres inhabilitar el envío de registros de diagnóstico de Firebase, solo debes desvincular la biblioteca de tu aplicación. Puedes explorar la fuente completa, incluidos los valores registrados, en GitHub.



A/B Testing

Se permiten hasta 300 experimentos por proyecto, que pueden incluir hasta 24 experimentos en ejecución, y que el resto sean borradores o estén completos.

Si te vinculas a una propiedad diferente de Google Analytics, perderás el acceso a los experimentos creados de antemano. Para recuperar el acceso a un experimento anterior, vuelve a vincular tu proyecto a la propiedad de Google Analytics que se vinculó cuando se creó el experimento.

Si ya vinculaste Firebase y Google Analytics, pero sigue apareciendo un mensaje que indica que Google Analytics no está vinculado, debes asegurarte de que exista una transmisión de Analytics para todas las apps de tu proyecto. Actualmente, todas las apps de un proyecto deben estar conectadas a una transmisión de Google Analytics para usar A/B Testing.

Puedes encontrar la lista de todas las transmisiones activas en la página Detalles de la integración de Google Analytics de Firebase console, a la que se accede desde Configuración del proyecto Integraciones Google Analytics Administrar.

Crear un flujo de Google Analytics para cualquier app que no lo tenga debería resolver el problema. Existen varias formas de crear transmisiones para apps faltantes:

  • Si solo tienes una o dos apps a las que les falta una transmisión de Google Analytics asociada, puedes elegir uno de los siguientes métodos para agregar una transmisión de Google Analytics:
    • Borra cualquier app sin una transmisión activa en Firebase console y vuelve a agregarla.
    • En la consola de Google Analytics, selecciona Administrador, haz clic en Flujos de datos y, luego, en Agregar flujo, agrega los detalles que faltan de la app y haz clic en Registrar app.
  • Si faltan varios flujos de aplicaciones, desvincular y volver a vincular tu propiedad de Google Analytics es la forma más rápida y eficiente de crearlos:
    1. En Configuración del proyecto, selecciona Integraciones.
    2. En la tarjeta Google Analytics, haz clic en Administrar para acceder a la configuración de Firebase y Google Analytics.
    3. Toma nota del ID de propiedad de Google Analytics y de la cuenta de Google Analytics vinculada.
    4. Haz clic en Más y selecciona Desvincular Analytics de este proyecto.
    5. Revisa la advertencia que aparece (no te preocupes, tendrás que volver a vincular la misma propiedad en el siguiente paso) y, luego, haz clic en Desvincular Google Analytics.

      Cuando se complete la desvinculación, se te redireccionará a la página Integraciones.
    6. En la tarjeta Google Analytics, haz clic en Habilitar para comenzar el proceso para volver a vincularla.
    7. Selecciona tu cuenta de Analytics en la lista Seleccionar cuenta.
    8. Junto a Crear automáticamente una nueva propiedad en esta cuenta, haz clic en Editar y, en la lista de propiedades de Analytics que aparece, selecciona el ID de tu propiedad.

      Aparecerá una lista de todas las apps de tu proyecto. Se enumeran las asignaciones de transmisiones existentes para cada app, y para las apps que no tienen una transmisión se les creará una.
    9. Haz clic en Habilitar Google Analytics para volver a vincular la propiedad.
    10. Haz clic en Finalizar.

Si sigues recibiendo el error creando pruebas A/B con Remote Config después de realizar estos pasos, comunícate con el equipo de Asistencia de Firebase.



AdMob

No, actualmente las apps de Windows no son compatibles.

Puedes vincular una app de AdMob a una app de Firebase a través de la consola de AdMob. Más información.

Para realizar esta vinculación, necesitas el siguiente acceso:

En el caso de las cuentas de AdMob multiusuario, el usuario que creó el primer vínculo de Firebase y aceptó las Condiciones del Servicio de Firebase es el único que puede crear nuevos vínculos entre las apps de AdMob apps y las de Firebase.

Para usar AdMob, usa siempre el SDK de Google Mobile Ads como se describe en estas preguntas frecuentes. Además, de manera opcional, si deseas recopilar métricas del usuario para AdMob, incluye el SDK de Firebase para Google Analytics en tu app.




Analytics

Google Analytics es una solución de análisis ilimitada y gratuita que funciona con herramientas de Firebase para proporcionar estadísticas potentes. Te permite ver los registros de eventos en Crashlytics, la eficacia de las notificaciones en FCM, el rendimiento de los vínculos directos de Dynamic Links y los datos de compras directas desde la app de Google Play. Permite la segmentación por público avanzada en Remote Config, la personalización de Remote Config y mucho más.

Google Analytics actúa como una capa de inteligencia en Firebase console para proporcionarte estadísticas más prácticas sobre cómo desarrollar una app de alta calidad, hacer crecer tu base de usuarios y ganar más dinero.

Para comenzar, lee la documentación.

De forma predeterminada, tus datos de Google Analytics se usan para mejorar otras funciones de Firebase y Google. Puedes controlar cómo se comparten los datos de Google Analytics en la configuración del proyecto en cualquier momento. Obtén más información sobre la Configuración de uso compartido de datos.

En la página Administrador de tu propiedad de Google Analytics, puedes actualizar la configuración de tu propiedad, por ejemplo:

  • Configuración de uso compartido de datos
  • Configuración de retención de datos
  • Configuración de zona horaria y moneda

Para actualizar la configuración de tu propiedad, sigue estos pasos:

  1. En Firebase console, ve a > Configuración del proyecto.
  2. Ve a la pestaña Integraciones y, luego, en la tarjeta de Google Analytics, haz clic en Administrar o Ver el vínculo.
  3. Haz clic en el vínculo de tu cuenta de Google Analytics para abrir la configuración de la cuenta y la propiedad.

Sí. Consulta la página sobre cómo configurar la recopilación y el uso de datos para obtener más detalles.

Puedes encontrar un resumen de estos cambios en el artículo del Centro de ayuda de Firebase Nueva funcionalidad de Google Analytics 4 en Google Analytics para Firebase.

Los datos de Analytics se encuentran en la propiedad de Google Analytics, no en el proyecto de Firebase. Si borras o desvinculas la propiedad, Firebase no podrá acceder a los datos de Analytics, y verás un panel de Analytics vacío en Firebase console. Ten en cuenta que, como los datos aún se encuentran en la propiedad vinculada anteriormente, puedes volver a vincular la propiedad a Firebase en cualquier momento y ver los datos de Analytics en Firebase console.

Vincular una cuenta nueva de Google Analytics (y, por lo tanto, una propiedad nueva de Google Analytics) a tu proyecto de Firebase generará un panel de Analytics vacío en Firebase console. Sin embargo, si la propiedad vinculada anteriormente todavía existe, puedes mover los datos existentes de la propiedad antigua a la propiedad nueva.

No. Si tu propiedad se borró, no es posible recuperar la propiedad ni recuperar los datos de Analytics recopilados anteriormente y almacenados en esa propiedad.

Si quieres comenzar a usar Google Analytics de nuevo, puedes vincular una propiedad nueva o una existente a tu proyecto de Firebase. Puedes hacerlo en Firebase console o la IU de Google Analytics. Obtén más información para vincular una propiedad de Google Analytics a tu proyecto de Firebase.

Si quieres comenzar a usar Google Analytics de nuevo, puedes vincular una propiedad nueva o una existente a tu proyecto de Firebase. Puedes hacerlo en Firebase console o la IU de Google Analytics. Obtén más información para vincular una propiedad de Google Analytics a tu proyecto de Firebase.

Ten en cuenta que, como todos los datos de Analytics se almacenan en la propiedad (no en el proyecto de Firebase), los datos de Analytics recopilados anteriormente no se pueden recuperar.

Varios productos de Firebase dependen de la integración de Google Analytics. Si se borran tu propiedad de Analytics y sus datos, ocurrirá lo siguiente si usas los siguientes productos:

  • Crashlytics: Ya no podrás ver los usuarios que no experimentaron fallas, los registros de rutas de navegación ni las alertas de velocidad.
  • Cloud Messaging y In-App Messaging: Ya no podrás usar la segmentación, las métricas de las campañas, la segmentación del público ni las etiquetas de estadísticas.
  • Remote Config: Ya no podrás usar las opciones de configuración segmentadas ni la personalización.
  • A/B Testing: Ya no podrás usar A/B Testing, dado que Google Analytics suministra la medición del experimento.
  • Dynamic Links: Se interrumpirá cualquier función que dependa de los datos de Google Analytics.

Además, se verán afectadas las siguientes integraciones:

Si debes reformular el problema, puedes usar la “segmentación negativa” para excluir a estos usuarios. Por ejemplo, reformula el problema como “No mostrar anuncios a las personas que compraron algo” y genera un público de esos usuarios a los cuales segmentar.

Tu público y las propiedades del usuario se sincronizarán. Para algunas funciones, como la segmentación y los embudos cerrados, deberás usar la interfaz de Google Analytics. Puedes acceder directamente a la interfaz de Google Analytics a través de los vínculos directos desde Firebase console.

Cualquier cambio que realices en Firebase console también se podrá realizar en Google Analytics. Esos cambios se reflejarán en Firebase.



Authentication

Firebase Authentication admite la verificación con el número de teléfono a nivel mundial, pero no todas las redes entregan nuestros mensajes de verificación de manera confiable. Las siguientes regiones tienen buenos índices de entrega y se espera que funcionen bien para la autenticación por teléfono. Cuando corresponda, algunos operadores no estarán disponibles en una región debido a que tienen tasas de éxito de entrega bajas.

Región Código
ADAndorra
AEEmiratos Árabes Unidos
AFAfganistán
AGAntigua y Barbuda
ALAlbania
AMArmenia
AOAngola
ARArgentina
ASSamoa Americana
ATAustria
AUAustralia
AWAruba
AZAzerbaiyán
BABosnia-Herzegovina
BBBarbados
BDBangladés
BEBélgica
BFBurkina Faso
BGBulgaria
BJBenín
BMBermudas
BNBrunéi Darussalam
BOBolivia
BRBrasil
BSBahamas
BTBután
BWBotsuana
BYBielorrusia
BZBelice
CACanadá
CDRepública Democrática del Congo (Kinsasa)
CFRepública Centroafricana
CGCongo (Brazzaville)
CHSuiza
CICosta de Marfil
CKIslas Cook
CLChile
CMCamerún
COColombia
CRCosta Rica
CVCabo Verde
CWCurazao
CYChipre
CZRepública Checa
DEAlemania
DJYibuti
DKDinamarca
DMDominica
República Dominicana
DZArgelia
ECEcuador
EGEgipto
ESEspaña
ETEtiopía
FIFinlandia
FJFiyi
FKIslas Malvinas
FMEstados Federados de Micronesia
FOIslas Feroe
FRFrancia
GAGabón
GBReino Unido
GDGranada
GEGeorgia
GFGuayana Francesa
GGGuernsey
GHGhana
GIGibraltar
GLGroenlandia
GMGambia
GPGuadalupe
GQGuinea Ecuatorial
GRGrecia
GTGuatemala
GYGuyana
HKRegión Administrativa Especial de Hong Kong, China
HNHonduras
HRCroacia
HTHaití
HUHungría
IDIndonesia
IEIrlanda
ILIsrael
IMIsla de Man
INIndia
IQIrak
ITItalia
JEJersey
JMJamaica
JOJordania
JPJapón
KEKenia
KGKirguistán
KHCamboya
KMComoras
KNSan Cristóbal y Nieves
KRCorea del Sur
KWKuwait
KYIslas Caimán
KZKazajistán
LARepública Democrática Popular Lao
LBLíbano
LCSanta Lucía
LILiechtenstein
LKSri Lanka
LSLesoto
LTLituania
LULuxemburgo
LVLetonia
LYLibia
MAMarruecos
MDMoldavia
MEMontenegro
MFSan Martín (parte francesa)
MGMadagascar
MKRepública de Macedonia
MMBirmania
MNMongolia
MORegión Administrativa Especial de Macao, China
MSMontserrat
MTMalta
MUMauricio
MWMalaui
MXMéxico
MYMalasia
MZMozambique
NANamibia
NCNueva Caledonia
NENíger
NFIsla Norfolk
NGNigeria
NINicaragua
NLPaíses Bajos
NONoruega
NPNepal
NZNueva Zelanda
OMOman
PAPanamá
PEPerú
PGPapúa Nueva Guinea
PHFilipinas
PKPakistán
PLPolonia
PMSan Pedro y Miquelón
PRPuerto Rico
PSTerritorio Palestino
PTPortugal
PYParaguay
QACatar
REReunión
RORumania
RSSerbia
RUFederación Rusa
RWRuanda
SAArabia Saudita
SCSeychelles
SESuecia
SGSingapur
SHSanta Elena
SIEslovenia
SKEslovaquia
SLSierra Leona
SNSenegal
SRSurinam
STSanto Tomé y Príncipe
SVEl Salvador
SZSuazilandia
TCIslas Turcas y Caicos
TGTogo
THTailandia
TLTimor Oriental
TMTurkmenistán
TOTonga
TRTürkiye
TTTrinidad y Tobago
TWTaiwán, República de China
TZRepública Unida de Tanzania
UAUcrania
UGUganda
USEstados Unidos de América
UYUruguay
UZUzbekistán
VCSan Vicente y las Granadinas
VEVenezuela (República Bolivariana)
VGIslas Vírgenes Británicas
VIIslas Vírgenes, EE.UU.
VNVietnam
WSSamoa
YEYemen
YTMayotte
ZASudáfrica
ZMZambia
ZWZimbabue

A partir de septiembre de 2024, para mejorar la seguridad y la calidad del servicio de la autenticación por teléfono, los proyectos de Firebase deben estar vinculados a una cuenta de Facturación de Cloud para habilitar y usar el servicio de SMS.

Para proteger tu proyecto contra el incremento desmedido de tráfico de SMS y el abuso de la API, sigue estos pasos:

Considera establecer una política de región de SMS
  1. Consulta el uso de SMS regional

    Busca regiones con una cantidad muy alta de SMS enviados y una cantidad muy baja (o cero) de SMS verificados. La proporción de verificados y enviados es tu tasa de éxito. Por lo general, las tasas de éxito positivas son de entre el 70% y el 85%, ya que los SMS no son un protocolo de entrega garantizado, y algunas regiones pueden experimentar abuso. Las tasas de éxito inferiores al 50% implican muchos SMS enviados, pero pocos accesos exitosos, lo que es un indicador común de las personas que actúan de mala fe y del incremento desmedido de tráfico de SMS.

  2. Usa la Política de región de SMS para rechazar regiones de SMS con tasas de éxito bajas o permitir solo ciertas regiones si tu app está destinada únicamente a la distribución en determinados mercados.

Limita tus dominios de autenticación autorizados

Usa el panel de configuración de Authentication para administrar los dominios autorizados. El dominio localhost se agrega de forma predeterminada a los dominios de autenticación aprobados para simplificar el desarrollo. Procura quitar localhost de los dominios autorizados de tu proyecto de producción para evitar que personas malintencionadas ejecuten código en su localhost para acceder a tu proyecto de producción.

Habilita y aplica la Verificación de aplicaciones

Habilita la Verificación de aplicaciones para ayudar a proteger tu proyecto de abusos de API. Para ello, certifica que las solicitudes solo provienen de aplicaciones asociadas al proyecto.

Para usar la Verificación de aplicaciones con Firebase Authentication, debes actualizar a Firebase Authentication with Identity Platform.

Recuerda que debes aplicar la Verificación de aplicaciones para Authentication en Firebase console (considera supervisar el tráfico antes de aplicarla). Además, vuelve a verificar la lista de sitios aprobados de reCAPTCHA Enterprise para validar que solo contenga los sitios de producción y que la lista de aplicaciones registradas en el proyecto en la Verificación de aplicaciones sea precisa.

Ten en cuenta que la Verificación de aplicaciones te ayuda a protegerte de ataques automatizados, ya que afirma que la llamada proviene de una de tus aplicaciones registradas. No impide que los usuarios usen la app de formas no deseadas (por ejemplo, iniciar los flujos de acceso y nunca finalizarlos para generar SMS enviados).

En este momento, los números transferidos entre operadores provocarán que todos los SMS no se puedan entregar a esos usuarios finales. No hay una solución alternativa y Firebase está trabajando en este problema.

Sigue los pasos para solucionar problemas que aparecen en estas Preguntas frecuentes si recibes el siguiente error:

GoogleFragment: Google sign in failed
    com.google.android.gms.common.api.ApiException: 13: Unable to get token.
        at
com.google.android.gms.internal.auth-api.zbay.getSignInCredentialFromIntent(com.google.android.gms:play-services-auth@@20.3.0:6)
  1. Asegúrate de que el Acceso con Google esté habilitado de forma correcta como proveedor de autenticación:

    1. En Firebase console, abre la sección Authentication.

    2. En la pestaña Método de acceso, inhabilita y vuelve a habilitar el método de acceso de Google (incluso si ya está habilitado):

      1. Abre el método de acceso de Google, inhabilítalo y haz clic en Guardar.

      2. Vuelve a abrir el método de acceso de Google, habilítalo y haz clic en Guardar.

  2. Asegúrate de que tu app use su archivo de configuración de Firebase actualizado (google-services.json).
    Obtén el archivo de configuración de tu app.

  3. Revisa si aún recibes el error. Si es así, continúa con el siguiente paso para solucionar el problema.

  4. Asegúrate de que estén presentes los clientes de OAuth 2.0 subyacentes necesarios.

    1. En la página Credenciales de la consola de Google Cloud, revisa la sección IDs de cliente de OAuth 2.0.

    2. Si los clientes de OAuth 2.0 no están presentes (y ya completaste todos los pasos anteriores de solución de problemas), comunícate con el equipo de asistencia.

Sigue los pasos para solucionar problemas que aparecen en estas Preguntas frecuentes si recibes el siguiente error:

You must specify |clientID| in |GIDConfiguration|
  1. Asegúrate de que el Acceso con Google esté habilitado de forma correcta como proveedor de autenticación:

    1. En Firebase console, abre la sección Authentication.

    2. En la pestaña Método de acceso, inhabilita y vuelve a habilitar el método de acceso de Google (incluso si ya está habilitado):

      1. Abre el método de acceso de Google, inhabilítalo y haz clic en Guardar.

      2. Vuelve a abrir el método de acceso de Google, habilítalo y haz clic en Guardar.

  2. Asegúrate de que tu app use su archivo de configuración de Firebase actualizado (GoogleService-Info.plist).
    Obtén el archivo de configuración de tu app.

  3. Revisa si aún recibes el error. Si es así, continúa con el siguiente paso para solucionar el problema.

  4. Asegúrate de que estén presentes los clientes de OAuth 2.0 subyacentes necesarios.

    1. En la página Credenciales de la consola de Google Cloud, revisa la sección IDs de cliente de OAuth 2.0.

    2. Si los clientes de OAuth 2.0 no están presentes (y ya completaste todos los pasos anteriores de solución de problemas), comunícate con el equipo de asistencia.

Sigue los pasos para solucionar problemas que aparecen en estas Preguntas frecuentes si recibes el siguiente error:

AuthErrorCode.INVALID_OAUTH_CLIENT_ID
  1. Asegúrate de que el Acceso con Google esté habilitado de forma correcta como proveedor de autenticación:

    1. En Firebase console, abre la sección Authentication.

    2. En la pestaña Método de acceso, inhabilita y vuelve a habilitar el método de acceso de Google (incluso si ya está habilitado):

      1. Abre el método de acceso de Google, inhabilítalo y haz clic en Guardar.

      2. Vuelve a abrir el método de acceso de Google, habilítalo y haz clic en Guardar.

  2. Además, en la configuración del proveedor de acceso de Google de la sección Authentication, asegúrate de que el ID y el secreto de cliente de OAuth coincidan con el cliente web que se muestra en la página Credenciales de la consola de Google Cloud (consulta la sección IDs de cliente de OAuth 2.0).

Sigue los pasos para solucionar problemas que aparecen en estas Preguntas frecuentes si recibes el siguiente error:

This domain YOUR_REDIRECT_DOMAIN is not authorized to run this operation.

Es probable que este error se deba a que tu dominio de redireccionamiento no aparece como un dominio autorizado para Firebase Authentication, o a que la clave de API que usas con el servicio de Firebase Authentication no es válida.

Primero, asegúrate de que YOUR_REDIRECT_DOMAIN esté en la lista de dominios autorizados de tu proyecto de Firebase. Si tu dominio de redireccionamiento ya aparece en la lista, sigue los pasos para solucionar problemas relacionados con una clave de API no válida.

De forma predeterminada, el SDK de Firebase Authentication JS se basa en la clave de API de tu proyecto de Firebase que está etiquetada como Browser key y la usa para verificar que una URL de redireccionamiento de acceso sea válida según la lista de dominios autorizados. Authentication obtiene esta clave de API según la forma en que accedas al SDK de Authentication:

  • Si usas los auxiliares de Auth proporcionados por Hosting para que los usuarios accedan con el SDK de Authentication JS, Firebase obtiene automáticamente tu clave de API con el resto de la configuración de Firebase cada vez que realizas una implementación en Firebase Hosting. Asegúrate de que el authDomain de tu app web firebaseConfig esté configurado correctamente para usar uno de los dominios de ese sitio de Hosting. Para verificarlo, puedes ir a https://authDomain__/firebase/init.json y comprobar que projectId coincida con el de firebaseConfig.

  • Si autoalojas el código de acceso, puedes usar un archivo __/firebase/init.json para proporcionar la configuración de Firebase al auxiliar de redireccionamiento del SDK de Authentication JS autoalojado. La clave de API y el projectId que se enumeran en este archivo de configuración deben coincidir con tu firebaseConfig de la app web.

Asegúrate de que no se haya borrado esta clave de API: Ve al panel APIs y servicios > Credenciales de la consola de Google Cloud, en el que se enumeran todas las claves de API de tu proyecto.

  • Si no se borró Browser key, verifica lo siguiente:

    • Asegúrate de que la API de Firebase Authentication esté en la lista de APIs permitidas para que la clave pueda acceder (obtén más información sobre las restricciones de API para claves de API).

    • Si autoalojas el código de acceso, asegúrate de que la clave de API que aparece en el archivo __/firebase/init.json coincida con la clave de API de la consola de Cloud. Corrige la clave en el archivo, si es necesario, y vuelve a implementar la app.

    • Si se borró Browser key, puedes hacer que Firebase genere una clave de API nueva: En Firebase console, ve a > Configuración del proyecto y, luego, en la sección Tus apps, haz clic en tu app web. Esta acción crea automáticamente una clave de API que puedes ver en la sección Configuración del SDK de tu app web.

    Ten en cuenta que, en la consola de Cloud, esta nueva clave de API no se llamará Browser key, sino que tendrá el mismo nombre que el sobrenombre de tu app web de Firebase. Si decides agregar restricciones de API a esta clave de API nueva, asegúrate de que la API de Firebase Authentication esté en la lista de APIs permitidas.

    Una vez que crees tu nueva clave de API, completa los pasos correspondientes a continuación:

    • Si usas URLs de Hosting reservadas, vuelve a implementar tu app en Firebase para que pueda obtener automáticamente la clave de API nueva con el resto de la configuración de Firebase.

    • Si autoalojas el código de acceso, copia la nueva clave de API y agrégala a tu archivo __/firebase/init.json. Luego, vuelve a implementar la app.

  1. Abre la página Credenciales de la consola de Google Cloud.

  2. En la parte superior de la página, selecciona Crear credenciales > ID de cliente de OAuth.

  3. Si se te solicita que configures la pantalla de consentimiento, sigue las instrucciones en pantalla y, luego, continúa con los siguientes pasos de estas Preguntas frecuentes.

  4. Crea el cliente web de OAuth:

    1. En Tipo de aplicación, selecciona Aplicación web.

    2. En Orígenes autorizados de JavaScript, agrega lo siguiente:

      • http://localhost
      • http://localhost:5000
      • https://PROJECT_ID.firebaseapp.com
      • https://PROJECT_ID.web.app
    3. Para los URIs de redireccionamiento autorizados, agrega lo siguiente:

      • https://PROJECT_ID.firebaseapp.com/__/auth/handler
      • https://PROJECT_ID.web.app/__/auth/handler
    4. Guarda el cliente de OAuth.

  5. Copia el nuevo ID de cliente y el secreto de cliente de OAuth en el portapapeles.

  6. En Firebase console, abre la sección Authentication.

  7. En la pestaña Método de acceso, abre el proveedor de Acceso con Google y pega el ID de cliente y el secreto del servidor web que acabas de crear y copiar de la consola de Google Cloud. Haga clic en Guardar.

Antes de diciembre de 2022, %APP_NAME% de la plantilla de correo electrónico se completaba con el nombre de la marca de OAuth que se aprovisionaba automáticamente cada vez que se registraba una app para Android en el proyecto de Firebase. Ahora, como la marca de OAuth se aprovisiona solo cuando el Acceso con Google está habilitado, lo siguiente describe cómo se determina %APP_NAME%:

  • Si el nombre de la marca de OAuth está disponible, %APP_NAME% en la plantilla de correo electrónico será el nombre de la marca de OAuth (igual que el comportamiento anterior a diciembre de 2022).

  • Si el nombre de marca de OAuth no está disponible, así es como se determina %APP_NAME% en la plantilla de correo electrónico:

    • En el caso de las apps web, %APP_NAME% será el nombre del sitio predeterminado de Firebase Hosting (el valor anterior a .firebaseapp.com y .web.app, que suele ser el ID del proyecto de Firebase).

    • En apps para dispositivos móviles:

      • Si el nombre del paquete de Android o el ID del paquete de iOS están presentes en la solicitud, %APP_NAME% será el nombre de la app que se usará en Play Store o App Store (respectivamente).

      • De lo contrario, %APP_NAME% será el nombre del sitio predeterminado de Firebase Hosting (el valor anterior a .firebaseapp.com y .web.app, que suele ser el ID del proyecto de Firebase).

    Ten en cuenta que, si falla la búsqueda del nombre del sitio predeterminado de Firebase Hosting, el resguardo final es usar el ID del proyecto de Firebase como %APP_NAME%.



Cloud Functions

Asistencia para el entorno de ejecución de Cloud Functions

  1. Asegúrate de tener el plan de precios Blaze.
  2. Asegúrate de usar la versión más reciente de Firebase CLI.
  3. Actualiza el campo engines en el archivo package.json de tus funciones.
  4. De manera opcional, prueba los cambios con Firebase Local Emulator Suite.
  5. Vuelve a implementar todas las funciones.

En Firebase console, ve al panel de funciones, selecciona una función y consulta su lenguaje de la función en Detalles adicionales.

Sí. Debido a que las extensiones usan Cloud Functions, el entorno de ejecución de las extensiones debe actualizarse en el mismo cronograma que Cloud Functions.

Te recomendamos que actualices de forma periódica a la versión más reciente de cada extensión instalada en tu proyecto. Puedes actualizar las extensiones de tus proyectos a través de Firebase console o Firebase CLI.

Precios de Cloud Functions

Cloud Functions for Firebase depende de algunos servicios pagados de Google. Las nuevas implementaciones de funciones con Firebase CLI 11.2.0 y versiones posteriores dependen de Cloud Build y Artifact Registry. Las implementaciones con versiones anteriores usan Cloud Build de la misma manera, pero dependen de Container Registry y Cloud Storage para el almacenamiento en lugar de Artifact Registry. El uso de estos servicios se facturará y sumará al precio existente.

Espacio de almacenamiento para Firebase CLI 11.2.0 y versiones más recientes

Artifact Registry proporciona los contenedores en los que se ejecutan las funciones. Artifact Registry proporciona los primeros 500 MB sin costo, por lo que es posible que las primeras implementaciones de funciones no generen cargos. Por encima de ese límite, cada GB de almacenamiento adicional se factura a $0.10 por mes.

Espacio de almacenamiento para Firebase CLI 11.1.x y versiones anteriores

Para las funciones implementadas en versiones anteriores, Container Registry, proporciona los contenedores en los que se ejecutan las funciones. Se te facturará por cada contenedor necesario para implementar una función. Es posible que observes pequeños cargos por cada contenedor almacenado, por ejemplo, 1 GB de almacenamiento se factura a $0.026 por mes.

Para obtener más información sobre cómo puede cambiar tu factura, consulta las siguientes secciones:

Sí. En el plan Blaze, Cloud Functions proporciona un nivel sin costo para las invocaciones, el tiempo de procesamiento y el tráfico de Internet. Se proporcionan sin costo los primeros 2,000,000 de invocaciones, 400,000 GB segundo, 200,000 CPU segundo y 5 GB de tráfico de salida de Internet cada mes. Solo se te cobrará por el uso que supere esos umbrales.

Después de los primeros 500 MB de almacenamiento sin costo, cada operación de implementación generará cargos a pequeña escala por el espacio de almacenamiento que se usa para el contenedor de la función. Si tu proceso de desarrollo depende de la implementación de funciones para realizar pruebas, puedes minimizar aún más los costos; para ello, usa Firebase Local Emulator Suite durante el desarrollo.

Consulta los ejemplos de planes de precios de Firebase y de precios de Cloud Functions.

No. No hay planes para cambiar las cuotas, excepto la eliminación de un límite de tiempo de compilación máximo. En lugar de recibir errores o advertencias cuando se alcanza la cuota diaria de compilación de 120 minutos, se te facturará según los términos del plan de precios Blaze. Consulta Cuotas y límites.

Sí, puedes crear una cuenta de Cloud Billing en la consola de Google Cloud para obtener el crédito de $300 y, luego, vincular la cuenta de Cloud Billing a un proyecto de Firebase

Obtén más información sobre el crédito de Google Cloud aquí.

Ten en cuenta que, si haces esto, deberás configurar el plan de precios Blaze en Firebase console para que tu proyecto siga funcionando después de que se agote el crédito de $300.

No, lo sentimos. Puedes usar el emulador de Firebase para desarrollar sin tener una cuenta de Cloud Billing. Como alternativa, puedes solicitar una prueba gratuita de Google Cloud. Si aún tienes problemas para pagar tu factura debido a este cambio, comunícate con el equipo de asistencia de Firebase.

Puedes configurar alertas de presupuesto en la consola de Google Cloud para controlar los costos. Además, puedes establecer límites en la cantidad de instancias facturadas creadas para cada una de las funciones. Para tener una idea de los costos típicos, consulta los ejemplos de Precios de Cloud Functions.

Consulta el panel Uso y facturación en Firebase console.

Sí. Debido a que las extensiones usan Cloud Functions, estarán sujetas a los mismos cargos que otras funciones.

Para usar extensiones, deberás actualizar al plan de precios Blaze. Se te cobrará un pequeño importe (generalmente, alrededor de $0.01 al mes) por los recursos de Firebase que requiera cada extensión que instales (incluso si no se usan), además de los cargos asociados al uso de los servicios de Firebase.



Cloud Messaging

Firebase Cloud Messaging proporciona un conjunto completo de funciones de mensajería a través de los SDK cliente y los protocolos de servidor HTTP y XMPP. FCM es la mejor opción para las implementaciones que tienen requisitos de mensajería más complejos.

El Compositor de Notifications es una solución liviana de mensajería sin servidores creada a partir de Firebase Cloud Messaging. Gracias a su consola gráfica fácil de usar y sus requisitos de codificación reducidos, el Compositor de Notifications permite que los usuarios envíen mensajes fácilmente para volver a atraer y retener a los usuarios, fomentar el crecimiento de la app y apoyar las campañas de marketing.

Funciones Compositor de Notifications Cloud Messaging
Target Dispositivo único
Clientes suscritos a temas (por ejemplo, clima)
Clientes en un segmento de usuario predefinido (app, versión, idioma)
Clientes en públicos específicos de Analytics
Clientes en grupos de dispositivos
Ascendente, desde el cliente al servidor
Tipo de mensaje      Notificaciones de hasta 2 KB
Mensajes de datos de hasta 4 KB
Entrega Inmediato
Hora local del dispositivo cliente en el futuro
Analytics Recopilación de estadísticas integradas en Notifications y estadísticas de embudo

No. Firebase Cloud Messaging se cambió al protocolo APNS basado en HTTP/2 en 2017. Si usas FCM para enviar notificaciones a dispositivos iOS, no debes hacer nada.

Puedes usar Firebase Cloud Messaging como un componente independiente, de la misma manera que lo hiciste con GCM, sin usar otros servicios de Firebase.

FCM es la nueva versión de GCM con la marca de Firebase. Hereda la infraestructura principal de GCM, con los nuevos SDK para facilitar el desarrollo de Cloud Messaging.

Los beneficios de la actualización al SDK de FCM incluyen lo siguiente:

  • Desarrollo de cliente más simple. Ya no tienes que escribir tu propia lógica de reintento de registro o suscripción.
  • Una solución de notificación lista para usar. Puedes usar el Compositor de Notifications, una solución de notificaciones sin servidores con una consola web que les permite a todos los usuarios enviar notificaciones segmentadas a públicos específicos, según las estadísticas de Google Analytics.

Si quieres actualizar de los SDK de GCM a los SDK de FCM, consulta las guías de migración de apps para Android y, además, iOS.

Si parece que los dispositivos no reciben mensajes correctamente, lo primero que debes hacer es verificar si se debe a alguno de estos dos motivos:

Administración de mensajes de notificación en primer plano. Las apps cliente deben agregar lógica de administración de mensajes para gestionar notificaciones cuando la app se encuentra en el primer plano en el dispositivo. Consulta los detalles para iOS y Android.

Restricciones de firewall de la red. Si tu organización tiene un firewall que restringe el tráfico hacia Internet y desde Internet, debes configurarlo para permitir la conectividad con FCM y que las apps cliente de Firebase Cloud Messaging puedan recibir mensajes. Los puertos que se deben abrir son:

  • 5228
  • 5229
  • 5230

Por lo general, FCM usa el puerto 5228, pero a veces usa los puertos 5229 y 5230. FCM no proporciona IP específicas, por lo que debes permitir que tu firewall acepte conexiones salientes a todas las direcciones IP contenidas en los bloques de IP que aparecen en el ASN de 15169 de Google.

Cuando la app está en segundo plano, los mensajes de notificación se muestran en la bandeja del sistema y no se llama a onMessageReceived. En el caso de los mensajes de notificación que tienen una carga útil de datos, estos se muestran en la bandeja del sistema. Además, los datos incluidos en estos mensajes se pueden recuperar del intent que se lanza cuando el usuario presiona la notificación.

Para obtener más información, consulta Recibe y maneja mensajes.

El Compositor de Notifications es una solución liviana de mensajería sin servidores creada a partir de Firebase Cloud Messaging. Gracias a su consola gráfica fácil de usar y sus requisitos de codificación reducidos, el Compositor de Notifications permite que los usuarios envíen mensajes fácilmente para volver a atraer y retener a los usuarios, fomentar el crecimiento de la app y apoyar las campañas de marketing.

Firebase Cloud Messaging proporciona un conjunto completo de funciones de mensajería a través de los SDK cliente y los protocolos de servidor HTTP y XMPP. FCM es la mejor opción para las implementaciones que tienen requisitos de mensajería más complejos.

A continuación, te mostramos una comparación de las funciones de mensajería que proporcionan Firebase Cloud Messaging y el Compositor de Notifications:

Funciones Compositor de Notifications Cloud Messaging
Target Dispositivo único
Clientes suscritos a temas (por ejemplo, clima)
Clientes en un segmento de usuario predefinido (app, versión, idioma)
Clientes en públicos específicos de Analytics
Clientes en grupos de dispositivos
Ascendente, desde el cliente al servidor
Tipo de mensaje      Notificaciones de hasta 2 KB
Mensajes de datos de hasta 4 KB
Entrega Inmediato
Hora local del dispositivo cliente en el futuro
Analytics Recopilación de estadísticas integradas en Notifications y análisis de embudo

El Compositor de Notifications es una solución lista para usar que le permite a cualquier usuario enviar notificaciones a segmentos de públicos específicos según las estadísticas de Google Analytics. Además, el Compositor de Notifications proporciona un análisis de embudo de cada mensaje, lo que permite evaluar la eficacia de las notificaciones con facilidad.

Si eres un desarrollador que usa GCM y deseas usar el Compositor de Notifications, debes actualizar de los SDK de GCM a los de FCM. Consulta las guías de migración de apps para Android y iOS.

Funciones de FCM que dejaron de estar disponibles en junio de 2023

Los siguientes SDKs/APIs se verán afectados por la baja:

APIs del servidor

Nombre de la API Extremo de API Impacto en los usuarios Acción obligatoria
Protocolo HTTP heredado https://fcm.googleapis.com/fcm/send Las solicitudes para el extremo comenzarán a fallar después del 21 de junio de 2024. Migración a la API de HTTP v1.
Protocolo XMPP heredado fcm-xmpp.googleapis.com:5235 Las solicitudes para el extremo comenzarán a fallar después del 21 de junio de 2024. Migración a la API de HTTP v1.
APIs del servidor de ID de instancia https://iid.googleapis.com/v1/web/iid Las solicitudes para el extremo comenzarán a fallar después del 21 de junio de 2024. Usa el SDK de Web JS para crear registros web de FCM.
https://iid.googleapis.com/iid/* Los extremos seguirán funcionando, pero no admitirán la autenticación mediante claves de servidor estáticas después del 21/06/2024. Usa un token de acceso de OAuth 2.0 derivado de una cuenta de servicio.
API de administración de grupos de dispositivos https://fcm.googleapis.com/fcm/notification El extremo seguirá funcionando, pero no admitirá la autenticación con claves de servidor estáticas después del 21/6/2024. Usa un token de acceso de OAuth 2.0 derivado de una cuenta de servicio.
Mensajería ascendente mediante XMPP fcm-xmpp.googleapis.com:5235 Las llamadas de la API a FirebaseMessaging.send en la app no activarán mensajes ascendentes al servidor de apps después del 21 de junio de 2024. Implementa esta funcionalidad en la lógica del servidor. Por ejemplo, algunos desarrolladores implementan su propio extremo HTTP/gRPC y llaman al extremo directamente para enviar mensajes de sus clientes al servidor de apps. Consulta esta Guía de inicio rápido de gRPC para ver una implementación de ejemplo de mensajería ascendente mediante gRPC.
API de envío por lotes https://fcm.googleapis.com/batch Las solicitudes para el extremo comenzarán a fallar después del 21 de junio de 2024. Migra al método de envío estándar de la API de HTTP v1, que admite HTTP/2 para multiplexación.

APIs del SDK de Firebase Admin

Nombre de la API Lenguaje de la API Impacto en los usuarios Acción obligatoria
sendToDevice() Node.js La API dejará de funcionar después del 21 de junio de 2024 porque llama a la API de envío HTTP heredada. Usa el método send() .
sendToDeviceGroup() Node.js La API dejará de funcionar después del 21 de junio de 2024 porque llama a la API de envío HTTP heredada. Usa el método send() .
sendToTopic() Node.js La API dejará de funcionar después del 21 de junio de 2024 porque llama a la API de envío HTTP heredada. Usa el método send() .
sendToCondition() Node.js La API dejará de funcionar después del 21 de junio de 2024 porque llama a la API de envío HTTP heredada. Usa el método send() .
sendAll()/sendAllAsync()/send_all()/sendMulticast()/SendMulticastAsync()/send_multicast() Node.js, Java, Python, Go y C# Estas API dejarán de funcionar después del 21 de junio de 2024 porque llaman a la API de envío por lotes. Actualiza al SDK de Firebase Admin más reciente y usa las nuevas API: sendEach()/ sendEachAsync()/send_each()/sendEachForMulticast()/sendEachForMulticastAsync()/ send_each_for_multicast().

Ten en cuenta que las APIs nuevas ya no llaman a la API de envío por lotes obsoleta y, por este motivo, pueden crear más conexiones HTTP simultáneas que las APIs anteriores.

SDK cliente

Versiones del SDK Impacto en los usuarios Acción obligatoria
SDKs de GCM (obsoletos en 2018) Después del 21/6/2024, las apps que usan los SDKs de GCM no podrán registrar tokens ni recibir mensajes de FCM. Actualiza el SDK de Android al SDK de Firebase más reciente si aún no lo has hecho.
Versión 7.0.0 del SDK de JS (cambio rotundo en la versión 7.0.0 de 2019) Las apps web que usan los anteriores SDKs de JS no podrán registrar tokens después del 21 de junio de 2024. Actualiza el SDK web de Firebase a la versión más reciente.

No. Tienes 12 meses (del 20/06/2023 al 21/06/2024) para migrar de las anteriores APIs a las nuevas APIs sin ningún cambio a una versión inferior del servicio. Te recomendamos que planifiques la migración lo antes posible para que no te veas afectado por el retiro de servicio de las APIs en junio de 2024.

Después de junio de 2024, es posible que veas un aumento en los errores o falta de funcionalidad cuando uses las APIs o los SDK mencionados anteriormente (consulta la siguiente pregunta frecuente para obtener más información).

FCM comenzará una baja gradual de las APIs obsoletas aproximadamente el 22 de julio de 2024. Después de esta fecha, los servicios obsoletos estarán sujetos a un proceso de “parpadeo” en el que una cantidad cada vez mayor de solicitudes mostrará respuestas de error. Durante el período de reducción gradual, es posible que el siguiente comportamiento y las respuestas de error aumenten de frecuencia con el tiempo:

Categoría Próximos pasos
Protocolo HTTP heredado Las solicitudes se rechazan con el código HTTP 301.
Protocolo XMPP heredado Las solicitudes se rechazan con el código de error 302.
Upstream de FCM El backend de FCM descarta mensajes de forma silenciosa.
API de envío por lotes Las solicitudes se rechazan con el código de error UNIMPLEMENTED y el mensaje de error "La API está obsoleta".
SDK de GCM: Registra tokens Las solicitudes se rechazan con el código HTTP 301.
SDK de GCM: Envía mensajes Las solicitudes se rechazan con el código de error 400 y el mensaje de error "El token de V3 dejó de estar disponible".
Versión 7.0.0 del SDK de JS Las solicitudes se rechazan con el código HTTP 501.
Usa la clave del servidor para acceder al ID de instancia y a las APIs de administración de grupos de dispositivos Las solicitudes se rechazan con el código HTTP 401.

Un token de OAuth 2.0 es un token de corta duración que se deriva de una cuenta de servicio. Es el modelo de autenticación estándar de Google y es más seguro que las claves estáticas del servidor.

Consulta Usa credenciales para crear tokens de acceso a fin de obtener orientación sobre el uso de la biblioteca de Google Auth para obtener tokens.

Ten en cuenta que los encabezados de la solicitud son distintos cuando usas tokens de OAuth 2.0 para realizar solicitudes a diferentes extremos.

  • API de HTTP v1: Authorization: Bearer $oauth_token
  • API de servidor de Instance ID y API de administración de grupos de dispositivos: Authorization: Bearer $oauth_token
    access_token_auth: true

Recomendamos que envíes el tráfico lentamente hacia la nueva API. Si esperas enviar más de 600,000 mensajes por minuto de forma habitual, comunícate con el equipo de asistencia de Firebase para obtener instrucciones sobre cómo aumentar la cuota o recibir recomendaciones sobre cómo distribuir el tráfico.

Temas: No necesitas agregar el prefijo "/topics/" a tu segmentación por tema cuando usas la API v1.

Grupos de dispositivos: Puedes usar un token de grupo como destino del token en la API de HTTP v1. Sin embargo, la API de HTTP v1 no muestra los recuentos de éxito/falla en la respuesta. Te recomendamos que uses temas de FCM o que administres los grupos de dispositivos por tu cuenta.

No. Esta función llamada "multicast" en las API de HTTP heredadas no es compatible con la API de HTTP v1, que está mejor diseñada para la escalabilidad.

Para los casos de uso en los que la latencia de extremo a extremo es fundamental o en los que el tamaño de fan-out total es pequeño (menos de 1 millón), Google recomienda enviar múltiples solicitudes separadas con la API de HTTP v1. La API de HTTP v1 a través de HTTP/2 funciona de manera similar para el 99.9% de las solicitudes de multidifusión (que envía menos de 100 tokens). En los casos de uso atípicos (enviar 1,000 tokens), logra hasta un tercio de la tasa de capacidad de procesamiento, por lo que se necesita simultaneidad adicional para optimizar este caso de uso atípico. Los usuarios pueden experimentar más confiabilidad y disponibilidad con la API de HTTP v1 que con multicast heredado.

Para los casos de uso en los que se priorizan la capacidad de procesamiento y el ancho de banda de salida o cuando el tamaño total de la distribución es grande (más de 1 millón), Google recomienda la mensajería por temas. Si bien la mensajería por temas requiere una acción única para suscribir los destinatarios a un tema, ofrece hasta 10,000 QPS por tasa de distribución de proyectos, sin un límite máximo con relación al tamaño del tema.

Plataforma Versión del SDK de Firebase Admin
Node.js >=11.7.0
Python >=6.2.0
Java >=9.2.0
Go >=4.12.0
.NET >=2.4.0

La API de envío por lotes de FCM usa el mismo formato de mensaje y mecanismo de autenticación que la API de HTTP v1. Sin embargo, usa un extremo diferente. Si deseas mejorar la eficiencia, considera usar HTTP/2 para enviar varias solicitudes a la API de HTTP v1 a través de la misma conexión HTTP.

Comunícate con el equipo de asistencia al cliente de Google Cloud para obtener ayuda.

No. A partir del 20/5/2024, los proyectos nuevos ya no podrán habilitar nuestras APIs heredadas.

Una vez que te asegures de haber migrado por completo a la API de HTTP v1, puedes inhabilitar la API de Cloud Messaging heredada (es posible que la página no se cargue si la API ya se inhabilitó).

Cuotas y límites de FCM

Lamentablemente, no se admite este caso de uso. Debes distribuir el tráfico en un período de 5 minutos.

Lamentablemente, no podemos otorgar aumentos de cuota por este motivo. Debes distribuir el tráfico en un período de 5 minutos.

Te recomendamos que comiences a enviar las notificaciones al menos 5 minutos antes del evento.

Esto depende un poco de cómo uses FCM. En cualquier caso, recibirás una respuesta en unos días hábiles. En algunos casos, es posible que haya algunos intercambios sobre el uso de FCM y varias circunstancias, lo que puede prolongar el proceso. Si se cumplen todos los requisitos, la mayoría de las solicitudes se procesarán en un plazo de 2 semanas.

Consulta la guía de Google Cloud para crear gráficos y supervisar las métricas de cuota.

Si bien comprendemos que los límites de cuota pueden ser un desafío, las cuotas son fundamentales para mantener la confiabilidad del servicio y no podemos otorgar exenciones.

Puedes solicitar una cuota adicional para admitir un evento que dure hasta 1 mes. Envía la solicitud con al menos 1 mes de anticipación al evento y con detalles claros sobre cuándo comienza y termina, y FCM hará todo lo posible para completar la solicitud (no se puede garantizar un aumento). Estos aumentos de cuota se revertirán después de la fecha de finalización del evento.

Si bien Google no lo hará a la ligera, las cuotas se pueden cambiar según sea necesario para proteger la integridad del sistema. Cuando sea posible, Google te notificará con anticipación sobre estos cambios.



Cloud Storage for Firebase

Ve a la documentación de Cloud Storage para obtener más información sobre los cambios en el bucket predeterminado de Cloud Storage.

Cloud Storage for Firebase crea un bucket predeterminado en el nivel sin costo de App Engine. Esto te permite comenzar a utilizar Firebase y Cloud Storage for Firebase rápidamente, sin necesidad de ingresar una tarjeta de crédito ni habilitar una cuenta de Cloud Billing. También te permite compartir datos fácilmente entre Firebase y un proyecto de Google Cloud.

Sin embargo, hay dos casos conocidos en los que este bucket no se puede crear y no es posible usar Cloud Storage for Firebase:

  • Un proyecto importado desde Google Cloud que tenía una aplicación Datastore maestro/esclavo de App Engine.
  • Un proyecto importado desde Google Cloud que tiene proyectos con prefijos de dominio. Por ejemplo: domain.com:project-1234.

Por el momento, no existen soluciones alternativas para estos problemas. Te recomendamos que crees un proyecto nuevo en Firebase console y habilites Cloud Storage for Firebase en ese proyecto.

Es probable que recibas códigos de error 412 porque la API de Cloud Storage for Firebase no está habilitada en tu proyecto o porque la cuenta de servicio necesaria no tiene los permisos necesarios.

Consulta las Preguntas frecuentes relacionadas.

En el caso de los proyectos del plan sin costo (Spark), Firebase bloquea las cargas y el hosting de ciertos tipos de archivos ejecutables en Windows, Android y Apple de Cloud Storage for Firebase y Firebase Hosting. Esta política existe para evitar abusos en nuestra plataforma.

La entrega, el alojamiento y las cargas de archivos no permitidos se bloquean para todos los proyectos de Spark creados a partir del 28 de septiembre de 2023. En el caso de los proyectos de Spark existentes con archivos subidos antes de esa fecha, aún se pueden subir y alojar esos archivos.

Esta restricción se aplica a los proyectos del plan Spark. Los proyectos del plan de pago por uso (Blaze) no se ven afectados.

Los siguientes tipos de archivos no se pueden alojar en Firebase Hosting ni Cloud Storage for Firebase:

  • Archivos de Windows con extensiones .exe, .dll y .bat
  • Archivos para Android con extensión .apk
  • Archivos de la plataforma de Apple con extensión .ipa

¿Qué debo hacer?

Si aún quieres alojar estos tipos de archivos después del 28 de septiembre de 2023, sigue estos pasos:

  • En Hosting, actualiza al plan Blaze para poder implementar estos tipos de archivos en Firebase Hosting a través del comando firebase deploy.
  • Para Storage, actualiza al plan Blaze y sube estos tipos de archivos al bucket que elijas con la CLI de GCS, Firebase console o la consola de Google Cloud.

Usa las herramientas de Firebase para administrar tus recursos de Firebase Hosting y Cloud Storage.

  • Para administrar recursos en Firebase Hosting, usa Firebase console para borrar versiones de acuerdo con esta guía.
  • Para administrar recursos en Cloud Storage, navega a la página del producto de Storage en tu proyecto.
    1. En la pestaña Archivos, ubica los archivos no permitidos que deseas borrar en la jerarquía de carpetas y, luego, selecciónalos mediante la casilla de verificación junto a los nombres de archivo en el lado izquierdo del panel.
    2. Haz clic en Borrar y confirma que se borraron los archivos.

Consulta nuestra documentación a fin de obtener información adicional sobre la administración de recursos de Hosting con herramientas de Firebase y buckets de Cloud Storage para Firebase con bibliotecas cliente.

Antes, las solicitudes de descarga y carga a la API de Cloud Storage for Firebase no se registraban correctamente. A partir del 15 de septiembre de 2023, tomamos medidas para solucionar este problema.

En el caso de los usuarios de Blaze, las operaciones de carga y descarga comenzarán a contabilizarse en tu factura mensual. En el caso de los usuarios de Spark, comenzarán a contarse para el límite mensual gratuito.

Te recomendamos que supervises la página Uso a fin de detectar cualquier aumento que pueda considerarse para tus límites.

Firebase usa cuentas de servicio para operar y administrar servicios sin compartir credenciales de usuario. Cuando crees un proyecto de Firebase, podrías observar que varias cuentas de servicio ya están disponibles en tu proyecto.

La cuenta de servicio que usa Cloud Storage for Firebase se limita a tu proyecto y se llama
service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com.

Si usaste Cloud Storage for Firebase antes del 19 de septiembre de 2022, es posible que veas una cuenta de servicio adicional en los buckets de Cloud Storage vinculados previamente con el nombre firebase-storage@system.gserviceaccount.com. Desde el 19 de septiembre de 2022, esta cuenta de servicio ya no es compatible.

Puedes ver todas las cuentas de servicio asociadas con tu proyecto en Firebase console, en la pestaña Cuentas de servicio.

Cómo agregar la cuenta de servicio nueva

Si quitaste la cuenta de servicio anteriormente o la cuenta de servicio no está presente en tu proyecto, puedes realizar una de las siguientes acciones para agregar la cuenta.

  • (Recomendado) Automático: Usa el extremo de REST AddFirebase para volver a importar tu bucket a Firebase. Solo necesitarás llamar a este extremo una vez, no una vez para cada bucket vinculado.
  • Manual: Sigue los pasos que se indican en Crea y administra cuentas de servicio. Con esa guía, agrega una cuenta de servicio con el rol de IAM Cloud Storage for Firebase Service Agent y el nombre de la cuenta de servicio
    service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com.
Cómo quitar la cuenta de servicio nueva

No recomendamos que quites la cuenta de servicio, ya que esto podría bloquear el acceso a los buckets de Cloud Storage de tus apps. Para quitar la cuenta de servicio de tu proyecto, sigue las instrucciones en Inhabilita una cuenta de servicio.

Precios de Cloud Storage for Firebase

Ve a la documentación de Cloud Storage para obtener más información sobre los cambios en los requisitos de los planes de precios de Cloud Storage.

Visita la página de precios de Firebase y usa la calculadora del plan Blaze. La calculadora enumera todos los tipos de uso de Cloud Storage for Firebase.

Usa los controles deslizantes para ingresar el uso esperado de tu bucket de Storage. La calculadora estimará tu factura mensual.

Cuando superas los límites de Cloud Storage en un proyecto del plan Spark, el resultado depende del tipo de límite que superas:

  • Si superas el límite de GB almacenados, no podrás almacenar más datos en ese proyecto, a menos que quites algunos datos almacenados o actualices a un plan que proporcione más espacio de almacenamiento o un espacio ilimitado.
  • Si superas el límite de GB descargados, tu app no podrá descargar más datos hasta el día siguiente (a partir de la medianoche, Hora del Pacífico de EE.UU.), a menos que actualices a un plan con límites menos restrictivos o sin límites.
  • Si superas el límite de operaciones de carga o descarga, la app no podrá subir ni descargar más datos hasta el día siguiente (a partir de la medianoche, Hora del Pacífico de EE.UU.), a menos que actualices a un plan con límites menos restrictivos o sin límites.



Crashlytics

Visita la página Preguntas frecuentes y solución de problemas de Crashlytics para obtener sugerencias útiles y respuestas a más preguntas frecuentes.



Consulta Preguntas frecuentes de Dynamic Links.

La API getInvitation borra el Dynamic Link guardado para evitar que se acceda dos veces a él. Asegúrate de llamar a esta API con el parámetro autoLaunchDeepLink definido como false en cada una de las actividades de vínculos directos para borrarlo por si la actividad se inicia fuera de la actividad principal.



Hosting

En el caso de los proyectos del plan sin costo (Spark), Firebase bloquea las cargas y el hosting de ciertos tipos de archivos ejecutables en Windows, Android y Apple de Cloud Storage for Firebase y Firebase Hosting. Esta política existe para evitar abusos en nuestra plataforma.

La entrega, el alojamiento y las cargas de archivos no permitidos se bloquean para todos los proyectos de Spark creados a partir del 28 de septiembre de 2023. En el caso de los proyectos de Spark existentes con archivos subidos antes de esa fecha, aún se pueden subir y alojar esos archivos.

Esta restricción se aplica a los proyectos del plan Spark. Los proyectos del plan de pago por uso (Blaze) no se ven afectados.

Los siguientes tipos de archivos no se pueden alojar en Firebase Hosting ni Cloud Storage for Firebase:

  • Archivos de Windows con extensiones .exe, .dll y .bat
  • Archivos para Android con extensión .apk
  • Archivos de la plataforma de Apple con extensión .ipa

¿Qué debo hacer?

Si aún quieres alojar estos tipos de archivos después del 28 de septiembre de 2023, sigue estos pasos:

  • En Hosting, actualiza al plan Blaze para poder implementar estos tipos de archivos en Firebase Hosting a través del comando firebase deploy.
  • Para Storage, actualiza al plan Blaze y sube estos tipos de archivos al bucket que elijas con la CLI de GCS, Firebase console o la consola de Google Cloud.

Usa las herramientas de Firebase para administrar tus recursos de Firebase Hosting y Cloud Storage.

  • Para administrar recursos en Firebase Hosting, usa Firebase console para borrar versiones de acuerdo con esta guía.
  • Para administrar recursos en Cloud Storage, navega a la página del producto de Storage en tu proyecto.
    1. En la pestaña Archivos, ubica los archivos no permitidos que deseas borrar en la jerarquía de carpetas y, luego, selecciónalos mediante la casilla de verificación junto a los nombres de archivo en el lado izquierdo del panel.
    2. Haz clic en Borrar y confirma que se borraron los archivos.

Consulta nuestra documentación a fin de obtener información adicional sobre la administración de recursos de Hosting con herramientas de Firebase y buckets de Cloud Storage para Firebase con bibliotecas cliente.

Firebase agrega automáticamente los archivos adicionales que contienen metadatos sobre el sitio de Hosting y estos archivos se incluyen en el recuento total de archivos de la versión.

Hosting tiene un límite de tamaño de 2 GB para archivos individuales.

Recomendamos almacenar archivos más grandes con Cloud Storage, que ofrece un límite de tamaño máximo en el rango de terabytes para objetos individuales.

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



Performance Monitoring

Visita la página Preguntas frecuentes y solución de problemas de Performance Monitoring para obtener sugerencias útiles y respuestas a más preguntas frecuentes.

Puedes crear hasta 400 patrones de URL personalizados por app y hasta 100 patrones de URL personalizados por dominio para esa app.

Para ver los datos de rendimiento en tiempo real, asegúrate de que tu app use una versión del SDK de Performance Monitoring que sea compatible con el procesamiento de datos en tiempo real.

  • iOS: v7.3.0 o posterior
  • tvOS: v8.9.0 o posterior
  • Android: v19.0.10 o posterior (o Firebase Android BoM v26.1.0 o posterior)
  • Web: v7.14.0 o posterior

Ten en cuenta que siempre recomendamos usar la versión más reciente del SDK, pero cualquier versión mencionada anteriormente permitirá que Performance Monitoring procese tus datos casi en tiempo real.



Realtime Database

Una conexión simultánea se refiere a un dispositivo móvil, una pestaña de navegador o una app de servidor que se conecta a la base de datos. Firebase impone límites estrictos en la cantidad de conexiones simultáneas que puede recibir la base de datos de tu app. Estos límites existen para proteger del abuso tanto a Firebase como a nuestros usuarios.

El límite del plan Spark es de 100 y no se puede aumentar. Los planes Flame y Blaze tienen un límite de 200,000 conexiones simultáneas por base de datos.

Este límite no es el mismo que la cantidad total de usuarios de la app, ya que no todos los usuarios se conectan a la vez. Si necesitas más de 200,000 conexiones simultáneas, consulta el artículo Ajusta la escala con varias bases de datos.

Cada instancia de Realtime Database tiene límites en la cantidad de operaciones de escritura por segundo. Para las escrituras pequeñas, este límite es de aproximadamente 1,000 operaciones de escritura por segundo. Si te acercas a este límite, puedes agrupar operaciones en lotes con actualizaciones de varias rutas para lograr una capacidad de procesamiento mayor.

Además, cada instancia de base de datos tiene un límite en la cantidad de conexiones de bases de datos simultáneas. Los límites predeterminados son lo suficientemente grandes para la mayoría de las aplicaciones. Si estás creando una app que necesita un ajuste de escala adicional, es posible que debas fragmentar tu aplicación en varias instancias de bases de datos para lograr una escala mayor. También te recomendamos que uses Cloud Firestore como una base de datos alternativa.

Si recibiste una alerta por correo electrónico o una notificación en Firebase console porque excediste los límites de uso de Realtime Database, puedes abordarlo según el límite de uso que excediste. Para ver tu uso de Realtime Database, ve al panel Uso de Realtime Database en Firebase console.

Si superaste el límite de descarga, puedes cambiar el plan de precios de Firebase por uno superior o esperar a que se restablezca el límite cuando comience el próximo ciclo de facturación. Para disminuir tus descargas, sigue estos pasos:

  • Agrega consultas para limitar los datos que muestran tus operaciones de escucha.
  • Comprueba si hay consultas no indexadas.
  • Agrega objetos de escucha que solo descarguen actualizaciones de los datos, por ejemplo, on() en lugar de once().
  • Usa reglas de seguridad para bloquear las descargas no autorizadas.

Si excedes el límite de almacenamiento, actualiza tu plan de precios para evitar interrupciones del servicio. Para reducir la cantidad de datos de tu base de datos, intenta los siguientes pasos:

  • Ejecuta trabajos de limpieza periódicos.
  • Reduce los datos duplicados en la base de datos.

Ten en cuenta que las eliminaciones de datos podrían tardar en reflejarse en tu asignación de almacenamiento.

Si superas el límite de conexiones simultáneas a la base de datos, actualiza tu plan para evitar interrupciones del servicio. Para administrar conexiones simultáneas a la base de datos, intenta conectar a los usuarios a través de la API de REST si no necesitan una conexión en tiempo real.

A fin de ofrecerte un precio predecible, los recursos disponibles para ti en el plan Spark tienen un límite. Esto significa que, si superas algún límite de plan durante un mes, se desactivará la app para impedir que siga usando recursos y se generen cargos adicionales.

Si tu app alcanza el límite de simultaneidad del plan Spark, se rechazarán todas las conexiones posteriores hasta que se cierre alguna de las conexiones existentes. La app seguirá funcionando para los usuarios conectados.

Las copias de seguridad automáticas son una función avanzada para los clientes del plan de precios Blaze, que crea una copia de seguridad de tus datos de Firebase Realtime Database una vez al día y la sube a Google Cloud Storage.

No ofrecemos copias de seguridad por hora.

Para nuestros cálculos de ancho de banda, normalmente incluimos los gastos de encriptación SSL (según la capa 5 del modelo OSI). Sin embargo, en septiembre de 2016, se implementó un error que provocaba que el ancho de banda informado no incluyera los gastos de encriptación. Esto puede haber provocado una baja artificial en el ancho de banda informado y en las facturas de tu cuenta durante algunos meses.

Lanzamos una corrección del error a finales de marzo de 2017 y restablecimos los niveles normales del ancho de banda informado y de la facturación.



Remote Config

A menos que recuperes los valores con fetchAndActivate(), estos se almacenan de forma local, pero no se activan. Para activarlos a fin de que tengan efecto, llama a activate. Este diseño te permite controlar cuándo cambia el comportamiento y la apariencia de la app, ya que puedes elegir cuándo llamar a activate. Después de llamar a activate, el código fuente de la app determina cuándo se usan los valores de parámetros actualizados.

Por ejemplo, podrías recuperar valores y, luego, activarlos la próxima vez que un usuario inicie tu app, por lo que ya no será necesario retrasar el inicio de la app mientras esta espera los valores recuperados desde el servicio. Luego, los cambios en el comportamiento y la apariencia de tu app se producen cuando esta usa los valores de parámetros actualizados.

Para obtener más información sobre la API de Remote Config y el modelo de uso, consulta la descripción general de la API de Remote Config.

Durante el desarrollo de la app, te recomendamos recuperar y activar la configuración con mucha frecuencia (varias veces por hora) para que puedas iterar con rapidez mientras desarrollas y pruebas tu app. A fin de permitir iteraciones rápidas en un proyecto con hasta 10 desarrolladores, puedes configurar temporalmente un objeto FirebaseRemoteConfigSettings con un intervalo de recuperación mínimo bajo (setMinimumFetchIntervalInSeconds) en la app.

Por lo general, los dispositivos reciben los valores recuperados en menos de un segundo y, a menudo, lo hacen en milisegundos. El servicio de Remote Config administra las solicitudes de recuperación en milisegundos, pero el tiempo necesario para completar una solicitud de recuperación dependerá de la velocidad de red del dispositivo y la latencia de la conexión de red que usa el dispositivo.

Si tu objetivo es que los valores recuperados tengan efecto en tu app lo antes posible, pero sin crear una experiencia del usuario complicada, considera agregar llamadas a fetchAndActivate cada vez que tu app haga una actualización en pantalla completa.



Test Lab

Visita la página de solución de problemas de Test Lab para obtener sugerencias útiles y respuestas a preguntas frecuentes.



Firebase User Segmentation Storage

Firebase User Segmentation Storage almacena IDs de instalación de Firebase y los atributos y segmentos relacionados, así como las listas de público que creaste para proporcionar información de segmentación a otros servicios de Firebase que los utilizan, como Crashlytics, FCM, la personalización de Remote Config y mucho más.