| Sélectionner la plate-forme : | iOS+ Android Android NDK Flutter Unity |
Ce guide explique comment commencer à utiliser Firebase Crashlytics dans votre application Flutter.
Une fois que vous avez configuré le plug-in Flutter Crashlytics dans votre application, vous pouvez obtenir des rapports de plantage complets dans la console Firebase.
La configuration de Crashlytics implique l'utilisation d'un outil de ligne de commande et de votre IDE. Pour terminer la configuration, vous devez forcer la génération d'une exception de test afin d'envoyer votre premier rapport de plantage à Firebase.
Avant de commencer
Si ce n'est pas déjà fait, configurez et initialisez Firebase dans votre projet Flutter.
Recommandé : Pour obtenir automatiquement des journaux de fil d'Ariane afin de comprendre les actions de l'utilisateur ayant conduit à un plantage, un problème non fatal ou un événement ANR, vous devez activer Google Analytics dans votre projet Firebase.
Si votre projet Firebase existant n'a pas Google Analytics activé, vous pouvez activer Google Analytics depuis l'onglet Intégrations de vos
> Paramètres du projet dans la console Firebase.Si vous créez un projet Firebase, activez Google Analytics lors du processus de création du projet.
Notez que les journaux de fil d'Ariane sont disponibles pour toutes les plates-formes Android et Apple compatibles avec Crashlytics (à l'exception de watchOS).
Étape 1 : Ajouter Crashlytics à votre projet Flutter
À la racine de votre projet Flutter, exécutez la commande suivante pour installer le plug-in Flutter pour Crashlytics.
Pour profiter des journaux de fil d'Ariane, ajoutez également le plug-in Flutter pour Google Analytics à votre application. Assurez-vous que Google Analytics est activé dans votre projet Firebase.
flutter pub add firebase_crashlytics && flutter pub add firebase_analyticsÀ partir du répertoire racine de votre projet Flutter, exécutez la commande suivante :
flutterfire configureL'exécution de cette commande garantit que la configuration Firebase de votre application Flutter est à jour et, pour Android, ajoute le plug-in Gradle requis à votre application.Crashlytics
Une fois l'opération terminée, recréez votre projet Flutter :
flutter run(Facultatif) Si votre projet Flutter utilise l'indicateur
--split-debug-info(et, éventuellement, l'indicateur--obfuscate), des étapes supplémentaires sont nécessaires pour afficher des traces de pile lisibles pour vos applications.Plates-formes Apple : assurez-vous que votre projet utilise la configuration de version recommandée (Flutter 3.12.0 ou version ultérieure et Crashlytics plug-in Flutter 3.3.4 ou version ultérieure) afin qu'il puisse générer et importer automatiquement des symboles Flutter (fichiers dSYM) dans Crashlytics.
Android : utilisez Firebase CLI (v.11.9.0 ou version ultérieure) pour importer les symboles de débogage Flutter. Vous devez importer les symboles de débogage avant de signaler un plantage à partir d'une compilation de code obscurci.
À partir du répertoire racine de votre projet Flutter, exécutez la commande suivante :
firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/symbols
FIREBASE_APP_ID : ID de votre application Firebase Android (et non le nom de votre package)
Exemple d'ID d'application Firebase Android :1:567383003300:android:17104a2ced0c9b9bPATH/TO/symbols: le même répertoire que celui que vous transmettez à l'indicateur--split-debug-infolors de la compilation de l'application
Étape 2 : Configurer les gestionnaires de plantage
Vous pouvez intercepter automatiquement toutes les erreurs générées dans le framework
Flutter en remplaçant FlutterError.onError par
FirebaseCrashlytics.instance.recordFlutterFatalError :
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
// Pass all uncaught "fatal" errors from the framework to Crashlytics
FlutterError.onError = FirebaseCrashlytics.instance.recordFlutterFatalError;
runApp(MyApp());
}
Pour intercepter les erreurs asynchrones qui ne sont pas gérées par le framework Flutter, utilisez
PlatformDispatcher.instance.onError :
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
FlutterError.onError = (errorDetails) {
FirebaseCrashlytics.instance.recordFlutterFatalError(errorDetails);
};
// Pass all uncaught asynchronous errors that aren't handled by the Flutter framework to Crashlytics
PlatformDispatcher.instance.onError = (error, stack) {
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true);
return true;
};
runApp(MyApp());
}
Pour obtenir des exemples de gestion d'autres types d'erreurs, consultez Personnaliser les rapports de plantage.
É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 Crashlytics tableau de bord de la console Firebase, vous devez forcer la génération d'une exception de test.
Ajoutez du code à votre application que vous pouvez utiliser pour forcer la génération d'une exception de test à être générée.
Si vous avez ajouté un gestionnaire d'erreurs qui appelle
FirebaseCrashlytics.instance.recordError(error, stack, fatal: true)auZonede premier niveau, vous pouvez utiliser le code suivant pour ajouter un bouton à votre application qui, lorsqu'il est enfoncé, génère une exception de test :TextButton( onPressed: () => throw Exception(), child: const Text("Throw Test Exception"), ),Compilez et exécutez votre application.
Forcez la génération de l'exception de test afin d'envoyer le premier rapport de votre application :
Ouvrez votre application à partir de votre appareil de test ou de votre émulateur.
Dans votre application, appuyez sur le bouton d'exception de test que vous avez ajouté à l'aide du code ci-dessus.
Accédez au Crashlytics tableau de bord de la Firebase console pour afficher votre plantage de test.
Si vous avez actualisé la console et que le plantage de test ne s'affiche toujours pas après cinq minutes, activez la journalisation du débogage pour voir si votre application envoie des rapports de plantage.
C'est tout ! Crashlytics surveille désormais les plantages de votre application et, sur Android, les erreurs non fatales et les ANR. Accédez au Crashlytics tableau de bord pour afficher et examiner tous vos rapports et statistiques.
Étapes suivantes
Personnalisez la configuration de votre rapport de plantage en ajoutant des rapports facultatifs, des journaux, des clés et le suivi d'autres erreurs non fatales errors.
Intégrez Google Play pour pouvoir filtrer les rapports de plantage de votre application Android par canal Google Play directement dans le tableau de bord Crashlytics. Vous pouvez ainsi mieux cibler votre tableau de bord sur des compilations spécifiques.
Affichez les traces de pile et les statistiques de plantage à côté de votre code dans la fenêtre Insights sur la qualité des applications d'Android Studio (disponible à partir d'Electric Eel 2022.1.1).
Exportez vos données vers BigQuery ou Cloud Logging pour bénéficier d'analyses et de fonctionnalités avancées, telles que l'interrogation de vos données, la création de tableaux de bord personnalisés et la configuration d'alertes personnalisées.