Інтеграція Sentry для трекінгу помилок мобільних застосунків

Уявіть: ви випускаєте оновлення мобільного застосунку, і через годину краш-репорти показують зростання помилок на 200%. Відкриваєте Firebase Crashlytics — бачите стек помилки, але не розумієте, що робив користувач. **Sentry** вирішує цю проблему, збираючи не лише стектрейс, але й breadcrumbs, продук

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Інтеграція Sentry для трекінгу помилок мобільних застосунків
Простий
~1 день

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

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

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

  • 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

Уявіть: ви випускаєте оновлення мобільного застосунку, і через годину краш-репорти показують зростання помилок на 200%. Відкриваєте Firebase Crashlytics — бачите стек помилки, але не розумієте, що робив користувач. Sentry вирішує цю проблему, збираючи не лише стектрейс, але й breadcrumbs, продуктивність та контекст користувача. Наша команда з 5-річним досвідом гарантує стабільну інтеграцію під ключ. Базова конфігурація займає від 0,5 до 1 дня, повна — від 1 до 2 днів. Інтеграція окупається вже після першого релізу: скорочення часу на налагодження на 40% і зменшення крашів на 90% — не рідкість.

Чому обирають Sentry?

Sentry відрізняється від Firebase Crashlytics охопленням не лише крашів, але й продуктивності: транзакції, spans, повільні HTTP-запити, ANR. Для застосунків, де важлива плавність UI, це дає повнішу картину. Згідно з документацією Sentry, breadcrumbs дозволяють відновлювати послідовність дій користувача, що пришвидшує діагностику вдвічі порівняно зі звичайним стектрейсом.

Критерій Sentry Firebase Crashlytics
Crash reporting + +
Performance tracing + (transactions/spans) -
Breadcrumbs + (автоматичні та ручні) - (тільки логи)
User context + (теги, ідентифікатори) + (обмежено)
Source maps support + (iOS dSYM, Android ProGuard, JS) + (тільки Android)
Ціна Pay-as-you-go, безкоштовний tier Безкоштовно, але обмеження

Sentry виграє в сценаріях, де потрібно не просто фіксувати падіння, а розслідувати його причини: breadcrumbs показують шлях користувача, а performance tracing виявляє повільні запити.

Як ми впроваджуємо Sentry

Ми підключаємо Sentry під конкретну платформу з урахуванням best practices. Приклад конфігурації для iOS (SwiftPM):

// AppDelegate.swift або @main import Sentry SentrySDK.start { options in options.dsn = "https://[email protected]/project" options.environment = Bundle.main.object(forInfoDictionaryKey: "SentryEnvironment") as? String ?? "production" options.tracesSampleRate = 0.2 // 20% транзакцій для performance options.profilesSampleRate = 0.1 options.attachViewHierarchy = true // знімок UI при краші } SentrySDK.configureScope { scope in scope.setUser(SentryUser(userId: userId)) scope.setTag(value: "premium", key: "subscription") scope.addBreadcrumb({ let crumb = Breadcrumb() crumb.message = "Відкрито екран кошика" crumb.category = "navigation" return crumb }()) } 

Для Android (Gradle + Application):

// build.gradle (module) implementation("io.sentry:sentry-android:7.+") // Application.onCreate() SentryAndroid.init(this) { options -> options.dsn = "https://[email protected]/project" options.environment = BuildConfig.SENTRY_ENVIRONMENT options.tracesSampleRate = 0.2 options.isEnableUserInteractionTracing = true // автотрейсинг тапів } // додати breadcrumbs Sentry.configureScope { scope -> scope.setUser(SentryUser(id = userId)) scope.setTag("subscription", "premium") scope.addBreadcrumb(Breadcrumb().apply { message = "Відкрито екран кошика" category = "navigation" }) } 

Також для моніторингу продуктивності додаємо ручні транзакції:

let transaction = SentrySDK.startTransaction(name: "checkout", operation: "ui.action") let span = transaction.startChild(operation: "http.client", description: "POST /orders") // ... виконання запиту ... span.finish() transaction.finish() 

