SDK Firebase Android pour Kotlin : guide complet avec exemples

Formateur Python en ligne pour débutants

Apprenez Python facilement sans surcharge théorique. Résolvez des tâches pratiques avec vérification automatique et écrivez du code directement dans le navigateur.

Start Course

SDK Firebase Android pour Kotlin : guide complet avec exemples

1. Qu'est-ce que c'est et pourquoi l'utiliser

Le SDK Firebase Android est un ensemble d'outils puissants fourni par Google, offrant aux développeurs une infrastructure serveur prête à l'emploi pour les applications mobiles. Au lieu de créer et de maintenir votre propre backend, vous pouvez utiliser Firebase pour l'authentification des utilisateurs, le stockage de données en temps réel, l'envoi de notifications push, les analyses et bien plus encore. La bibliothèque s'intègre parfaitement à l'écosystème Android et est écrite en Kotlin en suivant les pratiques de développement modernes.

L'objectif principal de Firebase est d'accélérer le développement d'applications en évitant aux équipes d'écrire du code serveur complexe. Vous bénéficiez d'API prêtes à l'emploi pour les bases de données (Cloud Firestore et Realtime Database), le stockage cloud (Cloud Storage), l'authentification (Firebase Auth), les analyses (Google Analytics for Firebase) et même l'apprentissage automatique (ML Kit). Tous les services sont facilement évolutifs et ne nécessitent aucune gestion de serveur.

Pour les développeurs Kotlin, Firebase propose des API entièrement typées avec le support des coroutines, Flow et autres fonctionnalités modernes du langage. Cela rend le code plus sûr, plus lisible et plus performant. La bibliothèque est utilisée dans des millions d'applications dans le monde, y compris des géants comme The New York Times, Duolingo et Shazam.

2. Installation

Le SDK Firebase Android s'installe via le système de gestion des dépendances Gradle. Contrairement à pip ou npm, il n'y a pas de commande unique : vous devez ajouter quelques lignes dans les fichiers de votre projet.

Étape 1 : Ajout du plugin Google Services

Dans le fichier racine build.gradle.kts (niveau projet), ajoutez :

plugins {
    id("com.google.gms.google-services") version "4.4.2" apply false
}

Étape 2 : Connexion du Firebase BoM et des dépendances

Dans le fichier build.gradle.kts du module application (app), ajoutez :

plugins {
    id("com.android.application")
    id("org.jetbrains.kotlin.android")
    id("com.google.gms.google-services")
}

dependencies {
    // Firebase Bill of Materials — gère les versions
    implementation(platform("com.google.firebase:firebase-bom:33.1.0"))
    
    // Modules Firebase principaux
    implementation("com.google.firebase:firebase-analytics")
    implementation("com.google.firebase:firebase-auth")
    implementation("com.google.firebase:firebase-firestore")
    implementation("com.google.firebase:firebase-storage")
    implementation("com.google.firebase:firebase-messaging")
    implementation("com.google.firebase:firebase-config")
}

Étape 3 : Fichier google-services.json

Téléchargez le fichier google-services.json depuis la console Firebase et placez-le dans le dossier app/ de votre projet. Ce fichier contient toutes les clés et identifiants nécessaires pour vous connecter à votre projet Firebase.

3. Démarrage rapide — exemple minimal fonctionnel

Créons une application simple qui enregistre un événement d'ouverture d'écran dans Firebase Analytics.

// MainActivity.kt
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import com.google.firebase.analytics.FirebaseAnalytics
import com.google.firebase.analytics.ktx.analytics
import com.google.firebase.ktx.Firebase

class MainActivity : AppCompatActivity() {
    
    private lateinit var firebaseAnalytics: FirebaseAnalytics

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        
        // Initialisation de Firebase Analytics
        firebaseAnalytics = Firebase.analytics
        
        // Enregistrement de l'événement d'ouverture d'écran
        val bundle = Bundle().apply {
            putString(FirebaseAnalytics.Param.SCREEN_NAME, "MainScreen")
            putString(FirebaseAnalytics.Param.SCREEN_CLA                    

Recommendations