Obtén informes de fallas legibles en el panel de Crashlytics

iOS+ (plataformas de Apple)

En el caso de las apps de plataformas de Apple que usan el SDK de Crashlytics para Unity 8.2.0 o versiones posteriores, el complemento de Firebase Unity Editor configura automáticamente tu proyecto de Xcode para subir símbolos. Descarga la versión más reciente.

Android

En el caso de las apps para Android, el SDK de Crashlytics de Unity 8.6.1 (o versiones posteriores) incluye informes de fallas del NDK, que permiten informar automáticamente las fallas de IL2CPP de Unity en Android. Sin embargo, para ver seguimientos de pila simbolizados sobre fallas de bibliotecas nativas en el panel de Crashlytics, debes subir la información de los símbolos en el tiempo de compilación con Firebase CLI.

  1. Asegúrate de usar la versión 8.6.1 o posterior del SDK de Crashlytics para Unity. Descarga la versión más reciente.

  2. Configura tu entorno y proyecto para subir símbolos:

    1. Sigue las instrucciones para instalar Firebase CLI.

      Si ya instalaste la CLI, asegúrate de actualizarla a su versión más reciente.

    2. Solo para apps que usan el nivel de API de Android 30 o superior: Actualiza la plantilla AndroidManifest.xml de tu app para inhabilitar el etiquetado de punteros:

      1. Marca la casilla de Android Player Settings > Publishing Settings > Build > Custom Main Manifest.

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

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

  3. Compila tu proyecto y sube los símbolos.

    Sigue estos pasos cada vez que crees una compilación de lanzamiento, o bien una en la que quieras ver seguimientos de pila simbolizados en Firebase console.

    1. En el diálogo Build Settings, realiza una de las siguientes acciones:

      • Exporta a un proyecto de Android Studio para compilar tu propio proyecto.

      • Compila tu APK directamente en Unity Editor.
        Antes de compilar, asegúrate de que la casilla de verificación Create symbols.zip esté marcada en el diálogo Build Settings.

    2. Una vez que finalice la compilación, genera un archivo de símbolos compatible con Crashlytics y súbelo a 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 la app para Android de Firebase (no el nombre del paquete)
        ID de ejemplo de la app para Android de Firebase: 1:567383003300:android:17104a2ced0c9b9b

      • PATH/TO/SYMBOLS es la ruta de acceso al archivo de símbolos que genera la CLI

        • Si se exportó 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 app con Gradle o Android Studio.

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

      Consulta las opciones avanzadas para usar el comando de Firebase CLI a fin de subir y generar archivos de símbolos

      Marca Descripción
      --generator=csym

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

      No se recomienda utilizarlo. Recomendamos usar el generador de archivos de símbolos de Breakpad predeterminado.

      --generator=breakpad

      Usa el generador de archivos de símbolos de Breakpad.

      Ten en cuenta que la configuración predeterminada para generar archivos de símbolos es Breakpad. Solo debes usar esta marca si agregaste symbolGenerator { csym() } a la configuración de tu compilación y quieres anularla para usar Breakpad.

      --dry-run

      Genera los archivos de símbolos, pero no los sube.

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

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