¿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 es un contenedor para apps en iOS, Android y la Web. Permite compartir funciones como Database, Config y Notifications entre apps multiplataforma.
Debes agregar variantes de la app para iOS, Android y la Web a un mismo proyecto. Puedes usar varios proyectos para tener compatibilidad con distintos entornos, como desarrollo, pruebas y producción.
¿Cómo agrego Firebase a un proyecto existente de Google Cloud?
Es posible que tengas proyectos administrados a través de Google Cloud Console o la Consola de API de Google. Según la configuración predeterminada, estos proyectos son visibles en Firebase console, pero no se consideran proyectos de Firebase.
Para agregar Firebase a un proyecto existente de Google Cloud, haz clic en Agregar proyecto en la página de destino de Firebase console y, luego, selecciona tu proyecto en el menú Nombre del proyecto.
¿Cuántos proyectos puedo tener por cuenta?
- Con el plan Spark del nivel gratuito, tu cuota se limita a unos pocos proyectos (usualmente alrededor de 5 a 10).
- Con los planes pagados, tu cuota de proyectos aumenta sustancialmente por cada cuenta de Facturación de Cloud, siempre y cuando la cuenta de facturación 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 aumentar 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 iOS, 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, agregar una app de Firebase a un proyecto crea uno o más ID de cliente de OAuth 2.0 subyacentes. Hay un límite de aproximadamente 30 ID 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. Consulta la Información sobre los proyectos de Firebase para obtener más detalles sobre las prácticas recomendadas de los proyectos y las apps 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 facturación Blaze. Visita Google Cloud Console 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.
¿Dónde puedo encontrar el ID de mi app de Firebase?
En Firebase console, ve a la 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 de Firebase para la Web:
1:1234567890:web:321abc456def7890
¿Necesito proporcionar una SHA-1 cuando agrego una app para Android?
Firebase Authentication (cuando se usa el Acceso con Google o con número de teléfono) y Firebase Dynamic Links requieren información de SHA-1. Si no usas estas funciones, no necesitas proporcionar una clave SHA-1.
¿Cómo resuelvo el error “Ya existe un cliente de OAuth2 para este nombre de paquete y clave SHA-1 en otro proyecto”?
Este error aparece si detectamos que otro proyecto de Firebase o Google Cloud contiene un ID de cliente de OAuth 2.0 con el nombre de paquete y la clave SHA-1 que especificaste. Para resolverlo, sigue estas instrucciones.
Cuando agrego Firebase a mi proyecto de Android, aparece un error del tipo “No se pudo encontrar”.
Por lo general, este error significa que a tu app le faltan una o más referencias al
repositorio Maven de Google. En tu archivo build.gradle
de nivel de proyecto,
asegúrate de incluir
el repositorio Maven de Google (google()
) en las
secciones buildscript
y allprojects
.
¿Cuáles son los requisitos previos para vincular Play/AdMob/AdWords/BigQuery con mi proyecto de Firebase?
- Para vincular tu cuenta de Play, debes ser propietario de un proyecto de Firebase y de una cuenta de Play.
- Para vincular la 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 un proyecto de BigQuery, debes ser el propietario del proyecto de Firebase.
¿Qué avisos de código abierto debo incluir en mi app?
En iOS, el pod de Firebase contiene un archivo NOTICES que incluye las entradas relevantes. El SDK de Android contiene una actividad de ayuda para mostrar información sobre la licencia.
¿Qué versiones de Xcode admite Firebase?
Firebase admite hasta dos versiones principales de Xcode, sin incluir las versiones que Apple ya no admite. Por ejemplo, a partir de marzo de 2019, Apple exigirá iOS 12 en todas las apps de iOS, lo que significa que se eliminará la compatibilidad con Xcode 9 y Xcode 10 será la única versión principal compatible.
Los cambios en la compatibilidad de versiones menores especificas o de parche de Xcode (por ejemplo, de 9.2.0 a 9.4.1) se determinan según las necesidades del SDK de Firebase iOS y una encuesta sobre el uso de los desarrolladores. Estos cambios se reflejan en las notas de la versión del SDK de Firebase iOS y en la página de configuración de este SDK.
Para ver la versión mínima de Xcode que admite el SDK de Firebase iOS, revisa los requisitos que aparecen en Agrega Firebase al proyecto de iOS.
La asistencia de Firebase para las versiones Beta de Xcode está disponible según el “mejor esfuerzo”. Los desarrolladores pueden realizar un seguimiento y enviar problemas al repositorio del SDK de Firebase iOS en GitHub.
Firebase console
¿Cuáles son los navegadores admitidos para acceder a Firebase console?
Se puede acceder a Firebase console desde las versiones recientes de los navegadores de escritorio populares, como Chrome, Firefox, Safari y Edge. Los navegadores para dispositivos móviles no son totalmente compatibles en la actualidad.
¿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 está disponible en 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é funciones y permisos admite Firebase console?
Firebase console y Google Cloud Console usan los mismos permisos y funciones subyacentes. Obtén más información sobre las funciones 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 les asignó esta función.
Firebase también admite las siguientes funciones:
- Funciones predefinidas de Firebase: Funciones seleccionadas específicas de Firebase que permiten tener un control de acceso más detallado que las funciones básicas 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
Precios
¿Qué productos se pagan? ¿Cuáles son gratuitos?
Los productos de infraestructura pagados de Firebase son Realtime Database, Cloud Storage, Functions, Hosting, Test Lab y la autenticación por teléfono. Ofrecemos un nivel gratuito para todas estas características.
Además, Firebase cuenta con muchos productos gratuitos, como los siguientes: Analytics, Cloud Messaging, Compositor de Notifications, Remote Config, App Indexing, Dynamic Links y Crash Reporting. Puedes usar estos productos de forma ilimitada en todos los planes, incluso en nuestro plan gratuito Spark. Además, todas las características de Authentication que no sean la autenticación por teléfono son gratuitas.
¿Firebase ofrece créditos de prueba gratuita para 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 USD 300 en créditos gratuitos de Facturación de Cloud para explorar y evaluar los productos y servicios de Google Cloud y Firebase.
Durante el período de prueba gratuita de Google Cloud, recibirás una cuenta de Facturación de Cloud de prueba gratuita. Cualquier proyecto de Firebase que use esa cuenta de facturación se encontrará en el plan de facturación Blaze durante el período de prueba gratuita.
No te preocupes, la configuración de esta cuenta de Facturación de Cloud no nos permite realizar cargos. No se te cobrará a menos que habilites de manera explícita la facturación mediante la actualización de tu cuenta de Facturación de Cloud 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 tu proyecto de Firebase, deberás cambiarlo al plan de facturación Spark o configurar el plan de facturación Blaze (prepago) en Firebase console.
Más información sobre la prueba gratuita de Google Cloud.
¿Cómo elijo el plan correcto para mí?
Plan de facturación Spark
Nuestro plan Spark es una excelente manera de desarrollar tu app de forma gratuita. Obtienes todas las funciones gratuitas de Firebase (Analytics, Compositor de Notifications, Crash Reporting, etc.) 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 en el nivel Spark.
Plan de facturación 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.
¿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 de uso y facturación
- Panel de uso de Cloud Storage
- Panel de uso de la base de datos (Cloud Firestore y Realtime Database)
- Panel de uso de Hosting
¿Qué sucedió con el plan de facturación Flame?
A partir de enero de 2020, el plan de facturación Flame (USD 25 mensuales de cuota adicional) ya no está disponible para registrarse por primera vez.
- 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 trasladas un proyecto existente del plan Flame a un plan de facturación diferente, no podrás regresarlo al plan Flame.
- Los proyectos existentes del plan Flame pueden seguir usando este plan por ahora. Sin embargo, recibirás información en los próximos meses sobre el cronograma requerido para trasladar tus proyectos a otro plan de facturación.
- 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 facturación que ofrece Firebase? Visita nuestra página de precios de Firebase. Si quieres comenzar a trasladar proyectos existentes a otro plan de facturación, puedes hacerlo en Firebase console en tu proyecto.
Para los proyectos existentes del plan Flame, las cuotas del plan y la disponibilidad de las funciones seguirán vigentes.
- El plan Flame no proporciona ninguna cuota de uso para los
siguientes productos:
BigQuery y otras IaaS de Google Cloud - El plan Flame incluye una cuota de uso gratuito para los siguientes
productos:
A/B Testing, Analytics, App Indexing, Cloud Messaging (FCM), Crashlytics, Dynamic Links, Performance Monitoring, Predictions y Remote Config El plan Flame incluye cuotas de uso para los siguientes productos:
Producto Función Incluido en el plan Flame Authentication Autenticación telefónica: EE.UU., India y Canadá 10,000 por mes Autenticación telefónica: Todos los demás países 10,000 por mes Otros servicios y funciones de Authentication ✔ (gratis) Cloud Firestore Almacenamiento de datos 2.5 GiB en total Salida de red 20 GiB por mes Escrituras de documentos 100,000 por día Lecturas de documentos 250,000 por día Eliminaciones de documentos 100,000 por día Cloud Functions para Firebase Invocaciones 2,000,000 por mes GB-segundo 400,000 por mes CPU-segundo 200,000 por mes Redes de salida 5 GB por mes Hosting Almacenamiento de datos 10 GB en total Transferencia de datos 50 GB/mes Dominio personalizado y SSL ✔ (gratis) Varios sitios por proyecto ✔ (gratis) AA de Firebase Hosting o entrega de modelos personalizados ✔ (gratis) Conjunto de datos de AutoML Vision Edge 1,000 imágenes por proyecto Entrenamiento de AutoML Vision Edge 3 horas por proyecto API de Cloud Vision no incluido Realtime Database Conexiones simultáneas 200,000 Almacenamiento de datos 2.5 GB en total Descarga de datos 20 GB por mes Varias bases de datos por proyecto no incluido Cloud Storage Almacenamiento de datos 50 GB en total Descarga de datos 50 GB por día Operaciones de carga 100,000 por día Operaciones de descarga 250,000 por día Varios buckets por proyecto no incluido Test Lab Pruebas en dispositivos virtuales 10 pruebas por día Pruebas en dispositivos físicos 5 pruebas por día
Preguntas frecuentes adicionales sobre la eliminación del plan Flame
¿Qué sucede ahora con mis proyectos existentes del plan Flame?
Por ahora, no habrá cambios en tu proyecto o facturación. Sin embargo, recibirás información en los próximos meses sobre el cronograma requerido para trasladar tus proyectos a otro plan de facturación.
¿Qué sucederá con mis proyectos existentes del plan Flame en el futuro?
Por el momento, no hay una programación específica para trasladar los proyectos del plan Flame a un plan de facturación diferente. Sin embargo, recibirás información en los próximos meses sobre el cronograma requerido para trasladar tus proyectos a otro plan de facturación.
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 Blaze (prepago) y asegúrate de configurar las alertas de presupuesto del proyecto.
¿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 facturación 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 Blaze (prepago) y considera configurar alertas de presupuesto para tu proyecto.
Mi proyecto se cambió automáticamente a un plan de facturación diferente como parte de la eliminación del plan Flame. ¿Qué debo hacer?
Los cambios automáticos de plan de facturación no forman parte del alcance actual de la eliminación del plan Flame. Asegúrate de revisar tus registros de auditoría para detectar cambios en la facturación.
¿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 facturación 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.
¿En qué se diferencia el uso gratuito del plan Blaze del uso gratuito del plan Spark?
El uso gratuito 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 telefónica y Test Lab.
Para Cloud Functions, se calcula el uso gratuito del plan Blaze en el nivel de la cuenta de facturación, no en el nivel del proyecto, y tiene estos 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
Para la autenticación telefónica, el uso gratuito del plan Blaze se calcula por mes.
Para Test Lab, el uso gratuito 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 gratuito?
En el plan Blaze se incluye el uso gratuito del plan Spark. No se restablece cuando cambias a un plan Blaze.
¿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.
¿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.
¿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 conexiones simultáneas 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.
¿Qué ocurre si supero los límites de carga, descarga o almacenamiento del plan Spark en Cloud Storage?
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 los 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.
¿Cómo funciona la integración de Firebase en Google Cloud?
Firebase se integra estrechamente en Google Cloud. Los proyectos se comparten entre Firebase y Google Cloud, de manera que puedan tener habilitados servicios de ambas plataformas. Puedes acceder al mismo proyecto desde Firebase console o Google Cloud Console. En particular, haz lo siguiente:
- Google Cloud respalda directamente algunos productos de Firebase, como Firebase Storage. La lista de productos respaldados por Google Cloud seguirá creciendo con el paso del tiempo.
- Firebase y Google Cloud comparten gran parte de tus opciones de configuración, incluida la información de colaboradores y facturación. El uso de Firebase y Google Cloud aparece en la misma factura.
Además, cuando actualizas al plan Blaze, puedes usar las API 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 desde Google Cloud de forma directa a BigQuery para realizar análisis. Para obtener más información, consulta Cómo vincular Firebase a BigQuery.
El uso de Google Cloud Platform 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.
¿Qué ocurre con mi proyecto de Firebase si agrego o quito cuentas de facturación para ese proyecto en Google Cloud Console?
Si se agrega una cuenta de facturación a un proyecto en Google Cloud Console, el mismo proyecto se actualizará de forma automática al plan Blaze de Firebase si está en el plan Spark.
Por el contrario, si una cuenta de facturación activa existente se quita de un proyecto en Google Cloud Console, ese proyecto pasará al plan Spark de Firebase.
¿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.
¿Qué tipo de asistencia voy a recibir?
Todas las apps de Firebase, incluidos los planes gratuitos, ofrecen 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.
¿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. Para obtener más información, consulta cómo configurar alertas de presupuesto.
¿Qué son las copias de seguridad automáticas? ¿Ofrecen copias de seguridad por hora?
Las copias de seguridad automáticas son una función avanzada para los clientes del plan 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.
¿Ofrecen descuentos para proyectos con fines educativos, de organizaciones sin fines de lucro o de código abierto?
Cualquier tipo de persona o de organización puede usar los planes Spark y Flame, incluidos los proyectos educativos, sin fines de lucro y 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 ANS 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? ¿Hay créditos de publicidad gratuitos con los planes pagados?
Los planes de precios de Firebase son independientes de los de Ads, por lo que no hay créditos de publicidad gratuitos. 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 Ads Console.
Precios de Cloud Functions
¿Por qué necesito una cuenta de facturación para usar Cloud Functions para Firebase?
Cloud Functions para Firebase depende de algunos servicios pagados de Google: Cloud Build, Container Registry y Cloud Storage. El uso de estos servicios se facturará y sumará al precio existente.
Solo se te facturará el tiempo de procesamiento necesario para compilar el contenedor del entorno de ejecución de una función.
Cloud Storage, que interopera con Google Container Registry, proporcionará espacio de almacenamiento para 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 USD 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 gratuito existente no se modifica.
- Precios de Cloud Build: Cloud Build proporciona un nivel gratuito.
- Precios de Container Registry.
¿Cloud Functions para Firebase aún puede usarse de forma gratuita?
Sí. En el plan Blaze, Cloud Functions ofrece un nivel gratuito permanente para las invocaciones, el tiempo de procesamiento y el tráfico de Internet. Se proporcionan gratis los primeros 2,000,000 de invocaciones, 400,000 GB por segundo, 200,000 CPU por segundo y 5 GB de tráfico de salida de Internet cada mes. Solo se te cobrará por el uso que supere esos umbrales.
Cada operación de implementación generará cargos menores por el espacio de almacenamiento que se usa para el contenedor de la función. Por ejemplo, si tus funciones consumen 1 GB de almacenamiento mediante Container Registry, se te facturará USD 0.026 por mes. Si tu proceso de desarrollo depende de la implementación de funciones para realizar pruebas, puedes minimizar aún más los costos si usas Firebase Local Emulator Suite durante el desarrollo.
Consulta los ejemplos de planes de precios de Firebase y de precios de Cloud Functions.
¿Firebase planea aumentar las cuotas y los límites de Cloud Functions para 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 Blaze (prepago). Consulta Cuotas y límites.
¿Puedo obtener el crédito de USD 300 de Google Cloud?
Sí, puedes crear una cuenta de facturación en Google Cloud Console para obtener el crédito de USD 300 y, luego, vincularla 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 facturación Blaze (prepago) en Firebase console para que tu proyecto siga funcionando después de que se agote el crédito de USD 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 Firebase Emulator para desarrollar sin tener una cuenta de facturación. De forma 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 Google Cloud Console para controlar los costos. 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. ¿Me afectará este cambio?
Sí. Debido a que las extensiones usan Cloud Functions, aquellas que usan Node.js 10 o versiones posteriores estarán sujetas a los mismos cargos que otras funciones.
Para usar extensiones basadas en Node.js 10 o versiones posteriores, deberás actualizar al plan de facturación Blaze (prepago). Se te cobrará un pequeño importe (generalmente, alrededor de USD 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.
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 iOS incluye el marco de trabajo FirebaseCoreDiagnostics
según la configuración 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.
AdMob
AdMob: ¿Podré vincular mis apps de Windows con Firebase?
Actualmente, las apps de Windows no son compatibles con Firebase console.
AdMob: ¿Por qué no puedo vincular mi cuenta de AdMob desde Firebase console?
Puedes vincular una app de AdMob con una app de Firebase a través de la consola de AdMob. Para vincular la cuenta, necesitas ser propietario del proyecto de Firebase y administrador de AdMob.
AdMob: ¿Pueden varios usuarios vincular sus cuentas de AdMob con una app de Firebase?
No, cada cuenta de AdMob solo tendrá un usuario principal. El usuario principal es el primero que acepta las Condiciones del Servicio de Firebase.
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, Predictions 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 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: ¿Cómo controlo la manera en que los datos de Analytics se comparten con el resto de Firebase?
Según la configuración predeterminada, los 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 desde la configuración del proyecto en cualquier momento. Obtén más información sobre la Configuración de uso compartido de datos.
Analytics: ¿Cuál es la cuenta de Google Analytics nueva y completamente actualizada?
Puedes obtener más detalles sobre la nueva actualización de Google Analytics en nuestra entrada de blog.
Analytics: ¿Cómo sé si estoy usando Google Analytics para Firebase o una cuenta de Google Analytics completamente actualizada?
Si ves un vínculo que dice “Ver tus datos en Google Analytics” en el panel de estadísticas de Firebase console, significa que tu proyecto usa una cuenta de Google Analytics completamente actualizada.
También puedes verificar esta información en la tarjeta de Google Analytics de Firebase console. Para acceder a ella, ve a settings > Configuración del proyecto > Integraciones y haz clic en Administrar. Si ves una cuenta vinculada de Google Analytics en la sección Tu propiedad de Google Analytics, significa que tu proyecto utiliza la experiencia completa de Google Analytics en Firebase. Si no ves una cuenta vinculada de Google Analytics, significa que el proyecto usa Google Analytics para Firebase.
Analytics: ¿Qué sucederá con mis datos cuando me cambie al nuevo Google Analytics para Firebase?
Este cambio no influirá en los datos de estadísticas actuales de tu proyecto de Firebase en Firebase console.
Podrás usar el mismo panel y flujos que usas en la actualidad, y tendrás acceso a las mismas funciones avanzadas en Google Analytics.
Ten en cuenta que, si decides habilitar los informes de dispositivos múltiples luego de realizar la actualización, tus datos se volverán a duplicar con el UserID. Es posible que esto disminuya el recuento de algunos usuarios en Firebase console.
Analytics: ¿Qué es Firebase User Segmentation Storage?
Firebase User Segmentation Storage almacena listas de públicos que creaste para proporcionar información de segmentación a otros servicios de Firebase que las utilizan, como Crashlytics, FCM, Predictions y muchos más.
Analytics: ¿Por qué no veo los datos luego de desvincular mi app de Google Analytics?
Los datos de tus estadísticas se encuentran en la propiedad de Google Analytics,
no en el proyecto de Firebase. Si borras o desvinculas la propiedad, también se desvincularán tus datos del proyecto. Sin embargo, los datos seguirán en esa propiedad y, de todas formas, podrás volverlos a vincular a tu proyecto.
Si creas una cuenta
nueva de Google Analytics (y una propiedad nueva), obtendrás un panel de
estadísticas en blanco en Firebase console.
Analytics: ¿Por qué veo un error cuando intento actualizar mi proyecto a la nueva experiencia de Google Analytics?
Si ves errores como los siguientes cuando realizas la actualización:
The operation has failed (Reason: Requested entity already exists)
o
The operation has failed (Reason: Precondition check failed)
Significa que hay una asociación entre tu proyecto y una propiedad de Google Analytics que ya existe. Puedes desvincular la propiedad, borrarla o actualizarla mediante la interfaz de Google Analytics.
Si sigues teniendo este problema, puedes usar la API de REST para desvincular el proyecto con el método removeAnalytics y, luego, usar el método addGoogleAnalytics para vincularlo a una propiedad nueva.
A continuación, puedes transferir los datos de una propiedad a otra mediante los pasos que se especifican aquí.
Analytics: ¿El público o los eventos definidos en Google Analytics estarán disponibles en el panel de Firebase?
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 mediante 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.
App Indexing
App Indexing: ¿La Búsqueda de Google puede indexar varios idiomas de una misma app?
La Búsqueda de Google admite los siguientes casos de varios idiomas:
- El sitio web asociado tiene URL únicas para cada idioma y hay una URL HTTP de la app que corresponde a cada URL de la Web.
- El sitio web asociado tiene URL únicas para cada idioma y hay solo una URL HTTP de la app. La app usa la configuración de idioma del sistema para mostrar el contenido en el idioma correcto.
- El sitio web asociado tiene una URL para todos los idiomas (o admite solo un idioma) y hay una URL de la app correspondiente. El sitio web y la aplicación deben mostrar el contenido en el mismo idioma cuando el usuario no especifica una preferencia.
App Indexing: ¿App Indexing admite varios sitios web para una app?
Sí. Asegúrate de que cada sitio web asociado esté verificado para la app de Android a través de Google Play Console. Obtén más información sobre cómo verificar apps.
App Indexing: ¿Los mapas de sitios se deben agregar a través de Search Console?
iOS no necesita mapas de sitios y Android no los necesita mientras la app admita URL HTTP. En el caso de las URL personalizadas, no necesitas agregar mapas de los sitios a través de Search Console. Basta con hacer referencia a los mapas de los sitios en el archivo robots.txt para que los use la Búsqueda de Google. Obtén más información acerca de la administración de mapas de sitios. Sin embargo, si envías un mapa del sitio a través de Search Console, podrás ver estadísticas allí sobre las URL HTTP enviadas e indexadas.
Authentication
Firebase Authentication: ¿En qué países se admite la autenticación por teléfono?
Firebase Authentication admite la verificación con el número de teléfono en todo el mundo, pero no todas las redes entregan nuestros mensajes de verificación de manera confiable. Los siguientes países tienen buenos índices de entrega y el acceso con el número telefónico debería funcionar correctamente.
País | 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 |
DO | 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 | Omán |
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 | Turquía |
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 |
Cloud Functions
Asistencia del entorno de ejecución de Cloud Functions
¿Por qué el entorno de ejecución de Node.js 8 está obsoleto?
El 31 de diciembre de 2019, la Fundación Node.js dio fin al ciclo de vida de Node.js 8 y, en ese momento, dejó de emitir actualizaciones de seguridad para Node.js 8. Debido a esto, te recomendamos que actualices a Node.js 10 o versiones posteriores lo antes posible.
¿Qué sucede si una función de Node.js 8 se ejecuta después de la eliminación de la compatibilidad con Node.js 8? ¿Funcionará indefinidamente?
No. La implementación de funciones en el entorno de ejecución de Node.js 8 se inhabilitó en la Firebase CLI el 15 de diciembre de 2020. La ejecución de funciones ya implementadas se detendrá más adelante. Si implementaste funciones en el entorno de ejecución de Node.js 8, te recomendamos que actualices al entorno de ejecución de Node.js 12.
¿Cómo actualizo a Node.js 12?
- Asegúrate de tener el plan de facturación Blaze (prepago).
- Asegúrate de usar la versión 8.1.0 o posterior de Firebase CLI.
- Cambia el campo
engines
en elpackage.json
de tus funciones. - Si lo deseas, prueba tus cambios con el emulador de Firebase.
- Vuelve a implementar las funciones con Firebase CLI v8.1.0 o una versión posterior.
¿Cómo puedo asegurarme de haber implementado mis funciones en el entorno de ejecución de Node.js 12?
En Firebase console, ve al panel de funciones y revisa la columna del entorno de ejecución.
Uso Extensiones de Firebase. ¿Me afectará este cambio?
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 cambiar tu proyecto de Firebase al plan Blaze y actualizar a la última versión de cada extensión instalada en el proyecto. Puedes actualizar las extensiones de tus proyectos en Firebase console o CLI.
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 | Inmediata | ||
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 más que deba hacer?
No. Firebase Cloud Messaging se cambió al protocolo APNS basado en HTTP/2 en 2017. Si estás usando 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, igual a como lo hiciste con GCM, sin usar otro servicio de Firebase.
Cloud Messaging: Soy un desarrollador que actualmente usa Google Cloud Messaging (GCM). ¿Debería cambiarme a Firebase Cloud Messaging?
FCM es la nueva versión de GCM con la marca de Firebase. Hereda la infraestructura central de GCM, con nuevos SDK para facilitar la programación en 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 servidor con una consola web que les permite a todos los usuarios enviar notificaciones orientadas a públicos específicos, según las estadísticas de Google Analytics para Firebase.
Si quieres actualizar desde los SDK de GCM a los de FCM, consulta las guías de migración de apps para iOS y Android.
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 o desde Internet, debes configurarlo para permitir la conectividad con FCM a fin de que las apps cliente de Firebase Cloud Messaging reciban mensajes. Los puertos que se deben abrir son:
- 5228
- 5229
- 5230
FCM generalmente usa el puerto 5228, pero a veces usa los 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 pertenecientes a 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 | Inmediata | ||
Hora local del dispositivo cliente en el futuro | |||
Analytics | Recopilación de estadísticas integradas en Notifications y estadísticas 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 para segmentarlas por públicos específicos según las estadísticas de Google Analytics para Firebase. 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 programador 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 iOS y Android.
Cloud Storage
Cloud Storage: ¿Por qué no puedo usar Cloud Storage?
Firebase Storage crea un bucket predeterminado en el nivel gratuito de App Engine. Esto te permite comenzar a usar Firebase y Firebase Storage rápidamente, sin tener que ingresar una tarjeta de crédito ni habilitar una cuenta de facturación. 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 Firebase Storage:
- Un proyecto importado desde Google Cloud que tenía una aplicación de almacén de datos principal/secundario 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 crear un proyecto nuevo en Firebase console y habilitar Firebase Storage en él.
Cloud Storage: ¿Por qué veo nuevos ID de cuentas de servicio asociados a mis proyectos de Firebase que usan Cloud Storage?
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.
Si usaste Cloud Storage antes del 15 de septiembre de 2020, es posible
que veas la siguiente cuenta de servicio heredada que se usa para administrar tu bucket:
firebase-storage@system.gserviceaccount.com
.
A partir de esa fecha, los buckets de Cloud Storage para Firebase pueden incluir
una cuenta de servicio nueva:
service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com
.
Puedes ver todas las cuentas de servicio asociadas con tu proyecto en Firebase console, en la pestaña Cuentas de servicio.
Cómo quitar la cuenta de servicio nueva
No recomendamos que quites la cuenta de servicio nueva porque, si lo haces, no podrás aprovechar las próximas mejoras de seguridad.
Sin embargo, si lo prefieres, puedes inhabilitar la API o quitar el acceso de la cuenta de servicio nueva. Si quitas esta cuenta, es posible que no puedas acceder al bucket de GCS desde tus apps.
Cómo agregar la cuenta de servicio nueva
Si quitaste la cuenta de servicio nueva o inhabilitaste la API y deseas volver a
agregarlas, sigue las instrucciones que se indican en
Crea y administra
cuentas de servicio a fin de usar Google Cloud Console para agregar
service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com
al conjunto de cuentas de servicio de tu proyecto.
Crashlytics
Crash Reporting: ¿Por qué hay menos informes de fallas en Analytics que en Crash Reporting?
Crash Reporting crea un proceso independiente en segundo plano para subir información sobre fallas. Si tu app extiende la clase Aplicación para Android, debes asegurarte de poder usarla en varios procesos de forma segura. De lo contrario, puede provocar problemas de simultaneidad. Cuando una app extiende un objeto Application, se crea una instancia de ese objeto para cada proceso en una app que admita múltiples procesos. Ten en cuenta lo siguiente cuando agregues Crash Reporting a tu app:
- Si la implementación de este objeto accede a un estado que no pertenece al proceso (una base de datos, el sistema de archivos, preferencias compartidas, etc.) o ejecuta acciones que no son seguras en un entorno multiprocesos, podrían presentarse problemas de simultaneidad. Esto se debe a que podrían ejecutarse varias instancias del objeto Application simultáneamente.
- Muchas bibliotecas de terceros conservan un estado que no pertenece al proceso (p. ej., en una base de datos local) y están sujetas a los mismos problemas de simultaneidad si se inicializan desde el objeto Application. Si tu app coincide con esta descripción y piensas usar Crash Reporting en ella, te recomendamos que traslades la lógica de Application a Content Providers o a Android Activities. Cualquier lógica de Application que no sea segura para un entorno multiprocesos puede tener efectos imprevistos en tu app.
Crash Reporting exporta automáticamente los errores captados a Google Analytics como eventos app_exception. Actualmente en Android, puedes ver una discrepancia importante entre la cantidad de errores de Crash Reporting y los eventos app_exception de Analytics.
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: ¿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 de forma automática 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áximo 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 para Firebase, que ofrece un límite de tamaño máximo en el rango de terabytes para objetos individuales.
Performance Monitoring
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.
Predictions
Predictions: Acabo de agregar Google Analytics a mi app. ¿Cuándo debería ver predicciones en la consola?
Las predicciones se crean a partir del comportamiento de los usuarios y su precisión aumenta si el volumen del historial es mayor. Como mínimo, Firebase Predictions necesita datos de dos semanas: una semana de actividad para entrenar y una semana para ver qué generó esa actividad (deserción, gasto, etc.). Después de estas dos semanas, la calidad de las predicciones suele aumentar, ya que Predictions observa secuencias más extensas de actividad del usuario.
Predictions: ¿Cuánto tardan en crearse las predicciones de un usuario nuevo?
En el caso de una app que ya tiene Google Analytics y se entrenó con datos de referencia, se pueden crear predicciones de usuarios nuevos al día siguiente desde que comienzan a usar la app.
Realtime Database
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.
Realtime Database: ¿Cuáles son las limitaciones de escalamiento de Realtime Database?
Cada instancia de Realtime Database tiene límites en el número 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 un rendimiento 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 excedí 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 a la sección Uso de Realtime Database de Firebase console.
Si superaste el límite de descarga, puedes cambiar el plan 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, intenta los siguientes pasos:
- Agrega consultas para limitar los datos que muestran tus operaciones de escucha.
- Comprueba si hay consultas no indexadas.
- Agrega consultas para limitar los datos que muestran las operaciones de escucha y usa 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 para evitar las interrupciones del servicio. Si deseas 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 las 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.
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 actualizar 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 recuperan 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.
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.