AppMetrica снова доступна
Сбор данных продолжается, но некоторые отчёты и инструменты пока могут работать с ограничениями. Мы делаем всё возможное, чтобы вернуться в штатный режим. Спасибо, что вы с нами! Подробнее.
Крэши и ошибки
Этот раздел помогает понять, какие сбои мешают людям пользоваться приложением, и передать команде разработки информацию для исправления.
Чем крэш отличается от ошибки
Крэш — аварийное завершение приложения. Например, пользователь открывает карточку товара, а приложение неожиданно закрывается.
Ошибка — проблема, при которой приложение может продолжить работу. Например, карточка товара не загрузилась, но пользователь может вернуться в каталог. Такая информация появится в AppMetrica, если разработчик настроил отправку сообщения о ней.
Это примеры: какие ошибки отслеживать, команда определяет с учетом задач приложения.
Как начать сбор
Попросите разработчика проверить сбор крэшей и настройте вместе с ним отправку важных для продукта ошибок. Со своей стороны опишите ситуации, которые нужно отслеживать: что пытается сделать пользователь, что идет не так и как это мешает завершить действие.
Например, для интернет-магазина можно отдельно отслеживать случаи, когда не загружается карточка товара или не удается добавить товар в корзину. Согласуйте с разработчиком названия и описания ошибок, чтобы затем узнавать их в отчете.
Как получить понятное описание сбоя
Иногда приложение передает сообщение о сбое, в котором не видно, где именно возникла проблема. Чтобы AppMetrica могла расшифровать такое сообщение, разработчик загружает специальные файлы, подготовленные вместе с приложением. Они помогают найти место ошибки и разобраться в ее причине.
Для Android и iOS нужны разные файлы, но задача одна: сделать сведения о сбое пригодными для расследования. Аналитику или продуктологу не нужно готовить эти файлы самостоятельно.
Важно
Если в отчете появилось предупреждение, что описание сбоя не расшифровано, передайте его разработчику вместе с версией приложения. Попросите проверить, загружены ли нужные файлы, и настроить их загрузку при подготовке новых версий.
Разработчик подключает сбор сбоев и загружает файлы для их расшифровки. Это помогает получить понятное описание проблемы и найти ее причину.
Для разработчика: сбор крэшей и ошибок, отладочные файлы и проверка
Скачать инструкцию для разработчика (TXT): crashes-developer-ru.txt
Как настроить сбор
Сбор крэшей предусмотрен в AppMetrica SDK. Проверьте интеграцию для вашей платформы и настройки передачи. Для собственных сообщений об ошибках разработчик добавляет вызов соответствующего метода SDK.
Например, если приложение обработало неудачную операцию и показало пользователю сообщение, разработчик может передать ошибку для последующего анализа. Какие ситуации отправлять, определяет команда приложения.
Ссылки на методы Android, iOS, Flutter, React Native и Unity приведены в инструкции по отправке ошибок.
Файлы для расшифровки сбоев на Android и iOS
Используйте файлы, соответствующие сборке приложения, в которой произошел сбой. Ниже приведены требования и способы загрузки для каждой платформы.
Android: mapping-файлы и отладочные символы
AppMetrica позволяет собирать информацию о нативных и java-крэшах. Их можно анализировать в отчете Крэши и ошибки. См. также раздел Отправка ошибок на разных платформах.
Чтобы уменьшить размер приложения, код оптимизируют во время релизной сборки.
Если во время сборки Android-приложения сжимали и обфусцировали код, то информация о крэшах передается в обфусцированном виде. Чтобы извлечь данные для анализа из таких крэш-логов, AppMetrica выполняет деобфускацию на стороне сервера.
Для этого загрузите mapping-файлы или отладочные символы SO-файлов в AppMetrica: автоматически при сборке приложения или вручную через веб-интерфейс.
Чтобы отправлять файлы, подключите AppMetrica Gradle Plugin.
Примечание
Узнать больше
iOS: dSYM-файлы
Информация о крэшах на iOS отправляется в десимволизированном виде. Из таких крэш-логов сложно извлечь данные для анализа. Чтобы крэш-логи можно было анализировать, загрузите dSYM-файлы в AppMetrica.
Для загрузки dSYM-файлов в AppMetrica SDK включен инструмент командной строки helper. Для сборки с помощью fastlane поддержан плагин загрузки. С их помощью можно настроить автоматическую загрузку dSYM-файлов при сборке приложения.
Пожалуйста, отправляйте dSYM файлы только для тех приложений, которые вы хотите опубликовать.
Автоматическая загрузка при сборке
Используйте fastlane для сборки приложения:
-
Установите fastlane-плагин
appmetrica:fastlane add_plugin appmetricaПодробнее о добавлении плагина в документации fastlane.
-
Добавьте в файл
fastlane/Fastfileследующее:lane :release do # Your actions before. gym( workspace: "MyApp.xcworkspace", configuration: "Release", scheme: "MyApp", export_method: "app-store" # Pass the correct export_method. ) upload_symbols_to_appmetrica(post_api_key: "Post API key") # Your actions after. endPost API key можно получить в разделе Настройки в AppMetrica. Он используется для идентификации вашего приложения.
Важно
Для сборки приложения используется action gym с экспортом. Если вы собираете приложение с помощью Xcode, приложение будет перекомпилировано после загрузки в App Store Connect. Тогда сгенерированные при сборке dSYM-файлы нельзя будет использовать.
-
Добавьте этап загрузки dSYM-файлов с помощью инструмента
helperв Xcode. Инструментhelperвключен в AppMetrica SDK, начиная с версии 3.8.0. Он находится в архиве SDK. Справочник инструмента helper.-
Откройте проект в Xcode.
-
В навигаторе по проекту выберите файл проекта.
-
В блоке Targets выберите ваше приложение.
-
Откройте вкладку Build Phases.
-
Нажмите кнопку + → New Run Script Phase.
-
В текстовое поле Type a script добавьте:
if [ -d "${PODS_ROOT}/AppMetricaCrashes" ]; then HELPER_PATH=`find "${PODS_ROOT}/AppMetricaCrashes" -name "helper"` if [ -x "${HELPER_PATH}" ]; then "${HELPER_PATH}" auto --post-api-key="Post API key"& else echo "AppMetricaСrash helper was not found" fi fi
Примечание
Режим
autoиспользует переменную окруженияCONFIGURATION. Если сборка собирается с конфигурациейDebug, dSYM-файлы не загружаются. -
Загрузка отсутствующего dSYM-файла
Если при сборке приложения dSYM-файл не был загружен, в отчетах по крэшам будет отображаться предупреждение о несимволизированных крэшах.

