Obtenga informes de fallos legibles en el panel de Crashlytics

iOS+ (plataformas Apple)

Para las aplicaciones de la plataforma Apple que utilizan Crashlytics Unity SDK 8.2.0+, el complemento Firebase Unity Editor configura automáticamente su proyecto Xcode para cargar símbolos. Descargue la última versión.

Androide

Para aplicaciones de Android, Crashlytics Unity SDK 8.6.1+ incluye automáticamente informes de fallas del NDK, lo que permite a Crashlytics informar automáticamente fallas de Unity IL2CPP en Android. Sin embargo, para ver seguimientos de pila simbolizados para fallas de la biblioteca nativa en el panel de Crashlytics, debes cargar información de símbolos en el momento de la compilación mediante Firebase CLI.

  1. Asegúrate de estar utilizando Crashlytics Unity SDK v8.6.1 o posterior. Descargue la última versión.

  2. Configure su entorno y proyecto para cargar símbolos:

    1. Siga las instrucciones para instalar Firebase CLI .

      Si ya instaló la CLI, asegúrese de actualizar a su última versión .

    2. (solo para aplicaciones que usan Android API nivel 30+) Actualice la plantilla AndroidManifest.xml de su aplicación para deshabilitar el etiquetado de puntero:

      1. Marque la casilla de Configuración del reproductor Android > Configuración de publicación > Compilación > Manifiesto principal personalizado .

      2. Abra la plantilla de manifiesto ubicada en Assets/Plugins/Android/AndroidManifest.xml .

      3. (solo para aplicaciones que usan una versión de SDK anterior a 8.8.0 ) Agregue el siguiente atributo a la etiqueta de la aplicación: <application android:allowNativeHeapPointerTagging="false" ... />

  3. Construye tu proyecto y sube símbolos.

    Complete estos pasos cada vez que cree una compilación de lanzamiento o cualquier compilación para la que desee ver seguimientos de pila simbólicos en Firebase console.

    1. Desde el cuadro de diálogo Configuración de compilación , realice una de las siguientes acciones:

      • Exporte a un proyecto de Android Studio para construir su proyecto; o

      • Crea tu APK directamente desde Unity Editor.
        Antes de compilar, asegúrese de que la casilla de verificación Crear símbolos.zip esté marcada en el cuadro de diálogo Configuración de compilación .

    2. Una vez que haya finalizado la compilación, genere un archivo de símbolos compatible con Crashlytics y cárguelo en los servidores de Firebase ejecutando el siguiente comando de Firebase CLI:

      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 : La ruta al archivo de símbolos generado por la CLI

        • Exportado a un proyecto de Android Studio: PATH/TO/SYMBOLS es el directorio unityLibrary/symbols , que se crea en la raíz del proyecto exportado después de compilar la aplicación a través de Gradle o Android Studio.

        • Compiló el APK directamente desde Unity: PATH/TO/SYMBOLS es la ruta del archivo de símbolos comprimido generado en el directorio raíz del proyecto cuando finalizó la compilación (por ejemplo: myproject/myapp-1.0-v100.symbols.zip ).

      Ver opciones avanzadas para usar el comando Firebase CLI para generar y cargar archivos de símbolos

      Bandera Descripción
      --generator=csym

      Utiliza el generador de archivos de símbolos cSYM heredado en lugar del generador Breakpad predeterminado

      No recomendado para su uso. Recomendamos utilizar el generador de archivos de símbolos predeterminado de Breakpad.

      --generator=breakpad

      Utiliza el generador de archivos de símbolos Breakpad

      Tenga en cuenta que el valor predeterminado para la generación de archivos de símbolos es Breakpad. Utilice esta bandera solo si ha agregado symbolGenerator { csym() } en su configuración de compilación y desea anularlo para usar Breakpad en su lugar.

      --dry-run

      Genera los archivos de símbolos pero no los carga.

      Esta bandera es útil si desea inspeccionar el contenido de los archivos que se envían.

      --debug Proporciona información de depuración adicional.