Lorsque vous développez votre projet Android à l'aide de Firebase, vous découvrirez peut-être des concepts peu familiers ou spécifiques à Firebase. Cette page vise à répondre à ces questions ou à vous orienter vers des ressources pour en savoir plus.
Si vous avez des questions sur un sujet non abordé sur cette page, n'hésitez pas à visiter l'une de nos communautés en ligne . Nous mettrons également à jour cette page avec de nouveaux sujets périodiquement, alors revenez pour voir si nous avons ajouté le sujet sur lequel vous souhaitez en savoir plus !
Plugin Firebase Assistant pour Android Studio
L'Assistant Firebase est un plugin Android Studio qui enregistre votre application Android avec un projet Firebase et ajoute les fichiers de configuration, plugins et dépendances Firebase nécessaires à votre projet Android, le tout depuis Android Studio !
Suivez les instructions de la page de démarrage d'Android pour utiliser l'assistant Firebase. Assurez-vous que vous utilisez les versions les plus récentes d'Android Studio et de Firebase Assistant (accédez à Fichier > Rechercher les mises à jour ).
Lorsque vous sélectionnez des produits Firebase spécifiques à ajouter à votre application, l'assistant Firebase déclare automatiquement les dépendances requises dans votre fichier app/build.gradle
. Cependant, pour utiliser des fonctionnalités de Firebase qui vont au-delà des capacités actuelles de l'assistant Firebase, vous souhaiterez peut-être apporter des modifications manuelles à ces dépendances :
Si vous souhaitez utiliser Firebase Android BoM , mettez à jour les dépendances dans le fichier Gradle de votre module (au niveau de l'application) (généralement
app/build.gradle
) pour importer la plate-forme BoM. Vous devrez également supprimer les versions de chaque ligne de dépendance de la bibliothèque Firebase.Si vous souhaitez utiliser une bibliothèque d'extensions Kotlin , modifiez la ligne de dépendance ajoutée au fichier Gradle de votre module (au niveau de l'application) (généralement
app/build.gradle
) pour utiliser à la place la versionktx
de la bibliothèque Firebase.
Services Google – plugin et fichier de configuration
Dans le cadre de l'ajout de Firebase à votre projet Android, vous devez ajouter le plugin google-services
et un fichier de configuration
à votre projet.
Si vous ajoutez Firebase à votre projet Android via la console Firebase , l' API REST de gestion ou la CLI Firebase , vous devez ajouter manuellement le plugin et le fichier de configuration à votre projet. Cependant, si vous utilisez Firebase Assistant , ces tâches sont automatiquement effectuées pour vous lors de la configuration.
Consultez la documentation Android pour découvrir comment le plug-in des services Google et le fichier de configuration fonctionnent ensemble.
Nomenclature Android Firebase (nomenclature)
La BoM (Bill of Materials) Android Firebase vous permet de gérer toutes les versions de votre bibliothèque Firebase en spécifiant une seule version : la version de la BoM.
Lorsque vous utilisez Firebase BoM dans votre application, la BoM extrait automatiquement les versions de bibliothèque individuelles mappées à la version de BoM. Toutes les versions individuelles de la bibliothèque seront compatibles. Lorsque vous mettez à jour la version de la BoM dans votre application, toutes les bibliothèques Firebase que vous utilisez dans votre application seront mises à jour vers les versions mappées à cette version de la BoM.
Pour savoir quelles versions de la bibliothèque Firebase sont mappées à une version spécifique de la BoM, consultez les notes de version de cette version de la BoM. Si vous devez comparer les versions de bibliothèque mappées à une version de BoM par rapport à une autre version de BoM, utilisez le widget de comparaison ci-dessous.
Apprenez-en davantage sur la prise en charge par Gradle des plates-formes BoM .
Voici comment utiliser la BoM Android Firebase pour déclarer des dépendances dans le fichier Gradle de votre module (au niveau de l'application) (généralement app/build.gradle
). Lorsque vous utilisez la BoM, vous ne spécifiez pas les versions de bibliothèque individuelles dans les lignes de dépendance.
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.4.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' }
Voici quelques questions fréquemment posées sur l'utilisation de la BoM Android de Firebase :
Voici comment remplacer une version de bibliothèque désignée dans la nomenclature :
Maintenez la ligne pour importer la plateforme BoM.
Dans la ligne de dépendance de la bibliothèque, précisez la version de la bibliothèque souhaitée. Par exemple, voici comment déclarer des dépendances si vous souhaitez utiliser la version 18.0.0 d'App Indexing, quelle que soit la version désignée dans la BoM, mais que vous souhaitez utiliser les versions de la BoM pour l'authentification et Cloud Firestore :
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.4.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' }
Non. Pour réellement ajouter et utiliser des bibliothèques Firebase dans votre application, vous devez déclarer chaque bibliothèque en tant que ligne de dépendance distincte dans le fichier Gradle de votre module (au niveau de l'application) (généralement app/build.gradle
).
L'utilisation de la BoM garantit que les versions de toutes les bibliothèques Firebase de votre application sont compatibles, mais la BoM n'ajoute pas réellement ces bibliothèques Firebase à votre application.
Oui! Lorsque vous déclarez les lignes de dépendance spécifiques de votre bibliothèque Firebase, utilisez simplement le nom de la bibliothèque KTX, comme ceci :
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.4.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' }
Non. La BoM Android de Firebase gère uniquement les versions de bibliothèque pour les bibliothèques Firebase. La seule exception est l'inclusion du SDK Google Mobile Ads, car il est très couramment utilisé dans les applications Firebase.
Même si chaque bibliothèque Firebase est versionnée indépendamment, elles sont construites ensemble pour garantir que la dernière version de chaque bibliothèque est compatible avec les autres.
En utilisant la BoM pour gérer les versions de la bibliothèque Firebase de votre application, vous n'avez pas besoin de savoir quelle version d'une bibliothèque Firebase est compatible avec une autre bibliothèque Firebase.
Même si vous n'utilisez actuellement qu'une seule bibliothèque Firebase dans votre application, nous vous recommandons toujours d'utiliser la BoM, car vous ne savez jamais quand vous souhaiterez peut-être utiliser une autre bibliothèque Firebase !
Oui, vous pouvez toujours utiliser la BoM ! Pour Gradle 5.0 et versions ultérieures, la prise en charge de BoM est automatiquement activée. Cependant, pour les versions antérieures de Gradle, il vous suffit d' activer la fonctionnalité BoM et d'importer la BoM un peu différemment.
À votre fichier
settings.gradle
, ajoutezenableFeaturePreview('IMPROVED_POM_SUPPORT')
.Dans le fichier Gradle de votre module (au niveau de l'application) (généralement
app/build.gradle
), importez la BoM comme une bibliothèque normale (sans le modificateurplatform
), comme ceci :dependencies { // Import the Firebase BoM implementation 'com.google.firebase:firebase-bom:32.4.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' }
Visitez le dépôt Firebase Android SDK sur GitHub .
Comparez les versions de la BoM Firebase
Modules de bibliothèque d'extensions Kotlin (KTX)
Les modules de bibliothèque d'extensions Firebase Kotlin (KTX) sont de petits compagnons des principaux modules de bibliothèque Firebase, et vous pouvez les utiliser pour écrire du code Kotlin magnifique et idiomatique.
Pour utiliser un module de bibliothèque KTX dans votre application, modifiez votre dépendance pour inclure le suffixe -ktx
. Chaque module KTX a automatiquement une dépendance sur le module de bibliothèque principal, il n'est donc pas nécessaire d'inclure les deux dépendances dans votre application.
dependencies { // Import the BoM for the Firebase platform (learn more) implementation platform('com.google.firebase:firebase-bom:32.4.0')// Declare the main module implementation 'com.google.firebase:firebase-analytics'// Declare the KTX module instead (which automatically has a dependency on the main module) implementation 'com.google.firebase:firebase-analytics-ktx' }
Chaque module KTX fournit différentes extensions syntaxiques du module principal. Par exemple, le module Analytics KTX simplifie la journalisation des événements :
Avant (en utilisant le module principal)
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);
Après (en utilisant le module KTX à la place)
firebaseAnalytics.logEvent(FirebaseAnalytics.Event.SELECT_ITEM) { param(FirebaseAnalytics.Param.ITEM_ID, id) param(FirebaseAnalytics.Param.ITEM_NAME, name) param(FirebaseAnalytics.Param.CONTENT_TYPE, "image") }
Tous les produits Firebase proposent un module KTX à l'exception de Firebase ML et App Indexing.
Si vous ne l'avez pas encore fait, consultez les documents de référence API pour les modules KTX.
Modules de fonctionnalités et fourniture de fonctionnalités Play
Depuis mai 2021 (Firebase BoM v28.0.0), les SDK Firebase Android peuvent être utilisés dans des modules de fonctionnalités dynamiques installés séparément de votre module d'application de base.
Pour activer la prise en charge des modules de fonctionnalités dynamiques, ajoutez la dépendance suivante au fichier build.gradle
de votre module de base :
dependencies {
implementation 'com.google.firebase:firebase-dynamic-module-support:16.0.0-beta03'
}
Maintenant que vous avez ajouté la prise en charge des modules dynamiques, vous pouvez ajouter des dépendances du SDK Firebase (avec ou sans la BoM Firebase) aux modules de fonctionnalités de votre application et les utiliser comme vous le feriez normalement.
Par exemple, si votre application utilise Realtime Database pour alimenter une fonctionnalité en temps réel spécifique, vous pouvez ajouter la dépendance firebase-database
au build.gradle
du module de fonctionnalités plutôt qu'au module de base. Cela réduira la taille du téléchargement pour la plupart des utilisateurs.
Tenez compte des mises en garde suivantes lorsque vous utilisez les SDK Firebase dans des modules de fonctionnalités :
Les produits tels que Dynamic Links ou Firebase In-App Messaging qui s'appuient sur l'événement Analytics
first_open
peuvent manquer cet événement lorsqu'ils sont utilisés dans un module de fonctionnalités dynamiques.Lorsque vous utilisez Cloud Firestore et l'authentification ensemble, vous devez toujours les inclure tous les deux dans le même module. Si cela n'est pas possible, assurez-vous que l'authentification est chargée avant Cloud Firestore ; sinon, certaines opérations Cloud Firestore peuvent avoir un état d'authentification incorrect.
Lorsque vous utilisez
firebase-crashlytics-ndk
comme dépendance d'un module de fonctionnalités dynamiques, vous devez définir la propriétéunstrippedNativeLibsDir
dans le fichierbuild.gradle
de votre application, comme décrit dans la documentation Crashlytics NDK .
Pour plus d’informations sur les modules de fonctionnalités et Play Feature Delivery, visitez Présentation de Play Feature Delivery .
Services Google Plugin Gradle vs services Google Play vs Google Play Store
Plusieurs éléments de l'écosystème Google, Firebase et Android ont des conventions de dénomination similaires. Voici une brève explication pour chacun :
- Plugin Gradle des services Google
- Un plugin Gradle (
com.google.gms.google-services
) qui s'exécute au moment de la construction pour garantir que votre application dispose de la bonne configuration pour accéder aux API Firebase et Google - Malgré son nom, ce plugin n'a aucun rapport avec les services Google Play (voir entrée suivante) et n'a aucun impact sur les capacités de votre application au moment de l'exécution.
- Ce plugin traite également le fichier
google-services.json
que vous ajoutez à votre application dans le cadre de la configuration de Firebase. En savoir plus sur le plugin Gradle des services Google . - Services Google Play
- Un service d'arrière-plan invisible qui s'exécute sur un appareil Android et fournit plusieurs API Google courantes (telles que Google Maps et Google Sign In) aux applications de l'appareil.
- En centralisant ces API communes dans un seul service, cela réduit la taille des autres applications et permet à un appareil de recevoir des mises à jour de sécurité automatiques et des améliorations de fonctionnalités sans mise à jour du système d'exploitation. En savoir plus sur les services Google Play .
- Google Play Store
- Une boutique pour télécharger des applications, des films, des livres et bien plus encore sur un appareil Android
- En tant que développeur, vous gérez la distribution, les versions, etc. de votre application via la console Google Play. Si un appareil dispose du Google Play Store, il exécute également les services Google Play (voir l'entrée précédente). En savoir plus sur le Google Play Store pour les développeurs .
- Services de jeux Google Play
- Un ensemble d'API pour les développeurs de jeux mobiles
- Apprenez-en davantage sur les services Google Play Games et sur la manière d' intégrer Firebase à votre projet de services Google Play Games .
Ressources Open Source pour les SDK Android Firebase
Firebase prend en charge le développement open source et nous encourageons les contributions et les commentaires de la communauté.
SDK Android Firebase
La plupart des SDK Firebase Android sont développés en tant que bibliothèques open source dans notre référentiel public Firebase GitHub . Nous travaillons activement pour déplacer bientôt les bibliothèques Firebase développées en privé vers notre GitHub public !
Exemples de démarrage rapide
Firebase gère une collection d'exemples de démarrage rapide pour la plupart des API Firebase sur Android. Retrouvez ces démarrages rapides dans notre référentiel de démarrage rapide public Firebase GitHub .
Vous pouvez ouvrir chaque démarrage rapide en tant que projet Android Studio, puis les exécuter sur un appareil mobile ou un appareil virtuel (AVD). Vous pouvez également utiliser ces démarrages rapides comme exemple de code pour utiliser les SDK Firebase.
Autres sujets d'intérêt
- Dépendances des SDK Android Firebase sur les services Google Play
- Associez votre application Firebase à Google Play
- Intégration à votre projet de services Play Jeux