Чтобы переводить контент на ваш предпочитаемый язык, Google использует технологии на основе искусственного интеллекта. Переводы от ИИ могут содержать ошибки.
Как получать понятные отчеты о сбоях на панели управления Crashlytics (Flutter)
Оптимизируйте свои подборки
Сохраняйте и классифицируйте контент в соответствии со своими настройками.
По умолчанию Firebase Crashlytics автоматически инструментирует ваш проект Flutter, чтобы загрузить необходимые файлы символов, которые обеспечивают деобфускацию отчетов о сбоях и их удобство для чтения.
К сожалению, иногда проект не удается настроить полностью. В этом руководстве рассказывается, что делает автоматизация, и приводятся первые шаги по отладке настроек проекта.
Платформы Apple
Как проверить настройки загрузки файлов dSYM
При добавлении плагина Flutter Crashlytics и выполнении команды flutterfire configure в рабочую область Xcode вашего проекта будет добавлен скрипт, который находит и загружает необходимые файлы символов dSYM в Crashlytics. Без этих файлов на панели управления Crashlytics появится предупреждение "Отсутствует dSYM", а исключения будут храниться на сервере, пока вы не загрузите недостающие файлы.
Если у вас возникла эта проблема, сначала убедитесь, что у вас установлен скрипт run:
Найдите и откройте файл рабочей области Xcode в каталоге iOS проекта (FLUTTER_PROJECT_NAME/ios/Runner.xcworkspace).
Проверьте, добавлен ли в фазы сборки целевого объекта Runner скрипт выполнения с названием [firebase_crashlytics] Crashlytics Upload Symbols.
Скрипт для автоматической загрузки файлов dSYM не существует
Если скрипта нет, добавьте его вручную:
Найдите идентификатор приложения Firebase для вашего приложения Apple. Его можно найти в двух разных местах:
В консоли Firebase перейдите в раздел settings > Настройки проекта.
На карточке Ваши приложения нажмите на приложение Firebase для Apple, чтобы посмотреть его информацию, в том числе идентификатор приложения.
В каталоге верхнего уровня проекта Flutter найдите файл firebase_options.dart. Идентификатор приложения Firebase для вашего приложения Apple помечен значком appId.
Нажмите add >
New Run Script Phase (Новый этап выполнения скрипта).
Убедитесь, что новый этап Run Script (Выполнить скрипт) является последним этапом сборки проекта. В противном случае Crashlytics не сможет правильно обработать dSYM-файлы.
Разверните новый раздел Выполнить скрипт.
В поле скрипта (под ярлыком Shell) добавьте следующие скрипты запуска.
Эти скрипты обрабатывают файлы dSYM и загружают их в Crashlytics.
FIREBASE_APP_ID – идентификатор приложения Apple в Firebase (не идентификатор пакета Apple).
Пример идентификатора приложения Apple в Firebase: 1:1234567890:ios:321abc456def7890
Как найти идентификатор приложения Firebase
Вот два способа найти идентификатор приложения Firebase:
В файле GoogleService-Info.plist идентификатор приложения – это значение GOOGLE_APP_ID.
В консоли Firebase перейдите в раздел Настройки проекта.
Перейдите к карточке Ваши приложения и нажмите на нужное приложение Firebase, чтобы найти его идентификатор.
В разделе Input Files (Входные файлы) добавьте пути к следующим файлам:
Xcode ищет эти входные файлы в указанных местоположениях, чтобы убедиться, что файлы сборки доступны для скрипта выполнения. Кроме того, если включена изолированная среда для скриптов пользователя, Xcode разрешает скрипту run доступ только к файлам, указанным в разделе Входные файлы.
Указав местоположение файлов dSYM проекта, вы позволите Crashlytics обрабатывать их.
Указав местоположение файла
GoogleService-Info.plist
сборки приложения, вы позволите Crashlytics связать файлы dSYM с приложением
Firebase.
Указав местоположение исполняемого файла приложения, вы позволите скрипту run предотвращать повторную загрузку одного и того же файла dSYM. Обратите внимание, что двоичные файлы приложений не загружаются.
Скрипт для автоматической загрузки файлов dSYM существует
Найдите идентификатор приложения Firebase для вашего приложения Apple. Его можно найти в двух разных местах:
В консоли Firebase перейдите в раздел settings > Настройки проекта.
На карточке Ваши приложения нажмите на приложение Firebase для Apple, чтобы посмотреть его информацию, в том числе идентификатор приложения.
В каталоге верхнего уровня проекта Flutter найдите файл firebase_options.dart. Идентификатор приложения Firebase для вашего приложения Apple помечен значком appId.
При запуске скрипта upload-symbols используйте -ai FIREBASE_APPLE_APP_ID вместо -gsp /path/to/GoogleService-Info.plist.
Проверьте конфигурацию версии для Flutter и Crashlytics(если вы используете флаг --split-debug-info).
Если в вашем проекте Flutter используется флаг --split-debug-info (и, возможно, флаг --obfuscate), чтобы в приложении показывались понятные трассировки стека, необходимо выполнить дополнительные действия.
Убедитесь, что в вашем проекте используется рекомендуемая конфигурация версий
(Flutter 3.12.0+ и Crashlytics плагин Flutter 3.3.4+), чтобы проект
мог автоматически создавать и загружать символы Flutter (файлы dSYM) в
Crashlytics.
Android
Проверьте конфигурацию зависимостей
Команда flutterfire configure пытается добавить необходимые зависимости в файлы сборки Gradle вашего проекта. Без этих зависимостей отчеты о сбоях в консоли Firebase могут быть обфусцированы, если включена обфускация.
Убедитесь, что в файлах build.gradle на уровне проекта
и приложения build.gradle есть следующие строки:
В файле сборки на уровне проекта (android/build.gradle) проверьте, есть ли следующая строка:
В файле сборки на уровне приложения (android/app/build.gradle) найдите следующую строку:
// ... other importsandroid{// ... your android config}dependencies{// ... your dependencies}// This section must appear at the bottom of the fileapplyplugin:'com.google.gms.google-services'applyplugin:'com.google.firebase.crashlytics'
Убедитесь, что вы используете CLI для загрузки символов Flutter (если используете флаг --split-debug-info).
Если в вашем проекте Flutter используется флаг --split-debug-info (и, возможно, флаг --obfuscate), чтобы в приложении показывались понятные трассировки стека, необходимо выполнить дополнительные действия.
Используйте Firebase CLI (версия 11.9.0 или более поздняя), чтобы загрузить отладочные символы Flutter. Чтобы сообщить о сбое в работе
обфусцированного кода, сначала нужно загрузить символы отладки.
В корневом каталоге проекта Flutter выполните следующую команду:
FIREBASE_APP_ID: идентификатор приложения Firebase для Android (не название пакета)
Пример идентификатора приложения Firebase для Android: 1:567383003300:android:17104a2ced0c9b9b
Как найти идентификатор приложения Firebase
Вот два способа найти идентификатор приложения Firebase:
В файле google-services.json идентификатор приложения – это значение mobilesdk_app_id.
В консоли Firebase перейдите в раздел Настройки проекта.
Перейдите к карточке Ваши приложения и нажмите на нужное приложение Firebase, чтобы найти его идентификатор.
PATH/TO/symbols – тот же каталог, который вы передаете флагу --split-debug-info при создании приложения.
[[["Прост для понимания","easyToUnderstand","thumb-up"],["Помог мне решить мою проблему","solvedMyProblem","thumb-up"],["Другое","otherUp","thumb-up"]],[["Отсутствует нужная мне информация","missingTheInformationINeed","thumb-down"],["Слишком сложен/слишком много шагов","tooComplicatedTooManySteps","thumb-down"],["Устарел","outOfDate","thumb-down"],["Проблема с переводом текста","translationIssue","thumb-down"],["Проблемы образцов/кода","samplesCodeIssue","thumb-down"],["Другое","otherDown","thumb-down"]],["Последнее обновление: 2026-10-07 UTC."],[],[]]