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ónktx
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
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.2.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:
Aquí se explica cómo anular una versión de biblioteca designada en la lista de materiales:
Mantener la línea para importar la plataforma BoM.
En la línea de dependencia de la biblioteca, especifique la versión de biblioteca deseada. Por ejemplo, aquí se explica cómo declarar dependencias si desea usar la versión 18.0.0 de la indexación de aplicaciones sin importar la versión designada en la BoM, pero desea usar las versiones de la BoM para la autenticación y Cloud Firestore:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:31.2.0') // Declare the dependency for the App Indexing library and specify a version // This specified library version overrides the version designated in the BoM. implementation 'com.google.firebase:firebase-appindexing:18.0.0' // Declare the dependencies for the other Firebase libraries without specifying versions // These libraries will use the versions designated in the BoM. implementation 'com.google.firebase:firebase-auth' implementation 'com.google.firebase:firebase-firestore' }
No. Para agregar y usar bibliotecas de Firebase en su aplicación, debe declarar cada biblioteca como una línea de dependencia separada en el archivo Gradle de su módulo (nivel de aplicación) (generalmente app/build.gradle
).
El uso de BoM garantiza que las versiones de cualquier biblioteca de Firebase en su aplicación sean compatibles, pero BoM en realidad no agrega esas bibliotecas de Firebase a su aplicación.
¡Sí! Cuando declare sus líneas de dependencia específicas de la biblioteca Firebase, simplemente use el nombre de la biblioteca KTX, así:
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:31.2.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-ktx' implementation 'com.google.firebase:firebase-firestore-ktx' }
No. Firebase Android BoM solo administra versiones de biblioteca para bibliotecas de Firebase. La única excepción es la inclusión del SDK de Google Mobile Ads porque se usa con mucha frecuencia en las aplicaciones de Firebase.
Aunque cada biblioteca de Firebase tiene una versión independiente, se compilan juntas para garantizar que la versión más reciente de cada biblioteca sea compatible con las demás.
Al usar BoM para administrar las versiones de la biblioteca de Firebase de su aplicación, no necesita realizar un seguimiento de qué versión de una biblioteca de Firebase es compatible con otra biblioteca de Firebase.
Incluso si solo usa una biblioteca de Firebase en su aplicación en este momento, le recomendamos que use la lista de materiales porque nunca sabe cuándo podría querer usar otra biblioteca de Firebase.
¡Sí, aún puedes usar el BoM! Para Gradle 5.0 y versiones posteriores, la compatibilidad con BoM se habilita automáticamente. Sin embargo, para versiones anteriores de Gradle, solo necesita habilitar la función BoM e importar la BoM de manera un poco diferente.
A su archivo
settings.gradle
, agregueenableFeaturePreview('IMPROVED_POM_SUPPORT')
.En el archivo Gradle de su módulo (nivel de aplicación) (generalmente
app/build.gradle
), importe el BoM como una biblioteca normal (sin el modificador deplatform
), así:dependencies { // Import the Firebase BoM implementation 'com.google.firebase:firebase-bom:31.2.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' }
Visite el repositorio del SDK de Android de Firebase en GitHub .
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.2.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 propiedadunstrippedNativeLibsDir
en el archivobuild.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
- Dependencias de los SDK de Android de Firebase en los servicios de Google Play
- Vincula tu aplicación de Firebase a Google Play
- Integre con su proyecto de servicios de Play Games