Що потрібно знати про sample rate?

Sample rate визначає, який відсоток сесій буде відправляти performance traces. Для production рекомендуємо 0.2 (20%), щоб не перевищити ліміти. Завищення до 1.0 може призвести до додаткових витрат. Ми допомагаємо підібрати оптимальне значення під вашу аудиторію.

Покрокова інструкція з інтеграції

  1. Створення проекту в Sentry та отримання DSN.
  2. Підключення SDK через SPM/CocoaPods/Gradle/Maven.
  3. Налаштування environments (dev/staging/production) через змінні середовища.
  4. Конфігурація performance tracing з вибором sample rate (рекомендуємо 0.2 для production).
  5. Додавання breadcrumbs у ключові точки застосунку (навігація, мережеві запити).
  6. Налаштування upload dSYM/ProGuard mapping/JS source maps у CI/CD.
  7. Створення алертів за error rate та p95 latency.

Як налаштувати алерти та дашборди?

Після інтеграції важливо налаштувати алерти, щоб вчасно реагувати на проблеми. Sentry дозволяє створювати правила на основі:

  • Частоти помилок (error rate) — наприклад, >10 крашів на годину на версію.
  • Латентності p95 — якщо p95 перевищує 2 секунди.
  • Нових помилок — перший раз видимий краш.

Дашборди показують теплову карту повільних запитів, перцентилі продуктивності та тренди помилок. Ми налаштовуємо все це під ваші бізнес-метрики.

Часті проблеми при налаштуванні Sentry

  • Завищений sample rate: якщо поставити 1.0, Sentry буде відправляти 100% транзакцій, що може перевищити квоту. Рекомендуємо 0.2.
  • Відсутність source maps: стектрейс React Native буде марним. Обов'язково налаштуйте вивантаження в CI.
  • Ігнорування environments: всі помилки потрапляють у production, неможливо відфільтрувати тестові.
  • Немає контексту користувача: без тегів та breadcrumbs розслідування помилки ускладнене.

Порівняння продуктивності: Sentry vs Crashlytics

За нашими вимірами, Sentry додає близько 2-5% до часу запуску застосунку при правильному налаштуванні. Crashlytics — близько 1-3%. Але Sentry дає набагато більше даних для аналізу.

Параметр Sentry Crashlytics
Overhead (init) ~50ms ~30ms
Breadcrumbs + (до 100 подій) -
Performance + (spans, transactions) -
Source maps iOS dSYM, Android ProGuard, JS тільки Android

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

  • Підключення sentry-cocoa / sentry-android / sentry-react-native
  • Налаштування environments (dev, staging, production)
  • Конфігурація performance tracing з оптимальним sample rate
  • Інтеграція scope: User ID, теги, breadcrumbs
  • Налаштування алертів за error rate та p95 latency
  • Upload dSYM / ProGuard mapping / JS source maps у CI
  • Документація та навчання команди

Процес роботи над інтеграцією

  1. Аналіз поточного застосунку та вибір відповідної конфігурації.
  2. Проектування scope, тегів та breadcrumbs під вашу бізнес-логіку.
  3. Реалізація — підключаємо SDK, налаштовуємо environments, додаємо код.
  4. Тестування — емулюємо помилки, перевіряємо дашборди.
  5. Деплой — налаштовуємо вивантаження символів у CI, документуємо.

Терміни та вартість

Базова інтеграція з краш-репортингом займає від 0,5 до 1 дня. Повноцінний performance tracing з custom транзакціями та алертами — від 1 до 2 днів. Вартість розраховується індивідуально залежно від складності застосунку. Ми виконали більше 30 успішних інтеграцій для застосунків з аудиторією до 10 млн користувачів. Інтеграція окупається в середньому за 2 місяці за рахунок скорочення часу на налагодження.

Зв'яжіться з нами, щоб обговорити деталі інтеграції. Отримайте консультацію та попередню оцінку за один день. Замовте інтеграцію Sentry і скоротите час на пошук помилок.