Получайте читаемые отчеты о сбоях на панели инструментов 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 версии 8.6.1 или новее. Загрузите последнюю версию.

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

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

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

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

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

      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 Предоставляет дополнительную информацию для отладки.