Моніторинг швидкості запуску додатку (Launch Time)

Час холодного запуску — перша метрика, яку помічає користувач. Якщо ваш cold launch перевищує 2 секунди, кожен двадцятий користувач може закрити додаток. Apple рекомендує холодний запуск менше 20 секунд, але реальний поріг терпіння нижчий. Без моніторингу ви не дізнаєтесь, що P95 сягає 5 секунд. Мон

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Моніторинг швидкості запуску додатку (Launch Time)
Середній
від 4 годин до 2 днів

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

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    896
  • 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
    1003
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    597

Час холодного запуску — перша метрика, яку помічає користувач. Якщо ваш cold launch перевищує 2 секунди, кожен двадцятий користувач може закрити додаток. Apple рекомендує холодний запуск менше 20 секунд, але реальний поріг терпіння нижчий. Без моніторингу ви не дізнаєтесь, що P95 сягає 5 секунд. Моніторинг перцентилів (P50, P95) дає повну картину: середнє значення приховує хвіст, який вбиває користувацький досвід. Налаштування алертів на регресію дозволяє не пропустити погіршення між релізами. Ми налаштовуємо моніторинг запуску для iOS та Android, використовуючи MetricKit і Firebase Performance — багаторічний досвід та десятки реалізованих інтеграцій. За нашої допомоги ви зможете протягом двох днів отримати прозору систему метрик і перестати гадати, що гальмує запуск. Налаштування включає інтеграцію SDK, створення дашборду та налаштування сповіщень у Slack або Telegram. Це дозволяє зекономити до 40% часу на налагодження регресій та підвищити конверсію утримання на 5-10%.

Моніторинг швидкості запуску: що вимірюємо та як

Cold launch — додаток не в пам'яті, процес створюється заново. Найповільніший, найважливіший для моніторингу. Warm launch (iOS) — додаток був у пам'яті, але скинутий у background. Процес живий, але viewDidLoad виконується заново. Hot launch — повернення з background. Практично миттєвий. Моніторити потрібно cold та warm. Hot не показовий.

Чому холодний запуск — головна метрика?

Холодний запуск — перше враження користувача. Якщо він триває довше 3 секунд, кожен двадцятий користувач може закрити додаток. Apple у рекомендаціях щодо продуктивності вимагає холодний запуск менше 20 секунд, але реальний поріг терпіння — близько 2 секунд. Моніторинг P95 показує найгірший сценарій, який не видно в середньому.

Який інструмент моніторингу обрати для вашого проєкту?

Вибір між MetricKit та Firebase Performance залежить від платформи та вимог до real-time даних. MetricKit ідеальний для iOS-only проєктів, де потрібна агрегована статистика від усіх користувачів без встановлення SDK. Firebase Performance підходить для кроссплатформених додатків і дозволяє отримувати дані в реальному часі з розбивкою по пристроях. Детальніше про Firebase Performance можна дізнатися в документації Firebase Performance.

Як налаштувати моніторинг запуску?

  1. Виберіть інструмент: MetricKit або Firebase Performance.
  2. Інтегруйте SDK у проєкт.
  3. Додайте кастомні мітки для pre-main часу (iOS) або ініціалізації (Android).
  4. Створіть дашборд метрик (P50, P95, розподіл по версіях).
  5. Налаштуйте алерти на регресію: сповіщення, якщо P95 холодного запуску зріс на 20% порівняно з попередньою версією.
  6. Перевірте збір даних на реальних пристроях через TestFlight або Firebase App Distribution.

Вбудовані інструменти платформ

iOS — MetricKit. Починаючи з iOS 13, система агрегує діагностику реальних користувачів і віддає через MXMetricManager:

class AppDelegate: MXMetricManagerSubscriber { func applicationDidFinishLaunching() { MXMetricManager.shared.add(self) } func didReceive(_ payloads: [MXMetricPayload]) { for payload in payloads { if let launchMetric = payload.applicationLaunchMetrics { let coldLaunchP50 = launchMetric.histogrammedTimeToFirstDrawKey .histogram(for: .applicationLaunchTimeToFirstDraw) Analytics.track("cold_launch_p50", value: coldLaunchP50) } } } } 

