Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Más información sobre Android y Firebase

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Mientras desarrolla su proyecto de Android con Firebase, es posible que descubra conceptos desconocidos o específicos de Firebase. Esta página tiene como objetivo responder esas preguntas o señalarle recursos para obtener más información.

Si tiene preguntas sobre un tema que no se trata en esta página, no dude en visitar una de nuestras comunidades en línea . También actualizaremos esta página con nuevos temas periódicamente, así que vuelva a consultar para ver si hemos agregado el tema sobre el que desea obtener información.

Complemento del Asistente de Firebase para Android Studio

Firebase Assistant es un complemento de Android Studio que registra su aplicación de Android con un proyecto de Firebase y agrega los archivos de configuración, los complementos y las dependencias necesarios de Firebase a su proyecto de Android, ¡todo desde Android Studio!

Siga las instrucciones en la página de introducción de Android para usar el Asistente de Firebase. Asegúrese de estar usando las versiones más actualizadas de Android Studio y Firebase Assistant (vaya a Archivo > Buscar actualizaciones ).

Cuando selecciona productos específicos de Firebase para agregarlos a su aplicación, Firebase Assistant declara automáticamente las dependencias requeridas en su archivo app/build.gradle . Sin embargo, para usar funciones de Firebase que están más allá de las capacidades actuales del Asistente de Firebase, es posible que desee realizar algunos cambios manuales en estas dependencias:

  • Si desea utilizar Firebase Android BoM , actualice las dependencias en el archivo Gradle de su módulo (a nivel de aplicación) (generalmente app/build.gradle ) para importar la plataforma BoM. También deberá eliminar las versiones de cada línea de dependencia de la biblioteca de Firebase.

  • Si desea usar una biblioteca de extensiones de Kotlin , modifique la línea de dependencia agregada al archivo Gradle de su módulo (nivel de aplicación) (generalmente app/build.gradle ) para usar la versión ktx de la biblioteca de Firebase en su lugar.

Servicios de Google: complemento y archivo de configuración

Como parte de agregar Firebase a su proyecto de Android, debe agregar el complemento google-services y un archivo de configuración google-services.json a su proyecto.

Si agrega Firebase a su proyecto de Android a través de Firebase console , Management REST API o Firebase CLI , debe agregar manualmente el complemento y el archivo de configuración a su proyecto. Sin embargo, si usa Firebase Assistant , estas tareas se realizan automáticamente durante la configuración.

Visite la documentación de Android para obtener información sobre cómo funcionan juntos el complemento de servicios de Google y el archivo de configuración.

Firebase Android BoM (Lista de materiales)

La BoM (Lista de materiales) de Android de Firebase le permite administrar todas las versiones de su biblioteca de Firebase especificando solo una versión: la versión de la BoM.

Cuando usa la lista de materiales de Firebase en su aplicación, la lista de materiales extrae automáticamente las versiones de biblioteca individuales asignadas a la versión de la lista de materiales. Todas las versiones de la biblioteca individual serán compatibles. Cuando actualice la versión de BoM en su aplicación, todas las bibliotecas de Firebase que use en su aplicación se actualizarán a las versiones asignadas a esa versión de BoM.

Para saber qué versiones de la biblioteca de Firebase están asignadas a una versión de BoM específica, consulte las notas de la versión de esa versión de BoM. Si necesita comparar las versiones de la biblioteca asignadas a una versión de BoM en comparación con otra versión de BoM, use el widget de comparación a continuación.

Obtén más información sobre la compatibilidad de Gradle con las plataformas BoM .

Aquí se explica cómo usar Firebase Android BoM para declarar dependencias en el archivo Gradle de su módulo (a nivel de aplicación) (generalmente app/build.gradle ). Al usar la lista de materiales, no especifica versiones de bibliotecas individuales en las líneas de dependencia.

dependencies {
  // Import the BoM for the Firebase platform
  implementation platform('com.google.firebase:firebase-bom:31.1.0')

  // Declare the dependencies for the desired Firebase products without specifying versions
  // For example, declare the dependencies for Firebase Authentication and Cloud Firestore
  implementation 'com.google.firebase:firebase-auth'
  implementation 'com.google.firebase:firebase-firestore'
}

Aquí hay algunas preguntas frecuentes sobre el uso de Firebase Android BoM:

Comparar versiones de BoM de Firebase

Bibliotecas de extensiones de Kotlin (KTX)

Las bibliotecas de extensiones Firebase Kotlin (KTX) son pequeños complementos de los SDK básicos de Firebase que le permiten escribir código Kotlin hermoso e idiomático.

Para usar una biblioteca KTX en su aplicación, cambie su dependencia para incluir el sufijo -ktx . Cada biblioteca KTX tiene automáticamente una dependencia en la biblioteca base, por lo que no es necesario incluir ambas dependencias en su aplicación.

dependencies {
  // Import the BoM for the Firebase platform (learn more)
  implementation platform('com.google.firebase:firebase-bom:31.1.0')

  // Declare the base library
  implementation 'com.google.firebase:firebase-analytics'

  // Declare the KTX library instead (which automatically has a dependency on the base library)
  implementation 'com.google.firebase:firebase-analytics-ktx'
}

Cada biblioteca KTX proporciona diferentes extensiones sintácticas de la biblioteca base. Por ejemplo, la biblioteca Analytics KTX simplifica el registro de eventos:

Antes (usando la biblioteca base)

