Ce guide de démarrage rapide explique comment configurer Firebase Crashlytics dans votre application avec le SDK Firebase Crashlytics afin de pouvoir obtenir des rapports d'erreur complets dans la console Firebase. Avec Crashlytics pour Android, vous recevez des rapports sur les plantages, les erreurs non fatales et les erreurs ANR (l'application ne répond pas).
La configuration de Crashlytics nécessite des tâches à la fois dans la console Firebase et dans votre IDE (comme ajouter un fichier de configuration Firebase et le SDK Crashlytics). Pour terminer la configuration, vous devez forcer un plantage de test afin d'envoyer votre premier rapport de plantage à Firebase.
Avant de commencer
Si ce n'est pas encore fait, ajoutez Firebase à votre projet Android. Si vous ne possédez pas d'application Android, vous pouvez télécharger un exemple d'application.
Recommandé: Pour obtenir automatiquement les journaux de fil d'Ariane afin de comprendre les actions des utilisateurs menant à un plantage, un événement non fatal ou un événement ANR, vous devez activer Google Analytics dans votre projet Firebase.
Si Google Analytics n'est pas activé dans votre projet Firebase existant, vous pouvez l'activer dans l'onglet Integrations (Intégrations) de
(Paramètres du projet) dans la console > Project settingsFirebase. Si vous créez un projet Firebase, activez Google Analytics au cours du workflow de création du projet.
Assurez-vous que votre application dispose des versions minimales requises suivantes :
- Gradle 8.0
- Plug-in Android Gradle 8.1.0
- Plug-in Gradle des services Google 4.4.1
Étape 1 : Ajouter le SDK Crashlytics à votre application
<project>/<app-module>/build.gradle.kts
<project>/<app-module>/build.gradle
Crashlytics Nous vous recommandons d'utiliser Firebase Android BoM pour contrôler la gestion des versions de la bibliothèque.
Pour exploiter les journaux de fil d'Ariane, ajoutez également le SDK Firebase pour Google Analytics à votre application. Assurez-vous que Google Analytics est activé dans votre projet Firebase.
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:33.5.1")) // Add the dependencies for the Crashlytics and Analytics libraries // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-crashlytics") implementation("com.google.firebase:firebase-analytics") }
En utilisant Firebase Android BoM, votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.
(Alternative) Ajoutez des dépendances de bibliothèque Firebase sans utiliser BoM.
Si vous choisissez de ne pas utiliser Firebase BoM, vous devez spécifier chaque version de la bibliothèque Firebase dans sa ligne de dépendance.
Notez que si vous utilisez plusieurs bibliothèques Firebase dans votre application, nous vous recommandons vivement d'utiliser BoM pour gérer les versions des bibliothèques, ce qui garantit la compatibilité de toutes les versions.
dependencies { // Add the dependencies for the Crashlytics and Analytics libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-crashlytics:19.2.1") implementation("com.google.firebase:firebase-analytics:22.1.2") }
Étape 2 : Ajoutez le plug-in Gradle Crashlytics à votre application
Dans votre fichier Gradle au niveau racine (au niveau du projet) (
<project>/build.gradle.kts
ou<project>/build.gradle
), ajoutez le plug-in Gradle Crashlytics au blocplugins
:Kotlin
plugins { // Make sure that you have the AGP plugin 8.1+ dependency id("com.android.application") version "8.1.4" apply false // ... // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency id("com.google.gms.google-services") version "4.4.2" apply false // Add the dependency for the Crashlytics Gradle plugin id("com.google.firebase.crashlytics") version "3.0.2" apply false }
Groovy
plugins { // Make sure that you have the AGP plugin 8.1+ dependency id 'com.android.application' version '8.1.4' apply false // ... // Make sure that you have the Google services Gradle plugin 4.4.1+ dependency id 'com.google.gms.google-services' version '4.4.2' apply false // Add the dependency for the Crashlytics Gradle plugin id 'com.google.firebase.crashlytics' version '3.0.2' apply false }
Dans le fichier Gradle de votre module (au niveau de l'application) (généralement
<project>/<app-module>/build.gradle.kts
ou<project>/<app-module>/build.gradle
), ajoutez le plug-in Gradle Crashlytics:Kotlin
plugins { id("com.android.application") // ... // Make sure that you have the Google services Gradle plugin id("com.google.gms.google-services") // Add the Crashlytics Gradle plugin id("com.google.firebase.crashlytics") }
Groovy
plugins { id 'com.android.application' // ... // Make sure that you have the Google services Gradle plugin id 'com.google.gms.google-services' // Add the Crashlytics Gradle plugin id 'com.google.firebase.crashlytics' }
Étape 3 : Forcez un plantage de test pour terminer la configuration
Pour terminer la configuration de Crashlytics et afficher les données initiales dans le tableau de bord Crashlytics de la console Firebase, vous devez forcer un plantage de test.
Ajoutez du code à votre application que vous pouvez utiliser pour forcer un plantage de test.
Vous pouvez utiliser le code suivant dans le fichier
MainActivity
de votre application pour ajouter un bouton à votre application qui, lorsqu'il est enfoncé, provoque un plantage. Le bouton est intitulé "Tester le plantage".Kotlin+KTX
val crashButton = Button(this) crashButton.text = "Test Crash" crashButton.setOnClickListener { throw RuntimeException("Test Crash") // Force a crash } addContentView(crashButton, ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT))
Java
Button crashButton = new Button(this); crashButton.setText("Test Crash"); crashButton.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { throw new RuntimeException("Test Crash"); // Force a crash } }); addContentView(crashButton, new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
Créez et exécutez votre application.
Forcez le plantage de test afin d'envoyer le premier rapport de plantage de votre application :
Ouvrez votre application depuis votre appareil de test ou votre émulateur.
Dans votre application, appuyez sur le bouton "Tester le plantage" que vous avez ajouté à l'aide du code ci-dessus.
Après un plantage, redémarrez-la afin qu'elle puisse envoyer le rapport d'erreur à Firebase.
Accédez au tableau de bord Crashlytics de la console Firebase pour voir votre plantage de test.
Si vous avez actualisé la console et que le plantage du test ne s'affiche toujours pas au bout de cinq minutes, activez la journalisation de débogage pour voir si votre application envoie des rapports de plantage.
C'est tout ! Crashlytics surveille désormais les plantages, les erreurs non fatales et les erreurs ANR dans votre application. Accédez au tableau de bord Crashlytics pour afficher et examiner tous vos rapports et statistiques.
Étapes suivantes
- Personnalisez la configuration de vos rapports de plantage en ajoutant des rapports, des journaux, des clés et le suivi des erreurs non fatales.
- Intégrez Google Play pour pouvoir filtrer les rapports d'erreur de votre application Android par trace Google Play directement dans le tableau de bord Crashlytics. Vous pouvez ainsi mieux cibler votre tableau de bord sur des builds spécifiques.
-
Dans Android Studio, affichez et filtrez les données Crashlytics.
- Utilisez la fenêtre Insights sur la qualité des applications (AQI) d'Android Studio pour afficher les données Crashlytics à côté de votre code. Vous n'avez pas besoin de passer constamment du tableau de bord Crashlytics à l'IDE pour commencer à déboguer les principaux problèmes.
- Découvrez comment utiliser la fenêtre de l'IQA dans la documentation Android Studio.
- Nous serions ravis de recevoir vos commentaires. Envoyez-nous vos commentaires sur la fenêtre de l'IQA en envoyant un rapport de bug.