Чтобы их символизировать, загрузите отсутствующие dSYM-файлы. Список отсутствующих файлов можно посмотреть на странице Настройки → Крэши вашего приложения в AppMetrica.
Отсутствующие dSYM-файлы можно загрузить:
- С помощью fastlane
- Через веб-интерфейс
- С помощью helper
С помощью fastlane
-
Установите fastlane-плагин
appmetrica:fastlane add_plugin appmetricaПодробнее о добавлении плагина в документации fastlane.
-
Добавьте в файл
fastlane/Fastfileследующее:lane :refresh_dsyms do download_dsyms upload_symbols_to_appmetrica(post_api_key: "Post API key") clean_build_artifacts endВ действии
download_dsymsможно указать необходимую версию приложения и номер сборки:... download_dsyms(version: "1.0.0", build_number: "345") ...Подробнее о действии
download_dsymsв документации fastlane.
Через веб-интерфейс
-
Найдите необходимый архив с dSYM-файлом:
Через Xcode Organizer
- В интерфейсе Xcode нажмите Window → Organizer.
- Во вкладке Archives выберите нужную версию приложения.
- Нажмите кнопку Download dSYM.

Через App Store Connect
- В интерфейсе iTunes Connect откройте страницу Activity.
- Во вкладке All Builds выберите нужный номер сборки.
- Нажмите Download dSYM.

