Получайте читаемые отчеты о сбоях на панели инструментов Crashlytics.


iOS+ (платформы Apple)

Для приложений платформы Apple, использующих Crashlytics Unity SDK 8.2.0+, плагин Firebase Unity Editor автоматически настраивает ваш проект Xcode для загрузки символов. Загрузите последнюю версию.

андроид

Для приложений Android Crashlytics Unity SDK 8.6.1+ автоматически включает отчеты о сбоях NDK, что позволяет Crashlytics автоматически сообщать о сбоях Unity IL2CPP на Android. Однако, чтобы увидеть символизированные трассировки стека для сбоев нативной библиотеки на панели управления Crashlytics , необходимо загрузить информацию о символах во время сборки с помощью Firebase CLI.

  1. Убедитесь, что вы используете Crashlytics Unity SDK v8.6.1 или более позднюю версию. Загрузите последнюю версию.

  2. Настройте среду и проект для загрузки символов:

    1. Следуйте инструкциям по установке Firebase CLI .

      Если вы уже установили CLI, обязательно обновите его до последней версии .

    2. (только для приложений, использующих Android API уровня 30+) Обновите шаблон AndroidManifest.xml вашего приложения, чтобы отключить тегирование указателя:

      1. Установите флажок Настройки проигрывателя Android > Настройки публикации > Сборка > Пользовательский основной манифест .

      2. Откройте шаблон манифеста, расположенный в Assets/Plugins/Android/AndroidManifest.xml .

      3. (только для приложений, использующих версию SDK до 8.8.0 ) Добавьте следующий атрибут в тег приложения: <application android:allowNativeHeapPointerTagging="false" ... />

  3. Создайте свой проект и загрузите символы.

    Выполняйте эти шаги каждый раз при создании сборки релиза или любой сборки, для которой вы хотите видеть символизированные трассировки стека в консоли Firebase .

    1. В диалоговом окне «Параметры сборки» выполните одно из следующих действий:

      • Экспортируйте в проект Android Studio для сборки своего проекта; или

      • Создавайте APK-файлы непосредственно в редакторе Unity.
        Перед сборкой убедитесь, что в диалоговом окне «Параметры сборки» установлен флажок «Создать символы.zip» .

    2. После завершения сборки сгенерируйте файл символов, совместимый с Crashlytics , и загрузите его на серверы Firebase, выполнив следующую команду Firebase CLI:

      firebase crashlytics:symbols:upload --app=FIREBASE_APP_ID PATH/TO/SYMBOLS
      • FIREBASE_APP_ID : ваш идентификатор приложения Firebase Android (не имя вашего пакета)
        Пример идентификатора приложения Firebase Android: 1:567383003300:android:17104a2ced0c9b9b

      • PATH/TO/SYMBOLS : Путь к файлу символов, сгенерированному CLI

        • Экспорт в проект Android Studio — PATH/TO/SYMBOLS — это каталог unityLibrary/symbols , который создается в корне экспортированного проекта после сборки приложения через Gradle или Android Studio.

        • Сборка APK непосредственно из Unity — PATH/TO/SYMBOLS — это путь к сжатому файлу символов, сгенерированному в корневом каталоге проекта после завершения сборки (например: myproject/myapp-1.0-v100.symbols.zip ).

      Просмотреть расширенные параметры использования команды Firebase CLI для генерации и загрузки файлов символов

      Флаг Описание
      --generator=csym

      Использует устаревший генератор файлов символов cSYM вместо генератора Breakpad по умолчанию

      Не рекомендуется к использованию. Мы рекомендуем использовать генератор файлов символов Breakpad по умолчанию.

      --generator=breakpad

      Использует генератор файлов символов Breakpad

      Обратите внимание, что по умолчанию для генерации файла символов используется Breakpad. Используйте этот флаг только если вы добавили symbolGenerator { csym() } в конфигурации сборки и вы хотите переопределить его, чтобы вместо него использовать Breakpad.

      --dry-run

      Генерирует файлы символов, но не загружает их

      Этот флаг полезен, если вы хотите проверить содержимое отправляемых файлов.

      --debug Предоставляет дополнительную отладочную информацию