Ce guide de démarrage rapide décrit comment configurer Firebase Crashlytics dans votre application avec le SDK Firebase Crashlytics afin que vous puissiez obtenir des rapports d'erreur complets dans la console Firebase.Avec Crashlytics pour Android, vous obtenez des rapports sur les plantages, les erreurs non fatales et les erreurs "Application Not Responding" (ANR).
La configuration de Crashlytics nécessite des tâches à la fois dans la console Firebase et dans votre IDE (comme l'ajout d'un fichier de configuration Firebase et du SDK Crashlytics). Pour terminer la configuration, vous devrez forcer un test de plantage pour envoyer votre premier rapport de plantage à Firebase.
Avant que tu commences
Si vous ne l'avez pas déjà fait, ajoutez Firebase à votre projet Android. Si vous n'avez pas d'application Android, vous pouvez télécharger un exemple d'application .
Recommandé : pour obtenir des fonctionnalités telles que des utilisateurs sans plantage, des journaux de fil d'Ariane et des alertes de vélocité, vous devez activer Google Analytics dans votre projet Firebase.
Si Google Analytics n'est pas activé pour votre projet Firebase existant, vous pouvez activer Google Analytics à partir de l' onglet Intégrations de vos > Paramètres du projet dans la console Firebase.
Si vous créez un nouveau projet Firebase, activez Google Analytics lors du workflow de création de projet.
Étape 1 : Ajoutez le SDK Crashlytics à votre application
Dans le fichier Gradle de votre module (au niveau de l'application) (généralement<project>/<app-module>/build.gradle
), ajoutez la dépendance pour la bibliothèque Crashlytics Android. Nous vous recommandons d'utiliser Firebase Android BoM pour contrôler la gestion des versions de la bibliothèque.Pour une expérience optimale avec Crashlytics, nous vous recommandons d'activer Google Analytics dans votre projet Firebase et d'ajouter le SDK Firebase pour Google Analytics à votre application.
Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.1.0') // 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-ktx' implementation 'com.google.firebase:firebase-analytics-ktx' }
En utilisant Firebase Android BoM , votre application utilisera toujours des versions compatibles des bibliothèques Firebase Android.
(Alternative) Ajouter des dépendances à la bibliothèque Firebase sans utiliser le BoM
Si vous choisissez de ne pas utiliser la nomenclature Firebase, 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 la BoM pour gérer les versions de bibliothèque, ce qui garantit que toutes les versions sont compatibles.
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-ktx:18.3.7' implementation 'com.google.firebase:firebase-analytics-ktx:21.3.0' }
Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.1.0') // 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) Ajouter des dépendances à la bibliothèque Firebase sans utiliser le BoM
Si vous choisissez de ne pas utiliser la nomenclature Firebase, 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 la BoM pour gérer les versions de bibliothèque, ce qui garantit que toutes les versions sont compatibles.
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:18.3.7' implementation 'com.google.firebase:firebase-analytics:21.3.0' }
Étape 2 : Ajoutez le plugin Crashlytics Gradle à votre application
Dans votre fichier Gradle au niveau de la racine (au niveau du projet) (
<project>/build.gradle
), ajoutez le plug-in Crashlytics Gradle en tant que dépendance buildscript :buildscript { repositories { // Make sure that you have the following two repositories google() // Google's Maven repository mavenCentral() // Maven Central repository } dependencies { ... classpath 'com.android.tools.build:gradle:7.2.0' // Make sure that you have the Google services Gradle plugin dependency classpath 'com.google.gms:google-services:4.3.15' // Add the dependency for the Crashlytics Gradle plugin classpath 'com.google.firebase:firebase-crashlytics-gradle:2.9.5' } }
Dans le fichier Gradle de votre module (au niveau de l'application) (généralement
<project>/<app-module>/build.gradle
), ajoutez le plug-in Crashlytics Gradle :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 : Forcer 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
MainActivity
de votre application pour ajouter un bouton à votre application qui, lorsqu'il est enfoncé, provoque un blocage. Le bouton est étiqueté "Test Crash".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 du test afin d'envoyer le premier rapport de plantage de votre application :
Ouvrez votre application à partir de votre appareil de test ou de votre émulateur.
Dans votre application, appuyez sur le bouton "Test Crash" que vous avez ajouté à l'aide du code ci-dessus.
Après le plantage de votre application, redémarrez-la afin que votre application puisse envoyer le rapport de plantage à 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 vous ne voyez toujours pas le plantage du test après cinq minutes, activez la journalisation de débogage pour voir si votre application envoie des rapports de plantage.
Et c'est tout! Crashlytics surveille désormais votre application pour détecter les plantages, les erreurs non fatales et les ANR. Visitez le tableau de bord Crashlytics pour afficher et étudier tous vos rapports et statistiques.
Prochaines étapes
- Personnalisez la configuration de votre rapport d'incident en ajoutant des rapports d'activation, des journaux, des clés et un suivi des erreurs non fatales.
- Intégrez Google Play afin de pouvoir filtrer les rapports de plantage de votre application Android par suivi Google Play directement dans le tableau de bord Crashlytics. Cela vous permet de mieux concentrer votre tableau de bord sur des builds spécifiques.
- Dans Android Studio, affichez et filtrez les données Crashlytics.
- Utilisez la fenêtre App Quality Insights (AQI) dans Android Studio pour afficher les données Crashlytics à côté de votre code - pas besoin de faire des allers-retours entre le tableau de bord Crashlytics et l'IDE pour commencer à déboguer les principaux problèmes.
- Accédez à la fenêtre AQI dans la version Electric Eel d'Android Studio (stable) ou essayez de nouvelles fonctionnalités AQI dans Flamingo (bêta). Téléchargez la version d'Android Studio souhaitée.
- Apprenez à utiliser la fenêtre AQI dans la documentation d'Android Studio.
- Nous aimerions recevoir de vos nouvelles! Envoyez-nous vos commentaires sur la fenêtre IQA en remplissant un rapport de bogue .