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

Выберите платформу: iOS+ Android Flutter Unity


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

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

Android

Для приложений 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-плеера» > «Настройки публикации» > «Сборка» > «Пользовательский основной манифест» .

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

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

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

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

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

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

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

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

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

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

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