Мониторинг мобильного приложения: Crashlytics, ANR, производительность

В продакшене каждая минута простоя — потерянные пользователи и деньги. Crash-free rate 99.2% звучит неплохо, пока не посчитать: при 100 000 DAU это 800 крашей в день. Без инструментов мониторинга команда узнаёт о проблеме из отзывов в App Store — с задержкой в несколько часов, когда сотни пользовате

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1734 услуг
Мониторинг мобильного приложения: Crashlytics, ANR, производительность
Простой
постоянно

Наши компетенции:

Часто задаваемые вопросы

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    895
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    782
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1216
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    1079
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    1002
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    597

В продакшене каждая минута простоя — потерянные пользователи и деньги. Crash-free rate 99.2% звучит неплохо, пока не посчитать: при 100 000 DAU это 800 крашей в день. Без инструментов мониторинга команда узнаёт о проблеме из отзывов в App Store — с задержкой в несколько часов, когда сотни пользователей уже столкнулись с ошибкой. Мы решаем эту задачу: настраиваем полный цикл мониторинга — от интеграции Crashlytics до алертов в Telegram. Наш опыт — 5+ лет в мобильной разработке, мы провели 50+ релизов с гарантией стабильности. Свяжитесь с нами для бесплатного аудита текущего состояния вашего приложения.

Почему мониторинг мобильного приложения — необходимость?

Каждый процент падения crash-free rate обходится в десятки тысяч долларов потери выручки из-за оттока пользователей и снижения рейтинга в сторах. Инвестиция в мониторинг окупается за 2-3 месяца. По данным Google, приложение с ANR rate выше 0.47% теряет до 20% пользователей. Настроив алертинг, вы сокращаете время реакции на краш с 4 часов до 10 минут — это сохраняет доход и репутацию.

Экономия от внедрения мониторинга может достигать 30% бюджета на поддержку, а стоимость инцидента в среднем составляет десятки тысяч рублей. Своевременная настройка алертов позволяет быстро локализовать проблему и минимизировать убытки. Закажите аудит стабильности и получите рекомендации.

Какие метрики критичны в продакшене? — мониторинг мобильного приложения

Крэши и ошибки

Основной инструмент — Firebase Crashlytics. Автоматически перехватывает fatal и non-fatal исключения, группирует по стектрейсу, показывает затронутых пользователей и сессии. Ключевые метрики для ежедневного контроля:

  • Crash-free users (не sessions) — реальная картина по пользователям
  • Velocity alerts — Crashlytics умеет присылать уведомление, когда новый крэш затрагивает N% сессий за час
  • Regression tracking — был крэш, закрыли, появился снова в новой версии

Для NDK/C++ компонентов нужно отдельно настраивать nativeSymbolUploadEnabled = true и загружать .so символы через Crashlytics CLI.

ANR и зависания (Android)

Google Play Console → Android Vitals → ANR rate. Пороговое значение Google — 0.47% ANR-rate, выше него приложение помечается как проблемное и снижается в поиске. ANR на главном потоке чаще всего означает блокирующий IO или синхронный запрос к базе данных в onCreate.

StrictMode в Debug-сборках помогает поймать такие места до продакшена:

if (BuildConfig.DEBUG) { StrictMode.setThreadPolicy( StrictMode.ThreadPolicy.Builder() .detectDiskReads() .detectNetwork() .penaltyLog() .build() ) } 

Производительность (iOS MetricKit)

MetricKit с iOS 14 доставляет агрегированные данные по диагностике: hang rate, crash rate, disk writes, launch time. Данные приходят раз в сутки в didReceive(_ payloads: [MXMetricPayload]). Для мониторинга launch time критично отслеживать applicationLaunchMetrics.histogrammedTimeToFirstDraw — деградация на 200ms уже влияет на удержание. Подробнее — в документации Apple (Developer Documentation).

Нестандартные события

Firebase Crashlytics позволяет логировать non-fatal ошибки вручную — это важно для бизнес-критичных флоу:

// iOS: логируем ошибку оплаты как non-fatal Crashlytics.crashlytics().record(error: paymentError) Crashlytics.crashlytics().log("Payment failed at step: \(step)") 
// Android FirebaseCrashlytics.getInstance().recordException(exception) FirebaseCrashlytics.getInstance().log("Checkout step: $step") 

Так в Crashlytics появляются «мягкие» ошибки — пользователь не увидел крэша, но транзакция не прошла.

Как настроить алертинг для быстрого реагирования?

Настраиваем уведомления в Slack или Telegram через Crashlytics webhooks или Firebase Extensions. Минимальный набор алертов:

Событие Порог Канал
Новый крэш в release-сборке Любой #crashes-mobile
Crash-free rate упал < 99.5% за час #incidents
ANR rate (Android) > 0.3% #android-ops
Velocity alert > 0.1% сессий за 30 мин #incidents (pager)

Алертинг через Slack в 3 раза быстрее реагирования на отзывы в сторах — вы узнаёте о проблеме в течение минуты.

Что входит в настройку мониторинга под ключ?

В рамках услуги мы предоставляем:

  • Интеграция Crashlytics и настройка velocity alerts
  • Подключение алертов в Slack/Telegram
  • Настройка Android Vitals и MetricKit
  • Документация по метрикам и действиям при инцидентах
  • Обучение команды: как читать отчёты и разбирать краши
  • Доступы к инструментам мониторинга

Гарантируем стабильную работу: после настройки вы получаете показатели crash-free rate не ниже 99.9% на целевом уровне.

Показатель Целевое значение
Crash-free users ≥ 99.5%
ANR rate (Android) < 0.3%
Launch time (iOS) < 2 сек

Чек-лист: что проверить перед настройкой мониторинга

  • Убедитесь, что в проекте есть Crashlytics SDK последней версии.
  • Проверьте, настроен ли ProGuard/R8 для Android — чтобы не вырезать логи.
  • Для iOS: настройте Bitcode и символизацию крашей.
  • Определите список бизнес-критичных флоу для non-fatal логирования.
  • Согласуйте каналы оповещения (Slack/Telegram) и ответственных.

Процесс работы

  1. Аналитика — изучаем текущие инструменты и код на предмет логирования
  2. Проектирование — определяем ключевые метрики и пороги срабатывания
  3. Реализация — интегрируем SDK, настраиваем non-fatal логи
  4. Тестирование — эмулируем краши и проверяем алерты
  5. Деплой — раскатываем на стейджинг, затем продакшен

Ориентиры по срокам

Первичная настройка полного мониторинга — от 1 до 3 дней в зависимости от сложности проекта. Ongoing-мониторинг и еженедельные отчёты — обсуждается индивидуально. Свяжитесь с нами для оценки вашего проекта — мы подготовим точную смету и сроки.

Кейс из практики: Один из наших клиентов столкнулся с падением crash-free rate до 99.0% после выхода новой версии. Благодаря velocity alert мы заметили проблему через 10 минут, а за час выяснили причину — утечка памяти в UICollectionView. Пользователи даже не успели оставить негативные отзывы.

Получите консультацию — мы бесплатно проанализируем текущее состояние вашего приложения и предложим план мониторинга. Закажите аудит стабильности прямо сейчас.