Можно использовать dSYM-файл, который был сгенерирован при сборке.
-
В интерфейсе AppMetrica перейдите в настройки приложения из меню слева.
-
Откройте вкладку Крэши → iOS.
-
Нажмите кнопку Выберите файл и загрузите ZIP-архив, содержащий директории
app.dSYMилиapp.
С помощью helper
Для загрузки с помощью плагина необходимо подключить AppMetrica SDK не ниже версии 3.8.0. Чтобы загрузить в AppMetrica отсутствующие dSYM-файлы, в терминале выполните команду:
helper -k <post-api-key> <file_path>
file_path — список dSYM-файлов или папок, в которых они лежат.
Справочник инструмента helper
Примечание
Инструмент helper включен в AppMetrica SDK, начиная с версии 3.8.0. Он находится в архиве SDK.
Helper — инструмент командной строки, который позволяет загружать dSYM-файлы в AppMetrica.
$ helper [auto] [-o | --package-output-path=<path>] [-v | --verbose]
[--version] -k <post-api-key> | --post-api-key=<key> [file ...]
Параметры
|
Параметр |
Описание |
|
|
Автоматический режим загрузки. В нем |
|
|
Post API key. Его можно получить в разделе Настройки в AppMetrica. Он используется для идентификации вашего приложения. |
|
|
Путь к папке, в которой хранятся временные файлы. По умолчанию используется системная папка. |
|
|
Включает отображение дополнительной информации. |
|
|
Выводит версию. |
|
|
Список dSYM-файлов или папок, в которых они лежат. По умолчанию используется локальная рабочая папка. |
& позволяет запускать helper параллельно, не блокируя сборку всего проекта. Пример команды:
helper auto --post-api-key="Post API key"&
Узнать больше
Post API key можно получить в разделе Настройки в AppMetrica. Он используется для идентификации вашего приложения.
Как проверить результат
- В тестовом окружении воспроизведите контролируемую ошибку или сбой.
- Откройте отчет Крэши и ошибки и найдите данные тестовой версии приложения.
- Проверьте сообщение, устройство и стек вызовов — последовательность функций, связанных со сбоем.
- Если стек не читается, проверьте наличие отладочных файлов именно для этой сборки.
Крэши объединяются в группы по стеку вызовов; группировка ошибок зависит от метода отправки. Подробности — в документации по крэшам и ошибкам.
Отправка ошибок на разных платформах
Как работать с отчетом
- Выберите период. Откройте отчет Крэши и ошибки. Например, после выпуска новой версии посмотрите период с момента ее выхода.
- Оцените масштаб. Сравните количество сбоев и число устройств, на которых они произошли. Частые сбои на одном устройстве и проблема, затронувшая много устройств, требуют разной оценки.
- Найдите условия возникновения. Посмотрите версии приложения, операционные системы и устройства. Откройте нужную группу — в ней собраны связанные случаи сбоя.
- Изучите действия перед сбоем. Откройте запись конкретного случая и нажмите «Посмотреть события сессии». История поможет восстановить действия пользователя, если соответствующие события собирались.
- Передайте проблему разработчику. Укажите версию приложения, масштаб проблемы и известные шаги пользователя. Ссылку на задачу можно добавить в комментарий к группе.
Для оценки приоритета учитывайте и влияние на сценарий: например, невозможность оформить заказ может быть важнее ошибки на редко используемом экране. Техническую причину сбоя определяет разработчик.
Как проверить исправление
После выпуска исправления проверьте, возникает ли проблема в новой версии приложения. Разделяйте версии при анализе: сбои в старой версии могут продолжать поступать, пока пользователи ее используют.
Исправленную группу можно закрыть, чтобы отделить ее от актуальных проблем. Если сбой появится в версии, где раньше не наблюдался, группа откроется снова.
Чтобы узнавать о проблемах по почте, настройте уведомления по email.
Если вы не нашли ответ на свой вопрос, то вы можете задать его через форму обратной связи. Пожалуйста, опишите возникшую проблему как можно подробнее. Если возможно, приложите скриншот.