¿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.
Actualiza a Firebase
¿Cómo agrego Firebase a un proyecto existente de Google?
Es posible que tengas proyectos administrados a través de Google Cloud Console o la consola de las 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, haz clic en Agregar proyecto en la página de destino de Firebase console y, luego, selecciona el proyecto en el menú Nombre del proyecto.
Proyectos y Firebase console
¿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.
¿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, siempre y cuando la cuenta de facturación de Cloud 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?
Un proyecto es un contenedor para apps en iOS, Android y la Web. Si bien no existe una restricción para la cantidad de apps que pertenecen a un proyecto, agregar una app puede crear 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 dentro de un mismo proyecto.
Asegúrate de que todas las apps de un 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.
¿Debo proporcionar una clave 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 el algoritmo SHA-1 que especificaste. Para resolverlo, sigue estas instrucciones.
¿Cómo se determina el idioma de Firebase console?
La configuración de idioma de Firebase console depende del idioma que seleccionaste en la configuración de la Cuenta de Google, en “Preferencias de la cuenta” > “Herramientas de captura de texto e 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 el proyecto.
- El visualizador de un proyecto solo tiene acceso de lectura para el proyecto. Ten en cuenta que, por el momento, nuestra IU no oculta ni inhabilita los controles de edición para los visualizadores de un proyecto. Sin embargo, se producirán errores si una persona con función de visualizador intenta usarlos.
Firebase también admite las siguientes funciones:
- Funciones predefinidas de Firebase: Funciones seleccionadas específicas de Firebase que proporcionan 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 puedes crear para adaptar un conjunto de permisos que cumplen con los requisitos específicos de tu organización
¿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.
¿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 móviles no son totalmente compatibles en la actualidad.
¿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 quitará la compatibilidad con Xcode 9, y Xcode 10 será la única versión principal compatible.
Los cambios en la compatibilidad de versiones menores específicas 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 a tu 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 alojado en GitHub.
Precios
¿Qué productos se pagan? ¿Cuáles son gratuitos?
Los productos de infraestructura pagos de Firebase son Realtime Database, 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: Analytics, Cloud Messaging, Compositor de Notifications, Remote Config, App Indexing, Dynamic Links, Invites 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.
¿Cómo elijo el plan correcto para mí?
Nuestro plan Spark es una excelente manera de crear una app sin cargo, ya sea como pasatiempo o con vistas al establecimiento de una startup exitosa. Obtienes todas las funciones gratuitas de Firebase (Analytics, Compositor de Notifications, Crash Reporting, etc.) y amplio acceso a nuestras funciones de infraestructura pagas. 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 Platform no están disponibles en el nivel Spark.
Nuestro plan Flame está diseñado para startups y apps de producción pequeñas que buscan un precio bajo y predecible, pero con más capacidad que nuestras ofertas de nivel gratuito para los recursos de Realtime Database, Storage o Hosting. Al igual que el plan Spark, Google Cloud Platform no está disponible para el plan Flame. Si superas la cuota de los recursos del plan durante un mes, la app se desactiva por el resto de ese mes.
Nuestro plan Blaze está diseñado para apps de producción a gran escala y apps que no pueden aceptar tiempos de inactividad por superar los límites del plan. El plan Blaze también te permite extender la app con funciones pagas de Google Cloud Platform. 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.
Firebase console te permite hacer un seguimiento del uso de los recursos de Realtime Database y Hosting. Consulta el uso de Realtime Database y el uso de Hosting.
¿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 físico al día
Si cambio del plan Spark al Blaze, ¿se restablece el 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 de descarga en los planes Spark o Flame para Realtime Database?
Para ofrecerte un precio predecible, los recursos disponibles para ti en los planes Spark y Flame 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 para 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 de los planes Spark o Flame para Cloud Storage?
Cuando superas los límites de Cloud Storage en un proyecto de los planes Spark o Flame, 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 los 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 con Google Cloud Platform?
Firebase se integra estrechamente a Google Cloud Platform. Los proyectos se comparten entre Firebase y Google Cloud Platform, de manera que puedan tener habilitados servicios de ambas plataformas. Puedes acceder al mismo proyecto desde Firebase console o Google Cloud Console. Específicamente, ocurre lo siguiente:
- Google Cloud Platform respalda directamente algunas funciones de Firebase, como Firebase Storage. Con el tiempo, seguirá ampliándose la lista de funciones respaldadas por Google Cloud Platform.
- Firebase y Google Cloud Platform 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 Platform aparece en la misma factura.
Además, cuando cambias al plan Blaze, puedes usar las API y la infraestructura como servicio de primer nivel de Google Cloud Platform directamente en el proyecto de Firebase y según los precios de Google Cloud Platform. También puedes exportar datos desde Google Analytics para Firebase directamente 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 Platform 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 el proyecto se encuentra en los planes Spark o Flame.
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 pasar 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 los EE.UU. Todas las cuentas están limitadas a diez preguntas técnicas (solución de problemas) por año, pero tienen asistencia ilimitada para problemas de facturación y de la cuenta o para informar 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.
¿Se prorratean las tarifas del plan Flame si cambio de plan a mitad de mes?
En caso de que pases a un plan superior, sí; en caso de que pases a un plan inferior, no. Puedes cambiar de plan cuando lo desees. Se prorratean las actualizaciones a un plan superior, pero los cambios a planes inferiores no. Si te registras en el plan Flame a mitad de mes, se cobrará solo por lo que queda del mes. Sin embargo, si pasas a un plan inferior a mitad de mes, se te cobrará lo que falta de ese mes (hacemos esto para evitar abusos).
¿Ofrecen descuentos para proyectos con fines educativos, 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, sin fines de lucro ni de código abierto.
¿Ofrecen hosting con infraestructura dedicada, asistencia, precios o contactos 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 pagar por el uso de 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 pagos de Firebase con Ads? ¿Hay créditos de publicidad gratuitos con los planes pagos?
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 hacer el seguimiento de conversiones.
Todas las campañas de anuncios se administran de manera directa en Ads, y la facturación de Ads se administra desde Ads Console.
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 y 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 encontrar el código fuente completo, incluidos los valores que se registran, en [GitHub](https://github.com/firebase/firebase-ios-sdk/tree/master/Firebase/CoreDiagnostics).
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 orientació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 útiles 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.
¿Cómo puedo segmentar a los usuarios que no cumplen con algún criterio?
Si debes reformular el problema, puedes usar la orientació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 al cual te podrás orientar.
¿Cómo controlo el modo en que se comparten mis datos de estadísticas 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 del uso compartido de datos.
¿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.
¿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 Analytics 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.
¿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.
¿Qué es Firebase User Segmentation Storage?
Firebase User Segmentation Storage almacena las listas de públicos que creaste para proporcionar información de orientación a otros servicios de Firebase que las utilizan, como Crashlytics, FCM, Predictions y muchos más.
¿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.
¿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í.
¿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 puede realizar en Google Analytics. Esos cambios se reflejarán en Firebase.
Desarrolla
Firebase Authentication: ¿En qué países se admite la autenticación por teléfono?
Firebase Authentication admite la verificación con el número telefónico 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 | Micronesia, Estado federado de |
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 |
GP | 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 |
Crash Reporting: ¿Por qué hay menos informes de errores 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 Aplication 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, es posible que veas una discrepancia importante entre la cantidad de errores de Crash Reporting y los eventos app_exception de Analytics.
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 código 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 | |
---|---|---|---|
Destino | 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 análisis y análisis de embudo integrados en Notifications |
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 oriento 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 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 los siguientes:
- 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 cómo recibir y administrar mensajes.
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 las descargas, sigue estos 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 en 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.
Storage: ¿Por qué no puedo usar Cloud Storage?
Firebase Storage crea un depósito predeterminado en el nivel gratuito de Google 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 Platform.
Sin embargo, hay dos casos conocidos en los que este depósito no se puede crear y no es posible usar Firebase Storage:
- Un proyecto importado desde Google Cloud Platform que tenía una aplicación de almacén de datos maestro/esclavo de Google App Engine.
-
Un proyecto importado desde Google Cloud Platform 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 Firebase Storage en él.
Crece y gana
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é 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?
Comúnmente, los dispositivos reciben los valores recuperados en menos de un segundo y a menudo los reciben 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.
Dynamic Links: ¿Por qué mi app de 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.
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 | |
---|---|---|---|
Destino | 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 análisis y análisis de embudo integrados en Notifications |
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 orientarse a 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 desarrollador que usa GCM y deseas utilizar 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.
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.
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 los 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.
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.
A/B Testing: ¿Cuántos experimentos puedo crear y ejecutar?
Puedes tener 20 experimentos por proyecto, que pueden incluir hasta 6 experimentos en ejecución y hasta 14 borradores de experimentos.
Sin embargo, una instancia de app o usuario final solo se puede incluir en 3 experimentos a la vez. Por ejemplo, si creas 6 experimentos orientados al 100% de la población de usuarios relacionada, las instancias de app aptas para más de 3 experimentos activos reciben solo los 3 experimentos menos recientes. En este caso, es posible que los experimentos 4, 5 y 6 terminen sin usuarios.