В продакшене каждая минута простоя — потерянные пользователи и деньги. 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) и ответственных.
Процесс работы
- Аналитика — изучаем текущие инструменты и код на предмет логирования
- Проектирование — определяем ключевые метрики и пороги срабатывания
- Реализация — интегрируем SDK, настраиваем non-fatal логи
- Тестирование — эмулируем краши и проверяем алерты
- Деплой — раскатываем на стейджинг, затем продакшен
Ориентиры по срокам
Первичная настройка полного мониторинга — от 1 до 3 дней в зависимости от сложности проекта. Ongoing-мониторинг и еженедельные отчёты — обсуждается индивидуально. Свяжитесь с нами для оценки вашего проекта — мы подготовим точную смету и сроки.
Кейс из практики: Один из наших клиентов столкнулся с падением crash-free rate до 99.0% после выхода новой версии. Благодаря velocity alert мы заметили проблему через 10 минут, а за час выяснили причину — утечка памяти в UICollectionView. Пользователи даже не успели оставить негативные отзывы.
Получите консультацию — мы бесплатно проанализируем текущее состояние вашего приложения и предложим план мониторинга. Закажите аудит стабильности прямо сейчас.







