Que fait sentry-flutter-sdk ?
Configuration complète du SDK Sentry pour Flutter et Dart. Utilisez lorsque l'on vous demande « ajouter Sentry à Flutter », « installer sentry_flutter », « configurer Sentry dans Dart » ou pour mettre en place la surveillance des erreurs, le tracing, le profilage, la relecture de sessions ou la journalisation pour les applications Flutter. Prend en charge Android, iOS, macOS, Linux, Windows et le Web.
Installation
Ajoutez le package sentry_flutter à votre projet Flutter :
dependencies:
sentry_flutter: ^8.0.0
Puis exécutez :
flutter pub get
Configuration initiale
Importez le SDK et initialisez Sentry dans votre fonction main :
import 'package:flutter/widgets.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await SentryFlutter.init(
(options) {
options.dsn = 'https://[email protected]/0';
options.tracesSampleRate = 1.0; // Ajustez en production
options.profilesSampleRate = 1.0; // Pour le profilage
options.environment = 'production';
options.release = '[email protected]+1';
},
appRunner: () => runApp(MonApp()),
);
}
Remplacez 'https://[email protected]/0' par votre propre DSN disponible dans votre projet Sentry.
Fonctionnalités principales
- Capture automatique des erreurs : intercepte les exceptions Flutter et Dart non gérées.
- Tracing automatique : instrumente les navigations Flutter et les appels HTTP.
- Profilage : collecte des échantillons de performances pour identifier les goulots.
- Relecture de sessions (session replay) : enregistre les interactions utilisateur pour déboguer les problèmes.
- Journalisation : envoie les logs structurés via
sentryLogger.
Personnalisation
Vous pouvez configurer des filtres, des échantillonnages et des appels avant envoi :
await SentryFlutter.init(
(options) {
options.dsn = 'https://[email protected]/0';
options.tracesSampleRate = 0.2; // 20% des transactions
options.beforeSend = (event) {
// Filtrer les événements indésirables
if (event.tags?['ignore'] == 'true') return null;
return event;
};
},
appRunner: () => runApp(MonApp()),
);
Support des plateformes
Ce skill fonctionne sur toutes les plateformes supportées par Flutter : Android, iOS, macOS, Linux, Windows et le Web. Aucune configuration spécifique par plateforme n'est nécessaire.
Utilisation avancée
Pour le tracing personnalisé, utilisez l'API Sentry.startTransaction ou les annotations @sentryTrace. Pour la capture manuelle d'erreurs, appelez Sentry.captureException(exception).