val analytics = FirebaseAnalytics.getInstance();
val bundle = Bundle();
bundle.putString(FirebaseAnalytics.Param.ITEM_ID, id);
bundle.putString(FirebaseAnalytics.Param.ITEM_NAME, name);
bundle.putString(FirebaseAnalytics.Param.CONTENT_TYPE, "image");
analytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM, bundle);

Después (usando la biblioteca KTX en su lugar)

firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) {
    param(FirebaseAnalytics.Param.ITEM_ID, id)
    param(FirebaseAnalytics.Param.ITEM_NAME, name)
    param(FirebaseAnalytics.Param.CONTENT_TYPE, "image")
}

Todos los productos de Firebase ofrecen una biblioteca KTX excepto Firebase ML y App Indexing.

Si aún no lo ha hecho, consulte los documentos de referencia de API para las bibliotecas KTX.

Módulos de funciones y entrega de funciones de Play

A partir de mayo de 2021 (Firebase BoM v28.0.0), los SDK de Android de Firebase se pueden usar en módulos de funciones dinámicas que se instalan por separado de su módulo de aplicación base.

Para habilitar la compatibilidad con módulos de características dinámicas, agregue la siguiente dependencia al archivo build.gradle de su módulo base :

dependencies {
  implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta03'
}

Ahora que agregó la compatibilidad con módulos dinámicos, puede agregar dependencias del SDK de Firebase (con o sin Firebase BoM) para incluir módulos de su aplicación y usarlos como lo haría normalmente.

Por ejemplo, si su aplicación usa Realtime Database para potenciar una función específica en tiempo real, podría agregar la dependencia firebase-database al build.gradle del módulo de funciones en lugar del módulo base. Esto reducirá el tamaño de descarga para la mayoría de los usuarios.

Tenga en cuenta las siguientes advertencias al usar los SDK de Firebase en los módulos de funciones:

  • Los productos como Dynamic Links o Firebase In-App Messaging que se basan en el evento first_open de Analytics pueden perder este evento cuando se usan en un módulo de funciones dinámicas.

  • Cuando use Cloud Firestore y Authentication juntos, siempre debe incluirlos en el mismo módulo. Si esto no es posible, asegúrese de que la autenticación esté cargada antes que Cloud Firestore; de lo contrario, algunas operaciones de Cloud Firestore pueden tener un estado de autenticación incorrecto.

  • Al usar firebase-crashlytics-ndk como una dependencia de un módulo de funciones dinámicas, debe establecer la propiedad unstrippedNativeLibsDir en el archivo build.gradle de su aplicación, como se describe en la documentación del NDK de Crashlytics .

Para obtener más información sobre los módulos de funciones y la entrega de funciones de Play, visite Descripción general de la entrega de funciones de Play.

Complemento Gradle de servicios de Google frente a servicios de Google Play frente a Google Play Store

Varias piezas del ecosistema de Google, Firebase y Android tienen convenciones de nomenclatura similares. Aquí hay una breve explicación para cada uno:

Complemento Gradle de servicios de Google
Un complemento de Gradle ( com.google.gms.google-services ) que se ejecuta en el momento de la compilación para garantizar que su aplicación tenga la configuración correcta para acceder a las API de Firebase y Google
A pesar de su nombre, este complemento no tiene relación con los servicios de Google Play (consulte la siguiente entrada) y no tiene impacto en las capacidades de su aplicación en tiempo de ejecución.
Este complemento también procesa el archivo google-services.json que agrega a su aplicación como parte de la configuración de Firebase. Obtenga más información sobre el complemento Gradle de servicios de Google .
Servicios de Google Play
Un servicio en segundo plano invisible que se ejecuta en un dispositivo Android y proporciona varias API comunes de Google (como Google Maps y Google Sign In) para aplicaciones en el dispositivo
Al centralizar estas API comunes en un solo servicio, reduce el tamaño de otras aplicaciones y permite que un dispositivo reciba actualizaciones de seguridad automáticas y mejoras de funciones sin una actualización del sistema operativo. Obtén más información sobre los servicios de Google Play .
Tienda de juegos de Google
Una tienda para descargar aplicaciones, películas, libros y más en un dispositivo Android
Como desarrollador, administra la distribución, los lanzamientos, etc. de su aplicación a través de Google Play Console. Si un dispositivo tiene Google Play Store, también está ejecutando los servicios de Google Play (ver entrada anterior). Obtén más información sobre Google Play Store para desarrolladores .
Servicios de juegos de Google Play
Un conjunto de API para desarrolladores de juegos móviles
Obtenga más información sobre los servicios de Google Play Games y cómo integrar Firebase con su proyecto de servicios de Google Play Games .

Recursos de código abierto para los SDK de Android de Firebase

Firebase admite el desarrollo de código abierto y alentamos las contribuciones y los comentarios de la comunidad.

SDK de Android de Firebase

La mayoría de los SDK de Android de Firebase se desarrollan como bibliotecas de código abierto en nuestro repositorio público de Firebase GitHub . ¡Estamos trabajando activamente para mover las bibliotecas de Firebase desarrolladas de forma privada restantes a nuestro GitHub público pronto!

Ejemplos de inicio rápido

Firebase mantiene una colección de muestras de inicio rápido para la mayoría de las API de Firebase en Android. Encuentre estos inicios rápidos en nuestro repositorio público de inicio rápido de Firebase GitHub .

Puede abrir cada inicio rápido como un proyecto de Android Studio y luego ejecutarlos en un dispositivo móvil o un dispositivo virtual (AVD). O puede usar estos inicios rápidos como código de ejemplo para usar los SDK de Firebase.

Otros temas de interés