MetricKit віддає дані раз на добу, агреговані за попередні 24 години. Це не real-time, але реальна вибірка по всіх користувачах.

Android — Firebase Performance Monitoring. app_start trace збирається автоматично при підключенні SDK. Розділяє app_start_cold та app_start_warm. Доступний у Firebase Console з розбивкою по пристроях, версіях ОС, версіях додатку.

Для кастомних міток в Android — FirebasePerformance.getInstance().newTrace("custom_init") + start() / stop(). Дозволяє зрозуміти, яка саме ініціалізація гальмує.

Як виміряти pre-main час на iOS?

Pre-main час (завантаження dynamic linker, ініціалізація Objective-C runtime) не покривається звичайними вимірами в AppDelegate. Єдиний спосіб побачити його — увімкнути змінну середовища DYLD_PRINT_STATISTICS у схемі Xcode. Для автоматичного збору використовуйте інструментування через MetricKit та спеціалізовані бібліотеки.

Інструментування в коді

Навіть без зовнішніх SDK можна виміряти запуск самостійно. iOS:

// В AppDelegate або @main static let appLaunchTimestamp = Date() // В viewDidAppear першого екрану let launchDuration = Date().timeIntervalSince(AppDelegate.appLaunchTimestamp) Analytics.track("cold_launch_duration", value: launchDuration) 

Але цей метод неточний — не враховує pre-main час (динамічні бібліотеки, runtime). Для pre-main: змінна середовища DYLD_PRINT_STATISTICS у схемі Xcode.

Android:

class App : Application() { override fun onCreate() { val start = SystemClock.elapsedRealtime() super.onCreate() // ... ініціалізації val initDuration = SystemClock.elapsedRealtime() - start FirebaseAnalytics.getInstance(this).logEvent("app_init_duration") { param("duration_ms", initDuration) } } } 

SystemClock.elapsedRealtime() точніше System.currentTimeMillis() для вимірювання інтервалів.

Dashboard та алерти

Мінімальний набір метрик для моніторингу:

Метрика Інструмент Цільове значення
Cold launch P50 Firebase / MetricKit < 1.5 сек
Cold launch P95 Firebase / MetricKit < 3.0 сек
Cold launch по версіях Firebase Не зростає
Slow cold launches (> 5 сек) Firebase < 5%

Алерт на зростання P95 між версіями — важливіше абсолютного значення. Регресія на 500 мс між двома релізами — сигнал шукати винуватця в diff змін.

У Grafana або Firebase Alerts налаштовуємо сповіщення: якщо P95 cold launch у поточній версії перевищує P95 попередньої версії на 20% — сповіщення в Slack.

Порівняння інструментів
Інструмент Частота оновлення Кроссплатформеність Кастомні метрики
MetricKit Раз на добу Тільки iOS Обмежена
Firebase Performance Real-time iOS + Android Так

Firebase Performance краще підходить для кроссплатформених проєктів, MetricKit — якщо потрібні дані від усіх користувачів iOS без встановлення SDK.

Що входить у налаштування моніторингу

  • Інтеграція MetricKit або Firebase Performance SDK.
  • Налаштування збору даних cold/warm launch.
  • Створення дашборду в Firebase Console або Grafana.
  • Налаштування алертів на регресію (Slack, email).
  • Документація з експлуатації та рекомендації з оптимізації.
  • Навчання розробників — до 1 години консультації.

Ми гарантуємо, що після налаштування ви будете бачити P50, P95 та розподіл часу запуску по версіях і пристроях.

Строки: від 1 до 2 днів на базову інтеграцію. Оцінимо ваш проєкт безкоштовно — зв'яжіться з нами для консультації. Замовте налаштування моніторингу запуску під ключ і отримайте готову систему з алертами.