Obtenga informes de fallos legibles en el panel de Crashlytics

De forma predeterminada, Firebase Crashlytics instrumenta automáticamente su proyecto Flutter para cargar los archivos de símbolos necesarios que garantizan que los informes de fallos estén desofuscados y sean legibles por humanos.

Desafortunadamente, hay casos que pueden provocar que el proyecto no esté completamente configurado. Esta guía describe lo que hace la automatización y proporciona los primeros pasos para depurar la configuración de su proyecto.

plataformas de manzana

Verifique su configuración para cargar archivos dSYM

Agregar el complemento Crashlytics Flutter y ejecutar el comando flutterfire configure intentará agregar un script de ejecución al espacio de trabajo Xcode de su proyecto que encuentra y carga los archivos de símbolos dSYM necesarios en Crashlytics. Sin estos archivos, verá una alerta "Falta dSYM" en el panel de Crashlytics y el backend retendrá las excepciones hasta que se carguen los archivos faltantes.

Si tiene este problema, primero asegúrese de tener instalado el script de ejecución:

  1. Localice y abra el archivo del espacio de trabajo Xcode en el directorio iOS de su proyecto ( FLUTTER_PROJECT_NAME /ios/Runner.xcworkspace ).

  2. Identifique si se ha agregado un script de ejecución titulado [firebase_crashlytics] Crashlytics Upload Symbols a las fases de compilación del objetivo del corredor.

    Consulte la sección correspondiente a continuación para saber si el script de ejecución no existe o si existe .

Verifique la configuración de su versión para Flutter y Crashlytics (si usa el indicador --split-debug-info )

Si su proyecto Flutter usa el indicador --split-debug-info (y, opcionalmente, también el indicador --obfuscate ), se requieren pasos adicionales para mostrar seguimientos de pila legibles para su aplicación.

Asegúrese de que su proyecto esté utilizando la configuración de versión recomendada (Flutter 3.12.0+ y el complemento Crashlytics Flutter 3.3.4+) para que su proyecto pueda generar y cargar automáticamente símbolos Flutter (archivos dSYM) en Crashlytics.

Androide

Verifique la configuración de su dependencia

El comando flutterfire configure intenta agregar las dependencias necesarias a los archivos de compilación Gradle de su proyecto. Sin estas dependencias, los informes de fallas en Firebase console pueden terminar ofuscados si la ofuscación está activada.

Asegúrese de que las siguientes líneas estén presentes en build.gradle a nivel de proyecto y en build.gradle a nivel de aplicación:

  • En el archivo de compilación a nivel de proyecto ( android/build.gradle ), busque la siguiente línea:

    dependencies {
    // ... other dependencies
    
    classpath 'com.google.gms:google-services:4.3.5'
    classpath 'com.google.firebase:firebase-crashlytics-gradle:2.7.1'
    }
    
  • En el archivo de compilación a nivel de aplicación ( android/app/build.gradle ), busque la siguiente línea:

    // ... other imports
    
    android {
    // ... your android config
    }
    
    dependencies {
    // ... your dependencies
    }
    
    // This section must appear at the bottom of the file
    apply plugin: 'com.google.gms.google-services'
    apply plugin: 'com.google.firebase.crashlytics'
    

Verifique que esté usando la CLI para cargar símbolos de Flutter (si usa el indicador --split-debug-info )

Si su proyecto Flutter usa el indicador --split-debug-info (y, opcionalmente, también el indicador --obfuscate ), se requieren pasos adicionales para mostrar seguimientos de pila legibles para su aplicación.

Utilice Firebase CLI (v.11.9.0+) para cargar símbolos de depuración de Flutter. Debe cargar los símbolos de depuración antes de informar un fallo debido a una compilación de código ofuscado.

Desde el directorio raíz de su proyecto Flutter, ejecute el siguiente comando:

firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/symbols
  • FIREBASE_APP_ID : el ID de tu aplicación Firebase para Android (no el nombre de tu paquete)
    Ejemplo de ID de aplicación de Firebase para Android: 1:567383003300:android:17104a2ced0c9b9b

  • PATH/TO /symbols : el mismo directorio que pasa al indicador --split-debug-info al crear la aplicación.

Si los problemas persisten, consulte la guía específica de Android para solucionar problemas de informes confusos .