¿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
¿Qué es un proyecto 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.
¿Qué es una organización de Google Cloud?
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.
¿Cómo agrego Firebase a un proyecto existente de Google Cloud ?
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:
- Usa la consola de Firebase.
- Si usas una opción programática, haz lo siguiente:
- Llama al extremo de la API de REST de Firebase Management
projects.addFirebase
. - Ejecuta el comando
firebase projects:addfirebase
de Firebase CLI. - Usa Terraform.
- Llama al extremo de la API de REST de Firebase Management
Obtén más detalles para agregar Firebase a un proyecto de Google Cloud.
¿Cómo funciona la integración de Firebase con 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.
¿Por qué tiene mi proyecto de Google Cloud una etiqueta de
firebase:enabled
?
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).
¿Por qué mi proyecto de Firebase no aparece en mi lista de proyectos de Firebase?
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:
- Primero, intenta acceder al proyecto visitando directamente su
URL. Usa el siguiente formato:
https://console.firebase.google.com/project/PROJECT_ID/overview
- 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, unaKey
defirebase
con unValue
deenabled
). - 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.
¿Cuántos proyectos puedo tener por cuenta?
- Con el plan de precios Spark, tu cuota se limita a unos pocos proyectos (usualmente alrededor de 5 a 10).
- Plan de precios Blaze: La cuota de tu proyecto por cuenta de Cloud Billing aumenta sustancialmente, siempre y cuando tu cuenta de Cloud Billing esté en regla.
El límite de cuota de proyectos no suele ser una inquietud para la mayoría de los desarrolladores. Sin embargo, si necesitas incrementar tu cuota, puedes solicitar un aumento.
Recuerda 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.
¿Cuántas apps de Firebase puedo tener en un proyecto de la plataforma?
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.
¿Qué sucede si etiqueto mi proyecto como entorno de “producción”?
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 settings Configuración del proyecto > General. Luego, en la tarjeta Tu proyecto que se ubica en la sección Entorno, haz clic en edit para cambiar el tipo de entorno.
¿Dónde puedo encontrar el ID de mi app de Firebase?
En Firebase console, ve a settings 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
¿Cuáles son los requisitos para vincular Google Play / AdMob / Google Ads / BigQuery a mi app o proyecto de Firebase?
- 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
- Cualquiera de las siguientes funciones de Firebase: Propietario o administrador de Firebase
- 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.
¿Qué avisos de código abierto debo incluir en mi app?
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
¿Cómo puedo asignarle un rol a un miembro del proyecto (por ejemplo, el rol de propietario)?
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:
- Firebase console ofrece una manera simplificada de asignar roles a los miembros del proyecto en la pestaña Usuarios y permisos de settings > Configuración del proyecto. En Firebase console, puedes asignar cualquiera de los roles básicos (propietario, editor, visualizador), los roles de administrador o visualizador de Firebase o cualquiera de los roles predefinidos de categoría de producto de Firebase.
- La consola de Google Cloud ofrece un amplio conjunto de herramientas para asignar roles a miembros del proyecto
en la
página IAM. En la consola de Cloud, también puedes crear
y administrar
roles personalizados, y otorgar a tus cuentas de servicio
acceso al proyecto.
Ten en cuenta que, en la consola de Google Cloud, los miembros del proyecto se denominan principales.
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.
¿Cómo puedo encontrar al propietario de un proyecto de Firebase?
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.
¿Por qué o cuándo debo asignarle el rol de propietario a un miembro del proyecto?
Para garantizar la administración adecuada de un proyecto de Firebase, este debe tener un propietario. El propietario de un proyecto es la persona que puede realizar varias acciones administrativas importantes (como la asignación de roles y la administración de propiedades de Google Analytics). Además, la asistencia de Firebase solo puede completar solicitudes administrativas de propietarios de proyectos que se hayan demostrado.
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.
No recuerdo tener un proyecto de Firebase, pero recibí un correo electrónico sobre uno. ¿Cómo puedo acceder a ese proyecto?
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
¿Cuáles son los navegadores admitidos para acceder a Firebase console?
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.
¿Por qué puedo cargar Firebase console, pero no puedo encontrar mi proyecto de Firebase ni acceder a él?
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:
- Primero, intenta acceder al proyecto visitando directamente su
URL. Usa el siguiente formato:
https://console.firebase.google.com/project/PROJECT-ID/overview
- 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.
¿Por qué no se carga Firebase console?
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:
- Consulta la fila de consola del panel de estado de Firebase para ver posibles interrupciones del servicio.
- Asegúrate de usar un navegador compatible.
- Intenta cargar Firebase console en una ventana privada o de incógnito.
- Inhabilita todas las extensiones del navegador.
- Verifica que el bloqueador de anuncios, el antivirus, el proxy, el firewall o algún otro software no bloquee la conexión de red.
- Intenta cargar Firebase console con otra red o dispositivo.
- 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.
¿Cómo se determina el idioma de mi Firebase console?
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
¿Qué roles y permisos admite Firebase console?
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
¿Por qué los registros de Emulator Suite muestran un error que comienza con “No se recomienda usar múltiples projectIds en el modo de proyecto único”?
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
ofirebase use
. Para ver la lista de proyectos (y ver cuál está seleccionado), usafirebase 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
oinitializeTestApp
. Es posible que se inicialice otro código de prueba coninitializeApp(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.
¿Cuáles productos son pagados y cuáles no tienen costo?
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.
¿Firebase ofrece créditos de prueba sin costo para los productos pagados?
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.
¿Cómo elijo el plan de precios correcto para mí?
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.
¿Puedo cambiar a un plan superior o inferior, o cancelar el plan en cualquier momento?
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.
¿En qué se diferencia el uso sin costo del plan Blaze del uso sin costo del plan Spark?
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
Si cambio del plan Spark al Blaze, ¿se restablece la cuota de uso sin costo?
El plan Blaze incluye el uso sin costo del plan Spark, que no se restablece cuando cambias al plan Blaze.
¿Qué ocurre con mi proyecto de Firebase si agrego o quito cuentas de facturación para ese proyecto en la consola de Google Cloud?
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.
¿Cómo puedo supervisar mi uso y facturación?
Puedes hacer un seguimiento del uso de los recursos del proyecto en Firebase console en cualquiera de los siguientes paneles:
- Panel Uso y facturación general a nivel del proyecto
- El panel Uso de Authentication (específicamente para instancias de autenticación por teléfono)
- Panel Uso de Cloud Firestore
- Panel Uso de Cloud Functions
- Panel Uso de Cloud Storage
- Panel Uso de Hosting
- Panel Uso de Realtime Database
¿Puedo limitar el uso en el plan Blaze?
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.
¿Qué tipo de asistencia recibiré?
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.
¿Ofrecen descuentos para proyectos con fines educativos, de organizaciones sin fines de lucro o de código abierto?
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.
¿Ofrecen hosting con infraestructura dedicada, asistencia, precios o contratos para empresas?
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.
¿Ofrecen precios ad hoc? Solo quiero prepagar por una o dos funciones.
Ofrecemos precios ad hoc en el plan Blaze, en el que solo pagas por las funciones que usas.
¿Cómo funcionan los planes pagados de Firebase con Ads? ¿Los planes pagados incluyen créditos de publicidad sin costo?
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.
¿Qué sucedió con el plan de precios Flame?
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
Tengo un proyecto, proceso o modelo de negocio que se basa en un costo fijo de Firebase. ¿Qué debo hacer?
Regístrate en el plan de precios Blaze y asegúrate de configurar alertas de presupuesto.
¿Puedo recibir acceso especial para crear nuevos proyectos del plan Flame?
No, Firebase no ofrece acceso especial para cambiar o registrar proyectos en el plan Flame.
Cambié mi proyecto del plan Flame a un plan de precios diferente. ¿Cómo vuelvo a cambiarlo?
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.
Mi proyecto se cambió automáticamente a un plan de precios diferente como parte de la eliminación del plan Flame. ¿Qué debo hacer?
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.
¿Por qué se eliminará el plan Flame?
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
¿Dónde puedo encontrar información sobre privacidad y seguridad en Firebase?
Consulta la página Privacidad y seguridad en Firebase.
¿Los SDK de Firebase registran la información de uso o diagnóstico fuera de Analytics?
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
A/B Testing: ¿Cuántos experimentos puedo crear y ejecutar?
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.
A/B Testing: ¿Por qué no puedo ver mis experimentos después de desvincular y volver a vincular mi proyecto con Google Analytics?
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.
A/B Testing: ¿Por qué recibo el mensaje “Proyecto no vinculado a Google Analytics” cuando creo un experimento de Remote Config?
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 desdesettings Configuración del proyecto chevron_right Integraciones chevron_right Google Analytics chevron_right 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:
- En settings Configuración del proyecto, selecciona Integraciones.
- En la tarjeta Google Analytics, haz clic en Administrar para acceder a la configuración de Firebase y Google Analytics.
- Toma nota del ID de propiedad de Google Analytics y de la cuenta de Google Analytics vinculada.
- Haz clic en more_vert Más y selecciona Desvincular Analytics de este proyecto.
-
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. - En la tarjeta Google Analytics, haz clic en Habilitar para comenzar el proceso para volver a vincularla.
- Selecciona tu cuenta de Analytics en la lista Seleccionar cuenta.
-
Junto a Crear automáticamente una nueva propiedad en esta cuenta, haz clic en
edit 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. - Haz clic en Habilitar Google Analytics para volver a vincular la propiedad.
- 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
AdMob: ¿Puedo vincular mis apps de Windows a Firebase?
No, actualmente las apps de Windows no son compatibles.
AdMob: ¿Por qué no puedo vincular mi app a AdMob desde Firebase console?
Puedes vincular una app de AdMob a una app de Firebase a través de la consola de AdMob. Más información.
AdMob: ¿Qué permisos o accesos necesito para vincular una app de Firebase a una app de AdMob?
Para realizar esta vinculación, necesitas el siguiente acceso:
- AdMob: Debes ser administrador de AdMob.
- Firebase: Debes tener el permiso
firebase.links.create
, que se incluye en el rol de propietario y en el rol de Firebase Admin - Google Analytics: Debes tener el rol Editar o Administrar usuarios para la propiedad asociada con el proyecto de Firebase. Obtén más información.
AdMob: ¿Pueden varios usuarios de la misma cuenta de AdMob vincular apps de AdMob y de Firebase?
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.
AdMob: Para usar AdMob, ¿qué SDK debo usar?
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.
- Para proyectos de iOS:
Sigue las instrucciones de la documentación de AdMob para iOS para importar el SDK de Google Mobile Ads. - Para proyectos de Android:
Agrega la dependencia para el SDK de Google Mobile Ads a tu archivobuild.gradle
:
implementation 'com.google.android.gms:play-services-ads:23.6.0'
- Para los proyectos de C++ y los proyectos de Unity, sigue las instrucciones de la documentación respectiva.
Analytics
Analytics: ¿Por qué se recomienda usar Google Analytics con los productos de Firebase?
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.
Analytics: ¿Cómo controlo la manera en que se comparten mis datos de Analytics con el resto de Firebase?
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.
Analytics: ¿Cómo actualizo la configuración de mi propiedad de Analytics?
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:
- En Firebase console, ve a settings > Configuración del proyecto.
- Ve a la pestaña Integraciones y, luego, en la tarjeta de Google Analytics, haz clic en Administrar o Ver el vínculo.
- Haz clic en el vínculo de tu cuenta de Google Analytics para abrir la configuración de la cuenta y la propiedad.
Analytics en mi app para iOS: ¿Puedo instalar Analytics sin la atribución de anuncios y las funciones de recopilación de IDFA?
Sí. Consulta la página sobre cómo configurar la recopilación y el uso de datos para obtener más detalles.
Analytics: ¿Qué cambió en la sección de Google Analytics con la actualización de octubre de 2021?
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.
Analytics: ¿Por qué no veo los datos de Analytics en Firebase console después de desvincular Firebase de Google Analytics?
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.
Analytics: Si se borró mi propiedad de Analytics y sus datos, ¿hay alguna manera de recuperarlos?
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.
Analytics: Si se borró mi propiedad de Analytics, ¿puedo vincular una propiedad nueva de Google Analytics a mi proyecto de Firebase y volver a usar Analytics?
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.
Analytics: ¿Qué efecto tendrá la eliminación de mi propiedad de Analytics en los productos de Firebase o los productos integrados de Google?
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:
- Ya no puedes exportar datos de Analytics a BigQuery.
- Ya no podrás aprovechar las integraciones de Google Ads ni las integraciones de Google AdMob.
Analytics: ¿Cómo puedo segmentar a los usuarios que no cumplen con algún criterio?
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.
Analytics: ¿Están los públicos o eventos definidos en la interfaz de Google Analytics también disponibles en Firebase console?
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: ¿En qué regiones se admite la autenticación telefónica?
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 |
---|---|
AD | Andorra |
AE | Emiratos Árabes Unidos |
AF | Afganistán |
AG | Antigua y Barbuda |
AL | Albania |
AM | Armenia |
AO | Angola |
AR | Argentina |
AS | Samoa Americana |
AT | Austria |
AU | Australia |
AW | Aruba |
AZ | Azerbaiyán |
BA | Bosnia-Herzegovina |
BB | Barbados |
BD | Bangladés |
BE | Bélgica |
BF | Burkina Faso |
BG | Bulgaria |
BJ | Benín |
BM | Bermudas |
BN | Brunéi Darussalam |
BO | Bolivia |
BR | Brasil |
BS | Bahamas |
BT | Bután |
BW | Botsuana |
BY | Bielorrusia |
BZ | Belice |
CA | Canadá |
CD | República Democrática del Congo (Kinsasa) |
CF | República Centroafricana |
CG | Congo (Brazzaville) |
CH | Suiza |
CI | Costa de Marfil |
CK | Islas Cook |
CL | Chile |
CM | Camerún |
CO | Colombia |
CR | Costa Rica |
CV | Cabo Verde |
CW | Curazao |
CY | Chipre |
CZ | República Checa |
DE | Alemania |
DJ | Yibuti |
DK | Dinamarca |
DM | Dominica |
SÍ | República Dominicana |
DZ | Argelia |
EC | Ecuador |
EG | Egipto |
ES | España |
ET | Etiopía |
FI | Finlandia |
FJ | Fiyi |
FK | Islas Malvinas |
FM | Estados Federados de Micronesia |
FO | Islas Feroe |
FR | Francia |
GA | Gabón |
GB | Reino Unido |
GD | Granada |
GE | Georgia |
GF | Guayana Francesa |
GG | Guernsey |
GH | Ghana |
GI | Gibraltar |
GL | Groenlandia |
GM | Gambia |
PJ | Guadalupe |
GQ | Guinea Ecuatorial |
GR | Grecia |
GT | Guatemala |
GY | Guyana |
HK | Región Administrativa Especial de Hong Kong, China |
HN | Honduras |
HR | Croacia |
HT | Haití |
HU | Hungría |
ID | Indonesia |
IE | Irlanda |
IL | Israel |
IM | Isla de Man |
IN | India |
IQ | Irak |
IT | Italia |
JE | Jersey |
JM | Jamaica |
JO | Jordania |
JP | Japón |
KE | Kenia |
KG | Kirguistán |
KH | Camboya |
KM | Comoras |
KN | San Cristóbal y Nieves |
KR | Corea del Sur |
KW | Kuwait |
KY | Islas Caimán |
KZ | Kazajistán |
LA | República Democrática Popular Lao |
LB | Líbano |
LC | Santa Lucía |
LI | Liechtenstein |
LK | Sri Lanka |
LS | Lesoto |
LT | Lituania |
LU | Luxemburgo |
LV | Letonia |
LY | Libia |
MA | Marruecos |
MD | Moldavia |
ME | Montenegro |
MF | San Martín (parte francesa) |
MG | Madagascar |
MK | República de Macedonia |
MM | Birmania |
MN | Mongolia |
MO | Región Administrativa Especial de Macao, China |
MS | Montserrat |
MT | Malta |
MU | Mauricio |
MW | Malaui |
MX | México |
MY | Malasia |
MZ | Mozambique |
NA | Namibia |
NC | Nueva Caledonia |
NE | Níger |
NF | Isla Norfolk |
NG | Nigeria |
NI | Nicaragua |
NL | Países Bajos |
NO | Noruega |
NP | Nepal |
NZ | Nueva Zelanda |
OM | Oman |
PA | Panamá |
PE | Perú |
PG | Papúa Nueva Guinea |
PH | Filipinas |
PK | Pakistán |
PL | Polonia |
PM | San Pedro y Miquelón |
PR | Puerto Rico |
PS | Territorio Palestino |
PT | Portugal |
PY | Paraguay |
QA | Catar |
RE | Reunión |
RO | Rumania |
RS | Serbia |
RU | Federación Rusa |
RW | Ruanda |
SA | Arabia Saudita |
SC | Seychelles |
SE | Suecia |
SG | Singapur |
SH | Santa Elena |
SI | Eslovenia |
SK | Eslovaquia |
SL | Sierra Leona |
SN | Senegal |
SR | Surinam |
ST | Santo Tomé y Príncipe |
SV | El Salvador |
SZ | Suazilandia |
TC | Islas Turcas y Caicos |
TG | Togo |
TH | Tailandia |
TL | Timor Oriental |
TM | Turkmenistán |
TO | Tonga |
TR | Türkiye |
TT | Trinidad y Tobago |
TW | Taiwán, República de China |
TZ | República Unida de Tanzania |
UA | Ucrania |
UG | Uganda |
US | Estados Unidos de América |
UY | Uruguay |
UZ | Uzbekistán |
VC | San Vicente y las Granadinas |
VE | Venezuela (República Bolivariana) |
VG | Islas Vírgenes Británicas |
VI | Islas Vírgenes, EE.UU. |
VN | Vietnam |
WS | Samoa |
YE | Yemen |
YT | Mayotte |
ZA | Sudáfrica |
ZM | Zambia |
ZW | Zimbabue |
Firebase Authentication: ¿Qué pasó con los SMS gratuitos del plan Spark?
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.
Firebase Authentication: ¿Cómo puedo evitar el abuso de SMS cuando uso la autenticación por teléfono?
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
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.
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).
Firebase Authentication: ¿Son los números de teléfono transferidos a un operador nuevo compatibles con la autenticación por teléfono?
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.
Firebase Authentication: En mi app para Android, ¿por qué recibo el
siguiente error:
Google sign in failed
?
Google sign in failed
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)
Asegúrate de que el Acceso con Google esté habilitado de forma correcta como proveedor de autenticación:
En Firebase console, abre la sección Authentication.
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):
Abre el método de acceso de Google, inhabilítalo y haz clic en Guardar.
Vuelve a abrir el método de acceso de Google, habilítalo y haz clic en Guardar.
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.Revisa si aún recibes el error. Si es así, continúa con el siguiente paso para solucionar el problema.
Asegúrate de que estén presentes los clientes de OAuth 2.0 subyacentes necesarios.
En la página Credenciales de la consola de Google Cloud, revisa la sección IDs de cliente de OAuth 2.0.
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.
Firebase Authentication: En mi app para la plataforma de Apple, ¿por qué recibo
el siguiente error:
You must specify <clientID> in <GIDConfiguration>
?
You must specify <clientID> in <GIDConfiguration>
Sigue los pasos para solucionar problemas que aparecen en estas Preguntas frecuentes si recibes el siguiente error:
You must specify |clientID| in |GIDConfiguration|
Asegúrate de que el Acceso con Google esté habilitado de forma correcta como proveedor de autenticación:
En Firebase console, abre la sección Authentication.
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):
Abre el método de acceso de Google, inhabilítalo y haz clic en Guardar.
Vuelve a abrir el método de acceso de Google, habilítalo y haz clic en Guardar.
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.Revisa si aún recibes el error. Si es así, continúa con el siguiente paso para solucionar el problema.
Asegúrate de que estén presentes los clientes de OAuth 2.0 subyacentes necesarios.
En la página Credenciales de la consola de Google Cloud, revisa la sección IDs de cliente de OAuth 2.0.
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.
Firebase Authentication: En mi app web, ¿por qué recibo el
siguiente error:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
?
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
Sigue los pasos para solucionar problemas que aparecen en estas Preguntas frecuentes si recibes el siguiente error:
AuthErrorCode.INVALID_OAUTH_CLIENT_ID
Asegúrate de que el Acceso con Google esté habilitado de forma correcta como proveedor de autenticación:
En Firebase console, abre la sección Authentication.
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):
Abre el método de acceso de Google, inhabilítalo y haz clic en Guardar.
Vuelve a abrir el método de acceso de Google, habilítalo y haz clic en Guardar.
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).
Firebase Authentication: En mi app web, ¿por qué el acceso con redireccionamientos falla
con el siguiente error:
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
?
This domain YOUR_REDIRECT_DOMAIN is not
authorized to run this operation
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 webfirebaseConfig
esté configurado correctamente para usar uno de los dominios de ese sitio de Hosting. Para verificarlo, puedes ir ahttps://authDomain__/firebase/init.json
y comprobar queprojectId
coincida con el defirebaseConfig
.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 elprojectId
que se enumeran en este archivo de configuración deben coincidir con tufirebaseConfig
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 settings > 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.
Firebase Authentication: ¿Cómo creo un cliente web de OAuth de forma manual?
Abre la página Credenciales de la consola de Google Cloud.
En la parte superior de la página, selecciona Crear credenciales > ID de cliente de OAuth.
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.
Crea el cliente web de OAuth:
En Tipo de aplicación, selecciona Aplicación web.
En Orígenes autorizados de JavaScript, agrega lo siguiente:
http://localhost
http://localhost:5000
https://PROJECT_ID.firebaseapp.com
https://PROJECT_ID.web.app
Para los URIs de redireccionamiento autorizados, agrega lo siguiente:
https://PROJECT_ID.firebaseapp.com/__/auth/handler
https://PROJECT_ID.web.app/__/auth/handler
Guarda el cliente de OAuth.
Copia el nuevo ID de cliente y el secreto de cliente de OAuth en el portapapeles.
En Firebase console, abre la sección Authentication.
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.
Firebase Authentication: ¿Cómo se determina %APP_NAME%
para la plantilla de correo electrónico del correo electrónico de confirmación que se puede
enviar a un usuario cuando este se registra con una dirección de correo electrónico y una contraseña?
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
¿Cómo actualizo a la última versión compatible de Node.js?
- Asegúrate de tener el plan de precios Blaze.
- Asegúrate de usar la versión más reciente de Firebase CLI.
- Actualiza el campo
engines
en el archivopackage.json
de tus funciones. - De manera opcional, prueba los cambios con Firebase Local Emulator Suite.
- Vuelve a implementar todas las funciones.
¿Cómo puedo asegurarme de que implementé mis funciones en un entorno de ejecución específico de Node.js?
En Firebase console, ve al panel de funciones, selecciona una función y consulta su lenguaje de la función en Detalles adicionales.
Uso Extensiones de Firebase. ¿Se verán afectadas las actualizaciones del entorno de ejecución de Cloud Functions?
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
¿Por qué necesito una cuenta de facturación para usar Cloud Functions for Firebase?
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:
- Precios de Cloud Functions: El nivel sin costo existente no se modifica.
- Precios de Cloud Build: Cloud Build Proporciona un nivel sin costo.
- Precios de Artifact Registry.
- Precios de Container Registry.
¿Cloud Functions for Firebase aún puede usarse sin costo?
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.
¿Planea Firebase aumentar las cuotas y los límites de Cloud Functions for Firebase?
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.
¿Puedo obtener el crédito de $300 de Google Cloud?
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.
Quiero hacer un codelab para obtener más información sobre Firebase. ¿Pueden darme una cuenta de facturación temporal?
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.
Me preocupa tener que pagar una factura enorme.
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.
¿Cómo puedo revisar mis cargos de facturación actuales?
Consulta el panel Uso y facturación en Firebase console.
Uso Extensiones de Firebase. ¿Necesito una cuenta de facturación?
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
Cloud Messaging: ¿Cuál es la diferencia entre el Compositor de Notifications y 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 |
Cloud Messaging: Apple anunció que dará de baja el protocolo binario heredado para APNS. ¿Hay algo que deba hacer?
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.
Cloud Messaging: ¿Necesito usar otros servicios de Firebase para usar FCM?
Puedes usar Firebase Cloud Messaging como un componente independiente, de la misma manera que lo hiciste con GCM, sin usar otros servicios de Firebase.
Cloud Messaging: Soy un desarrollador que actualmente usa Google Cloud Messaging (GCM). ¿Debo cambiarme a Firebase Cloud Messaging?
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.
Cloud Messaging: ¿Por qué no reciben los mensajes los dispositivos a los que segmento mis envíos?
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.
Cloud Messaging: Implementé onMessageReceived
en mi app para Android, pero no recibe
llamadas.
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.
Compositor de Notifications: ¿Cuál es la diferencia entre el Compositor de Notifications y Cloud Messaging?
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 |
Compositor de Notifications: Soy un desarrollador que actualmente usa Google Cloud Messaging (GCM) y quiero usar el Compositor de Notifications. ¿Qué debo hacer?
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
¿Qué APIs de FCM se dieron de baja el 20 de junio de 2023 y qué debo hacer si uso esas APIs?
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. |
¿Veré un cambio a una versión inferior del servicio antes de junio de 2024?
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).
¿Cómo y cuándo se cerrarán las APIs obsoletas?
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. |
¿Cuál es la diferencia entre los tokens de OAuth 2.0 y las claves de servidor?
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
¿Puedo migrar mis solicitudes a la nueva API de una sola vez?
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.
¿Cuál es la diferencia entre la API de HTTP v1 y las APIs heredadas cuando envío mensajes a temas o grupos de dispositivos?
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.
¿La API de HTTP v1 admite el envío de mensajes a varios tokens en una solicitud?
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.
¿Qué versiones del SDK de Firebase Admin tienen las nuevas APIs?
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 |
¿Cuál es la diferencia entre la API de envío por lotes y la API de HTTP v1?
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.
¿Qué debo hacer si no puedo acceder a mi proyecto?
Comunícate con el equipo de asistencia al cliente de Google Cloud para obtener ayuda.
¿Pueden los proyectos nuevos habilitar la API heredada de Cloud Messaging?
No. A partir del 20/5/2024, los proyectos nuevos ya no podrán habilitar nuestras APIs heredadas.
¿Cuándo puedo inhabilitar la API heredada de Cloud Messaging?
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
¿Cómo puedo notificar a una gran base de clientes en un plazo de 2 minutos?
Lamentablemente, no se admite este caso de uso. Debes distribuir el tráfico en un período de 5 minutos.
Mi app notifica a los usuarios sobre eventos, y estos mensajes deben entregarse de inmediato para respaldar mi modelo de negocio. ¿Puedo obtener más cuota?
Lamentablemente, no podemos otorgar aumentos de cuota por este motivo. Debes distribuir el tráfico en un período de 5 minutos.
Mis mensajes son sobre eventos programados. ¿Cómo puedo enviar todo mi tráfico a la hora en punto?
Te recomendamos que comiences a enviar las notificaciones al menos 5 minutos antes del evento.
¿Cuánto tiempo tardará en completarse mi solicitud de cuota?
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.
¿Cómo puedo supervisar mi uso de cuota?
Consulta la guía de Google Cloud para crear gráficos y supervisar las métricas de cuota.
Los errores 429 son difíciles de controlar para mí o mi empresa. ¿Puedo obtener una exención o más cuota para evitar recibir errores 429?
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.
¿Puedo obtener más cuota para un evento temporal?
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.
¿Está mi cuota actual sujeta a cambios?
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
Cloud Storage for Firebase: ¿Cuáles son los cambios en el bucket predeterminado que se anunciaron en septiembre de 2024?
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: ¿Por qué no puedo usar Cloud Storage for Firebase?
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.
Cloud Storage for Firebase: ¿Por qué obtengo respuestas de código de error 412 sobre los permisos de la cuenta de servicio y las operaciones fallidas de la cuenta de servicio cuando uso la API de Cloud Storage for Firebase?
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.
Cloud Storage for Firebase: En los proyectos del plan Spark, ¿puedo almacenar archivos ejecutables?
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.
- 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.
- 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.
Cloud Storage for Firebase: ¿Por qué veo un aumento inesperado en las operaciones de carga y descarga?
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.
Cloud Storage for Firebase: ¿Por qué veo nuevos IDs de cuenta de servicio asociados con mis proyectos de Firebase que usan Cloud Storage for Firebase?
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 servicioservice-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
Cloud Storage for Firebase: ¿Cuáles son los cambios en los requisitos de los planes de precios para Cloud Storage anunciados en septiembre de 2024?
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.
¿Cómo puedo predecir cuánto se me facturará por las operaciones de carga y descarga?
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.
¿Qué ocurre si supero los límites de carga, descarga o almacenamiento del plan Spark en Cloud Storage for Firebase?
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.
Dynamic Links
Dynamic Links: ¿Cuáles son los planes futuros de Firebase para Dynamic Links?
Consulta Preguntas frecuentes de Dynamic Links.
Dynamic Links: ¿Por qué mi app para Android accede dos veces a cada Dynamic Link?
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
Hosting: En los proyectos del plan Spark, ¿puedo almacenar archivos ejecutables?
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.
- 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.
- 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.
Hosting: ¿Por qué en la tabla de historial de versiones de Hosting en Firebase console se muestran recuentos de archivos mayores de lo que realmente tiene mi proyecto local?
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: ¿Cuál es el tamaño de archivo más grande que puedo implementar en Firebase Hosting?
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.
Hosting: ¿Cuántos sitios de Hosting puedo tener por proyecto de Firebase?
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.
Performance Monitoring: ¿Cuántos patrones de URL personalizados puedo crear?
Puedes crear hasta 400 patrones de URL personalizados por app y hasta 100 patrones de URL personalizados por dominio para esa app.
Performance Monitoring: ¿Por qué no veo los datos de rendimiento en tiempo real?
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
Realtime Database: ¿Qué es una "conexión simultánea a la base de datos"?
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.
Realtime Database: ¿Cuáles son las limitaciones de escalamiento de Realtime Database?
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.
Realtime Database: ¿Qué puedo hacer si superé los límites de uso de Realtime Database?
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 deonce()
. - 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.
Realtime Database: ¿Qué ocurre si supero los límites de almacenamiento o descarga del plan Spark en Realtime Database?
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.
Realtime Database: ¿Qué ocurre si supero los límites de conexiones simultáneas del plan Spark en Realtime Database?
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.
Realtime Database: ¿Qué son las copias de seguridad automáticas? ¿Ofrecen copias de seguridad por hora para Realtime Database?
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.
Realtime Database: ¿Por qué mi ancho de banda informado de Realtime Database fue menor que el promedio entre septiembre de 2016 y marzo de 2017?
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
Remote Config: ¿Por qué los valores recuperados no cambian el comportamiento ni la apariencia de mi app?
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.
Remote Config: Estoy haciendo muchas solicitudes de recuperación mientras desarrollo mi app. ¿Por qué esta no siempre obtiene los valores más recientes del servicio cuando envía solicitudes de recuperación?
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.
Remote Config: ¿Qué tan rápido muestra el servicio de Remote Config los valores recuperados después de que mi app envía una solicitud de recuperación?
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
¿Qué es 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.