Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Comience con Firebase Crashlytics

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Esta guía de inicio rápido describe cómo configurar Firebase Crashlytics en su aplicación con el complemento Crashlytics Flutter para que pueda obtener informes completos sobre fallas en la consola de Firebase.

La configuración de Crashlytics implica el uso de una herramienta de línea de comandos y su IDE. Para finalizar la configuración, deberá forzar el lanzamiento de una excepción de prueba para enviar su primer informe de bloqueo a Firebase.

Antes de que empieces

  1. Si aún no lo ha hecho, configure e inicialice Firebase en su proyecto de Flutter.

  2. Recomendado : para obtener funciones como usuarios sin bloqueos, registros de migas de pan y alertas de velocidad, debe habilitar Google Analytics en su proyecto de Firebase.

    Todas las plataformas Android y Apple compatibles con Crashlytics (excepto watchOS) pueden aprovechar estas funciones de Google Analytics.

    Asegúrese de que Google Analytics esté habilitado en su proyecto de Firebase: vaya a > Configuración del proyecto > pestaña Integraciones , luego siga las instrucciones en pantalla para Google Analytics.

Paso 1 : agregue Crashlytics a su proyecto Flutter

  1. Desde la raíz de su proyecto Flutter, ejecute el siguiente comando para instalar el complemento Crashlytics Flutter:

    flutter pub add firebase_crashlytics
    
  2. Desde el directorio raíz de tu proyecto Flutter, ejecuta el siguiente comando:

    flutterfire configure
    

    Ejecutar este comando garantiza que la configuración de Firebase de su aplicación Flutter esté actualizada y, para Android, agrega el complemento Crashlytics Gradle requerido a su aplicación.

  3. Una vez completado, reconstruya su proyecto Flutter:

    flutter run
    
  4. (Opcional) Si su proyecto Flutter usa el --split-debug-info (y, opcionalmente, el indicador --obfuscate ), debe usar Firebase CLI (v.11.9.0+) para cargar símbolos de Android.

    Desde el directorio raíz de tu proyecto Flutter, ejecuta el siguiente comando:

    firebase crashlytics:symbols:upload --app=APP_ID PATH/TO/symbols

    El directorio PATH/TO /symbols es el mismo directorio que pasa al --split-debug-info al compilar la aplicación.

Paso 2 : Configurar controladores de fallas

Puedes capturar automáticamente todos los errores que se generan dentro del marco de trabajo de Flutter si FlutterError.onError con 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());
}

Para detectar errores asincrónicos que no son manejados por el marco Flutter, usa 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());

}

Para ver ejemplos de cómo manejar otros tipos de errores, consulte Personalizar informes de fallas.

Paso 3 : forzar un bloqueo de prueba para finalizar la configuración

Para terminar de configurar Crashlytics y ver los datos iniciales en el panel de Crashlytics de Firebase console, debe forzar el lanzamiento de una excepción de prueba.

  1. Agregue código a su aplicación que pueda usar para forzar el lanzamiento de una excepción de prueba.

    Si agregó un controlador de errores que llama a FirebaseCrashlytics.instance.recordError(error, stack, fatal: true) a la Zone de nivel superior, puede usar el siguiente código para agregar un botón a su aplicación que, cuando se presiona, arroja una excepción de prueba:

    TextButton(
        onPressed: () => throw Exception(),
        child: const Text("Throw Test Exception"),
    ),
    
  2. Cree y ejecute su aplicación.

  3. Fuerce el lanzamiento de la excepción de prueba para enviar el primer informe de su aplicación:

    1. Abra su aplicación desde su dispositivo de prueba o emulador.

    2. En su aplicación, presione el botón de excepción de prueba que agregó usando el código anterior.

  4. Vaya al panel de control de Crashlytics de la consola de Firebase para ver su bloqueo de prueba.

    Si actualizó la consola y aún no ve el bloqueo de prueba después de cinco minutos, habilite el registro de depuración para ver si su aplicación envía informes de bloqueo.


¡Y eso es! Crashlytics ahora está monitoreando su aplicación en busca de bloqueos y, en Android, errores no fatales y ANR. Visite el panel de control de Crashlytics para ver e investigar todos sus informes y estadísticas.

Próximos pasos