Оперативне виправлення критичних багів мобільного додатку

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

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1735 послуг
Оперативне виправлення критичних багів мобільного додатку
Середній
~2-3 години
Часті запитання

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

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

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

  • 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

Оперативне виправлення критичних багів мобільного додатку

Оплата перестала працювати у 15% користувачів після оновлення до iOS 17.4. Або на Android 14 додаток падає при відкритті уведомлення — а вчора ще працював. Це критичні баги: вони блокують ключові користувацькі сценарії, й кожна година без виправлення — це втрати конверсії й зростання негативних відзивів.

Що вважати критичним

Не кожен баг вимагає hotfix. Критерії для екстреного виправлення:

  • Крешу торкається >1% сесій за останні 6 годин
  • Заблоковані оплата, авторизація або core-функціонал додатку
  • Уразливість безпеки з можливістю утечі даних
  • ANR rate перевищив 1% на Android (ризик попередження від Google)

Баг з неправильним відображенням дати в профілі — не критичний. Падення при спробі зробити замовлення — критичний.

Як працює hotfix-процес

Діагностика (першів 30–60 хвилин)

Дивимось Crashlytics: версія затронутих пристроїв, ОС, конкретний стектрейс. Якщо крешу почалась після конкретного релізу — git diff між версіями звужує пошук. Якщо почалась без релізу — шукаємо зміни на backend (API-ответ, формат даних, новий endpoint).

Типовий сценарій: бэкенд повернув null у полі, яке мобільний клієнт не очікував отримати nullNullPointerException або force-unwrap у Swift (Fatal error: Unexpectedly found nil). Фікс на стороні клієнта — defensive parsing:

// Було — падає при null
val price = response.price.toDouble()

// Стало — graceful handling
val price = response.price?.toDoubleOrNull() ?: 0.0

Розробка й тестування

Hotfix-гілка від поточного production-тегу, не від main. Тільки мінімальне змінення — ніяких «заодно рефакторингів». Тестування на реальному пристрої з версією ОС, на якій воспроізводиться крешу.

Для Android: можна випустити hotfix через staged rollout — спочатку 10%, дивимось на crash-rate у Play Console у реальному часі, потім розширюємо.

Публікація

App Store: екстрений review займає 24–48 годин при стандартній черзі. При реальній критичній ситуації Apple приймає запит на Expedited Review через Resolution Center — рішення в межах кількох годин. Обґрунтування повинна бути конкретним: «crashes for 100% of users on iOS 17.4 during payment».

Google Play: staged rollout 10% → 50% → 100% з кроком 1–2 години при стабільних метриках. Повний rollout на всіх користувачів — протягом дня.

Remote kill switch

Для критичних ситуацій, коли фікс не готовий швидко — можна заздалегідь реалізувати feature flags через Firebase Remote Config. Відключити проблемну фічу без релізу:

// iOS: перевірка флагу перед показом функції
let config = RemoteConfig.remoteConfig()
let isPaymentEnabled = config["payment_enabled"].boolValue

Якщо флаг не був реалізований заздалегідь — це аргумент на користь його додавання після розрішення інциденту.

Після фіксу

Post-mortem: що саме зломалось, чому тест не поймав, що додати в регресійний набір. Не для пошуку винних — для того, щоб наступний аналогічний баг поймати на staging, а не в продакшені.

Орієнтири по строкам

Діагностика й мінімальний фікс стандартної крешу — 2–8 годин. Проблема, пов'язана з змінною поведінки ОС або стороннього SDK (наприклад, змін у AVFoundation після оновлення iOS) — до 2 робочих днів. Вартість розраховується індивідуально після аналізу ситуації.