Catch up on highlights from Firebase at Google I/O 2023. Learn more

En savoir plus sur Android et Firebase

Lorsque vous développez votre projet Android à l'aide de Firebase, vous découvrirez peut-être des concepts inconnus ou spécifiques à Firebase. Cette page vise à répondre à ces questions ou à vous diriger vers des ressources pour en savoir plus.

Si vous avez des questions sur un sujet non traité sur cette page, n'hésitez pas à visiter l'une de nos communautés en ligne . Nous mettrons également régulièrement à jour cette page avec de nouveaux sujets, alors revenez pour voir si nous avons ajouté le sujet sur lequel vous souhaitez en savoir plus !

Plug-in Firebase Assistant pour Android Studio

L'assistant Firebase est un plug-in Android Studio qui enregistre votre application Android avec un projet Firebase et ajoute les fichiers de configuration, plug-ins 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 l'assistant Firebase (accédez à Fichier > Vérifier 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 les fonctionnalités de Firebase qui vont au-delà des capacités actuelles de l'assistant Firebase, vous souhaiterez peut-être apporter quelques 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 version ktx de la bibliothèque Firebase.

Services Google — plug-in et fichier de configuration

Dans le cadre de l'ajout de Firebase à votre projet Android, vous devez ajouter le plug-in google-services et un fichier de configuration google-services.json à 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 plug-in et le fichier de configuration à votre projet. Cependant, si vous utilisez l' assistant Firebase , ces tâches sont automatiquement effectuées pour vous lors de la configuration.

Consultez la documentation Android pour savoir comment le plug-in des services Google et le fichier de configuration fonctionnent ensemble.

BoM Android Firebase (Bill of Materials)

La nomenclature Firebase Android (Bill of Materials) vous permet de gérer toutes les versions de votre bibliothèque Firebase en spécifiant une seule version : la version de la nomenclature.

Lorsque vous utilisez la BoM Firebase dans votre application, la BoM extrait automatiquement les versions de bibliothèque individuelles mappées à la version de la BoM. Toutes les versions individuelles de la bibliothèque seront compatibles. Lorsque vous mettez à jour la version de 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 BoM.

Pour savoir quelles versions de la bibliothèque Firebase sont mappées à une version BoM spécifique, consultez les notes de publication de cette version BoM. Si vous avez besoin de 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.

En savoir plus sur la prise en charge de Gradle pour les plates-formes BoM .

Voici comment utiliser le Firebase Android BoM 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 nomenclature, 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.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'
}

Voici quelques questions fréquemment posées sur l'utilisation de Firebase Android BoM :

Comparer les versions de la nomenclature Firebase

Bibliothèques d'extensions Kotlin (KTX)

Les bibliothèques d'extensions Firebase Kotlin (KTX) sont de petits compagnons des SDK Firebase de base qui vous permettent d'écrire du code Kotlin beau et idiomatique.

Pour utiliser une bibliothèque KTX dans votre application, modifiez votre dépendance pour inclure le suffixe -ktx . Chaque bibliothèque KTX a automatiquement une dépendance sur la bibliothèque de base, 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.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'
}

Chaque bibliothèque KTX fournit différentes extensions syntaxiques de la bibliothèque de base. Par exemple, la bibliothèque Analytics KTX simplifie la journalisation des événements :

Avant (en utilisant la bibliothèque de 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);

Après (en utilisant la bibliothèque 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 une bibliothèque KTX à l'exception de Firebase ML et App Indexing.

Si vous ne l'avez pas encore fait, consultez les documents de référence de l'API pour les bibliothèques KTX.

Modules de fonctionnalités et livraison 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 qui sont 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 le BoM Firebase) aux modules de fonctionnalité de votre application et les utiliser comme vous le feriez normalement.

Par exemple, si votre application utilise une base de données en temps réel 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é 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 lors de l'utilisation des SDK Firebase dans les modules de fonctionnalités :

  • Les produits tels que Dynamic Links ou Firebase In-App Messaging qui reposent sur l'événement Analytics first_open peuvent manquer cet événement lorsqu'ils sont utilisés dans un module de fonctionnalité dynamique.

  • Lorsque vous utilisez Cloud Firestore et Authentification ensemble, vous devez toujours les inclure dans le même module. Si ce 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 en tant que dépendance d'un module de fonctionnalités dynamiques, vous devez définir la propriété unstrippedNativeLibsDir dans le fichier build.gradle de votre application, comme décrit dans la documentation Crashlytics NDK .

Pour plus d'informations sur les modules de fonctionnalités et la livraison des fonctionnalités Play, consultez Présentation de la livraison des fonctionnalités Play .

Plugin Gradle des services Google 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 :

Plug-in 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 a 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 l'entrée suivante) et n'a aucun impact sur les capacités de votre application lors de son exécution.
Ce plug-in 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 plug-in 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 (comme Google Maps et Google Sign In) aux applications sur l'appareil
En centralisant ces API communes en 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 plus encore sur un appareil Android
En tant que développeur, vous gérez la distribution, les versions, etc. de votre application via la Google Play Console. 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
En savoir plus sur les services Google Play Jeux et sur l'intégration de Firebase à votre projet de services Google Play Jeux .

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é restantes 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 guides de démarrage rapide dans notre dépôt public de démarrage rapide 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 guides de démarrage rapide comme exemple de code pour utiliser les SDK Firebase.

Autres sujets d'intérêt