Інтеграція Firebase Performance Monitoring в мобільний додаток

TRUETECH займається розробкою, підтримкою та обслуговуванням мобільних додатків iOS, Android, PWA. Маємо великий досвід та експертизу для публікації мобільних додатків до популярних маркетів Google Play, App Store, Amazon, AppGallery та інші.

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Інтеграція Firebase Performance Monitoring в мобільний додаток
Простий
~1 день
Часті запитання

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

Етапи розробки

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

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    495

Інтеграція Firebase Performance Monitoring в мобільний додаток

Профайлер на девайсі розробника показує 60 fps. Firebase Crashlytics — немає крашів. Але користувачі пишуть «всё тормозить». Firebase Performance Monitoring — це інструментарій для замірів реального часу відклику на реальних пристроях користувачів, а не в лабораторних умовах.

Що вимірює Performance Monitoring

SDK автоматично збирає:

  • App start time — від виклику applicationDidFinishLaunching до моменту, коли додаток стає інтерактивним
  • Screen rendering — для кожного UIViewController на iOS та Activity/Fragment на Android: slow frames (>16 мс) та frozen frames (>700 мс)
  • Network requests — час відповіді, розмір запиту/відповіді, HTTP-статус для всіх запитів через URLSession / OkHttp

Плюс кастомні трейси для будь-якого блоку коду.

Підключення та кастомні трейси

На iOS через Swift Package Manager або CocoaPods — додаємо FirebasePerformance. SDK інініціалізується автоматично при старті через FirebaseApp.configure().

Кастомний трейс для вимірювання дорогої операції:

import FirebasePerformance

func loadProductCatalog() async {
    let trace = Performance.startTrace(name: "load_product_catalog")
    defer { trace?.stop() }

    trace?.setValue("v2", forAttribute: "api_version")

    let products = await productRepository.fetchAll()
    trace?.incrementMetric("product_count", by: Int64(products.count))
}

На Android / Kotlin:

val trace = Firebase.performance.newTrace("load_product_catalog")
trace.start()
trace.putAttribute("api_version", "v2")

val products = productRepository.fetchAll()
trace.putMetric("product_count", products.size.toLong())

trace.stop()

putAttribute дозволяє сегментувати трейси в консолі по довільним параметрам — наприклад, дивитися час завантаження окремо для кожної версії API.

Сітьові запити та кастомний NetworkInterceptor

Автоматичний перехват запитів працює через swizzling URLSession на iOS. Якщо проект використовує кастомну URLSession або Alamofire, може потребуватися ручна реєстрація через HTTPMetric:

let metric = HTTPMetric(url: url, httpMethod: .get)
metric?.start()

URLSession.shared.dataTask(with: url) { data, response, error in
    metric?.responseCode = (response as? HTTPURLResponse)?.statusCode ?? -1
    metric?.stop()
}.resume()

Для Alamofire — додаємо EventMonitor, який обгортає метрики навколо кожного запиту.

Що дивитися в консолі

Після інтеграції у дашборді доступні:

Метрика Поріг тривоги
App start time > 2 сек — проблема
Slow frames > 1%
Frozen frames > 0.1%
Час сітьового запиту Аномалії по перцентилям p50/p90/p95

Консоль показує розбивку по версіях додатку, країні, типу пристрою та OS. Це єдиний спосіб дізнатися, що конкретний екран тормозить тільки на Android 10 на бюджетних пристроях.

Що входить у роботу

  • Додавання SDK та базова інніціалізація
  • Кастомні трейси для ключових операцій (завантаження даних, рендер важких списків)
  • Налаштування перехвату сітьових запитів при нестандартному стеку
  • Базовий дашборд з порогами алертів

Термін

Базова інтеграція з автоматичними трейсами: 1 день. З кастомними трейсами під конкретні екрани та налаштуванням Network interceptor: 2 дні. Вартість розраховується індивідуально.