Reportar errores a un servicio
Cómo hacer un seguimiento de los errores que encuentran los usuarios.
Aunque siempre se intenta crear aplicaciones libres de fallos, seguro que surgirán de vez en cuando. Como las aplicaciones con fallos provocan usuarios y clientes descontentos, es importante comprender con qué frecuencia tus usuarios experimentan errores y dónde ocurren. De esa manera, puedes priorizar los errores con el mayor impacto y trabajar para solucionarlos.
¿Cómo puedes determinar con qué frecuencia tus usuarios experimentan errores? Cada vez que ocurra un error, crea un reporte que contenga el error ocurrido y el stacktrace asociado. Luego puedes enviar el reporte a un servicio de seguimiento de errores, como Bugsnag, Datadog, Firebase Crashlytics, Rollbar o Sentry.
El servicio de seguimiento de errores agrega todos los fallos que experimentan tus usuarios y los agrupa. Esto te permite saber con qué frecuencia falla tu aplicación y dónde encuentran problemas los usuarios.
En esta receta, aprende cómo reportar errores al servicio de reporte de fallos Sentry siguiendo estos pasos:
- Obtén un DSN de Sentry.
- Importa el paquete de Sentry para Flutter
- Inicializa el SDK de Sentry
- Captura errores programáticamente
1. Obtén un DSN de Sentry
#Antes de reportar errores a Sentry, necesitas un "DSN" para identificar de forma única tu aplicación con el servicio Sentry.io.
Para obtener un DSN, sigue estos pasos:
- Crea una cuenta en Sentry.
- Inicia sesión en la cuenta.
- Crea un nuevo proyecto de Flutter.
- Copia el fragmento de código que incluye el DSN.
2. Importa el paquete de Sentry
#Importa el paquete sentry_flutter en la aplicación.
El paquete sentry facilita el envío de
reportes de error al servicio de seguimiento de errores de Sentry.
Para añadir el paquete sentry_flutter como una dependencia,
ejecuta flutter pub add:
flutter pub add sentry_flutter
3. Inicializa el SDK de Sentry
#Inicializa el SDK para capturar diferentes errores no controlados automáticamente:
import 'package:flutter/widgets.dart';
import 'package:sentry_flutter/sentry_flutter.dart';
Future<void> main() async {
await SentryFlutter.init(
(options) => options.dsn = 'https://example@sentry.io/example',
appRunner: () => runApp(const MyApp()),
);
}
Alternativamente, puedes pasar el DSN a Flutter usando la etiqueta dart-define:
--dart-define SENTRY_DSN=https://example@sentry.io/example
¿Qué me aporta eso?
#Esto es todo lo que necesitas para que Sentry capture errores no controlados en Dart y en las capas nativas. Esto incluye Swift, Objective-C, C y C++ en iOS, y Java, Kotlin, C y C++ en Android.
4. Captura errores programáticamente
#Además del reporte automático de errores que Sentry genera al importar e inicializar el SDK, puedes usar la API para reportar errores a Sentry:
await Sentry.captureException(exception, stackTrace: stackTrace);
Para más información, consulta la documentación de la Sentry API en pub.dev.
Más información
#Puedes encontrar documentación detallada sobre el uso del SDK de Sentry en el sitio web de Sentry.
Ejemplo completo
#Para ver un ejemplo en funcionamiento, consulta la aplicación Sentry flutter de ejemplo.
A menos que se indique lo contrario, la documentación de este sitio refleja Flutter 3.44.0. Página actualizada por última vez el 2026-05-05. Ver código fuente oreportar un problema.