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

Застосунок випущено, але збої, відмови на нових версіях і потік звернень не припиняються. Ми беремо релізний контур на супровід: чергуємо за зверненнями, розбираємо причини та випускаємо виправлення за регламентом — час відновлення скорочується в рази.

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

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

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Технічна підтримка мобільного застосунку після релізу
Простий
постійно
Часті запитання

Технічна підтримка мобільного застосунку після релізу: що ламається

Реліз у магазині застосунків — не фініш, а точка, з якої починається найщільніша статистика збоїв.

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

Технічна підтримка мобільного застосунку після випуску будується навколо аналізу цієї статистики, а не очікування, що все налагодиться саме.

Падіння на рідкісних моделях незначні за часткою пристроїв, але болючі в абсолютних числах. Агресивна економія заряду вбиває фоновий процес, нестандартний менеджер пам’яті вивантажує стан, і під час повернення в застосунок екран падає на відновленні списку. У звітах це та сама помилка, що повторюється в усіх власників такої моделі.

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

Зворотний випадок гірший: повторне надсилання без ключа ідемпотентності дає подвійне списання, яке потім розбирають вручну.

Деградація на слабкій мережі та під час перемикання між мережами виглядає як завислі запити без таймауту, втрата сесії та екран завантаження, який нічим закрити. Найдорожче обходяться збої входу й оплат: користувач не може повернутися в акаунт і не розуміє, чи пройшов платіж.

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

Що змінюється, коли випуск іде за регламентом

Регламент випуску — це не порядок у документах, а те, що відбувається в перші хвилини після публікації. Збірка йде не всій аудиторії одразу: спочатку внутрішній контур, потім частка користувачів, яка розширюється, поки метрики залишаються в нормі. Звідси — вимірювані наслідки, які видно в моніторингу, а не у звітах.

Час відновлення після збою

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

Відкат на попередню збірку в поетапному випуску (у Google Play Console та аналогічних консолях) займає хвилини, тому простій вважається не «поки зберемо виправлення», а «поки зупинимо роздачу».

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

Частка збоїв, які не доходять до користувача

Збої, які спіймав перший контур і перші 5–10% аудиторії, закриваються до того, як їх побачать решта: аварійне завершення при холодному старті, відмова авторизації, помилка на конкретній моделі.

Охоплення версій при цьому не розсипається — схема API веде зворотну сумісність, а збірки нижче порогу отримують м’яке оновлення замість помилок.

У результаті частка збоїв, що доходять до кінцевих користувачів, вимірюється одиницями відсотків, а не розбором за скаргами в магазинах застосунків.

Формати підтримки: чергування, пул завдань, виділена команда

Формат супроводу обирають не за гучністю назви, а за тим, як влаштована черга звернень і хто відповідає за розподіл робіт між релізами. Нижче — три режими, між якими реально обирають, і те, чим кожен із них обмежує.

Варіант Коли підходить Обмеження
Чергування за зверненнями Застосунок стабільний, релізи рідкі, потік звернень поодинокий Робота за фактом збою; накопичені дефекти чекають вікна; планових покращень немає
Пул завдань із чергою Потік звернень рівномірний, пріоритети часто змінюються Потрібен регламент пріоритетів, інакше термінове витісняє важливе
Виділена команда Кілька платформ, часті релізи, жорсткий час відновлення Потребує постійного потоку завдань, щоб завантаження було виправданим

Чергування за зверненнями

Інженер на зміні стежить за оповіщеннями про падіння, розбирає звернення і або закриває його, або переводить у чергу з описом відтворення. Режим дає мінімальний час реакції на критичний збій, але не рухає накопичений технічний борг: він живе між змінами й чекає окремого вікна.

Пул завдань і виділена команда

Пул завдань — черга з прозорими пріоритетами: дефекти, доопрацювання та вимоги магазинів ранжуються за впливом на користувача, а не за гучністю запиту.

Виділена команда відрізняється тим, що тримає контекст релізів між ітераціями — свої стенди, регрес перед викладкою та метрики стабільності, за якими видно результат супроводу.

Перехід між режимами оборотний: починати можна з чергування й нарощувати обсяг робіт у міру зростання продукту.

Порядок передачі в супровід: етапи інженерної роботи

Передача в супровід — не перемикання чергового в загальному чаті, а послідовність кроків, після яких команда відповідає за застосунок без авторів коду поруч. Якщо її пропустити, архітектура розкривається через інциденти: час реакції рахується днями, а не хвилинами.

Аудит і зняття поточного стану

  1. Аудит застосунку. Збираємо фактичний стан: де живе збірка, як викладається оновлення, які гілки підтримуються, у кого доступ до консолей магазинів застосунків.
  2. Схема залежностей. Позначаємо зовнішні сервіси, серверні методи та сторонні бібліотеки, прив’язуємо до них точки відмови. Стає видно, яке оновлення чужого компонента ламає продукт.
  3. Налаштування збору збоїв. Включаємо збір падінь і метрик на реальних збірках, щоб про проблему повідомляв моніторинг, а не дзвінок користувача. Окремо перевіряємо, що збої читабельні та прив’язані до конкретного випуску.

Налаштування контролю та передача чергування

  • Розмежування доступів. Видаємо ролі замість спільних облікових записів, відокремлюємо право на випуск від права читати збої та дивитися дані.
  • Перевірка на навчальному контурі. Відтворюємо типові збої — відмову серверного методу, падіння на старті, відхилення збірки магазином — і перевіряємо, що черговий проходить шлях до причини без підказок.
  • Передача та навчання. Фіксуємо регламент реакції, порядок ескалації та карту власників. Перші тижні чергуємо разом з авторами коду, далі — самостійно.

На виході замовник отримує не звіт, а робочий процес: зрозумілу схему залежностей, налаштований збір збоїв і команду, яка закриває інциденти за регламентом.

Регламенти, схеми та доступи, які залишаються у вас

Усі артефакти підтримки ми оформлюємо як передавальний комплект: вони лежать у ваших сховищах і внутрішній базі знань, а не в листуванні та головах виконавця.

Якщо ви зміните підрядника або приведете штатного інженера, відновлювати устрій системи з пам’яті не доведеться — комплект описує і те, як вона зібрана, і те, як на неї реагувати.

Пакет документації

  • Карта сервісів і залежностей: які модулі за що відповідають, що з чим пов’язано, де зовнішні інтеграції та що відмовить разом із ними.
  • Схема середовищ: збірка, тестовий контур, магазини застосунків — що куди й у якому порядку викладається.
  • План випусків: календар оновлень, вікна для термінових виправлень, порядок узгодження.
  • Журнал змін: що і коли змінювалося, яке завдання це спричинило, як відкотитися на попередній випуск.
  • Інструкції з типових операцій: перевипуск сертифікатів, ротація ключів, зміна конфігурацій.

Доступи та правила реагування

  • Політики доступу та ролі: у кого які права в панелях, сховищах і середовищах, хто видає та відкликає їх.
  • Правила реагування на збої: рівні критичності, за який час беремо в роботу, кого оповіщаємо.
  • Матриця ескалації: хто ухвалює рішення, коли інцидент зачіпає кілька сервісів одразу.

Комплект живий: ми оновлюємо його за кожної зміни в системі, тому він не розходиться з реальністю через місяць після передачі.

Кейс: як скоротили збої та час відновлення

До нас прийшов застосунок мережі магазинів Полка — замовлення, програма лояльності, оплата. Заявки на збої розбирали за зверненнями користувачів, тобто вже після того, як частина покупців пішла до конкурентів.

На вході була робоча кодова база та повна відсутність регламенту: про падіння розробники дізнавалися з відгуків у магазинах застосунків.

Що було до передачі

Збої не розділялися за важливістю: падіння на старті та з’їхала верстка картки товару потрапляли в один список і чекали вільного розробника.

Середній час реакції на критичний збій сягав доби, частина інцидентів не відтворювалася за описом і закривалася без причини — той самий дефект повертався в наступному оновленні.

Частка успішних сесій трималася на 91%, а після великих випусків падала до 86% і відновлювалася тижнями.

Що стало після регламенту

Ми запровадили класи збоїв: критичні (падіння під час запуску, відмова оплати, втрата замовлення), деградації (довгий відгук інтерфейсу, неповні дані в особистому кабінеті) та косметика.

Під кожен клас — свій строк реакції та черговий інженер, а збої збираються автоматично з прив’язкою до версії, моделі пристрою та сценарію: дефект відтворюється за даними, а не за формулюванням користувача.

Підсумок за метриками: час реакції на критичний збій скоротився з доби до десятків хвилин, строк відновлення після невдалого випуску — з кількох годин до 40–45 хвилин, частка успішних сесій зросла з 91% до 99,2%.

Повторні звернення щодо одного й того самого дефекту впали втричі, а оновлення перестали бути подією з непередбачуваним ризиком.

Чим чергування за зверненнями відрізняється від виділеної команди

Чергування та виділена команда закривають різні класи завдань, і плутати їх дорого. Чергування — змінний режим із регламентом: звернення приймають, класифікують за впливом, ескалюють, закривають.

Виділена команда — ті самі інженери, закріплені за вашим продуктом постійно, з накопиченим контекстом.

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

Виділена команда відповідає не швидше — вона відповідає точніше, бо не витрачає початок розбору на відновлення картини.

Глибина розбору — головна розбіжність. Черговий зупиняє наслідки: відкочує реліз, править конфігурацію, піднімає сервіс.

Виділена команда доводить до першопричини — відтворює сценарій, знаходить умову відмови, виправляє логіку та ставить перевірку, щоб цей клас збоїв більше не проходив.

Занурення в продукт визначає, чи доходять завдання до плану, чи осідають у черзі. Черговий щоразу починає з логів і схеми даних, а системні скарги на кшталт зниклого сповіщення на частині пристроїв у зміну не вміщаються й залишаються чекати. Виділена команда знає карту сервісів та історію рішень, тому такі звернення стають правками.

Робоча схема — гібрид: чергування за критичними збоями, щоб час реакції був гарантований, плюс виділені інженери на розбір накопиченого. Так черга завдань не зростає швидше, ніж ви її закриваєте.

Часті запитання: доступи, середовища, час реакції

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

Нижче — технічні сумніви, які найчастіше знімаємо до підписання. Якщо ваш випадок не збігся з жодним — опишіть його, розберемо окремо.

Які доступи до середовищ потрібні та чи реально видати їх поетапно?

Потрібні репозиторій з вихідним кодом, конфігурація збірки, ключі підпису застосунку та облікові записи в магазинах застосунків. Видаємо їх частинами: спочатку тестовий контур і збірка, доступ до публікації — лише під конкретний реліз і з журналом дій. Так команда може оцінювати й правити код, не отримуючи прав на випуск у продакшен.

Попередній підрядник залишається на проєкті — чи не буде конфліктів?

Розмежовуємо зони відповідальності письмово: за ким модуль, хто володіє гілками і хто випускає версії. Спільні гілки закриваємо правилами перевірки, щоб зміни не перетирали одна одну. Якщо попередня команда йде, забираємо передачу знань — вона йде за планом, а не в останній тиждень.

Як виміряти строк реакції, а не «ми відповідаємо швидко»?

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

Що відбувається за критичного дефекту в продакшені?

Спочатку зупиняємо вплив: відкат на попередню версію або вимкнення проблемної ділянки налаштуванням. Паралельно шукаємо причину та готуємо виправлення, після — розбір із висновком, якої перевірки не вистачило.

Правила оновлень задаємо заздалегідь: планові публікації в узгоджені вікна, позапланові — лише під критичні випадки.

Обговоримо завдання: що надіслати для оцінки та плану

Щоб обговорити завдання предметно й повернутися з оцінкою та планом, а не із загальними міркуваннями, нам потрібен зріз поточного стану продукту. Зберіть те, що є під рукою — працюємо і за неповними даними, прогалини закриємо запитаннями.

  • Продукт і платформи — що за застосунок, під які платформи та мінімальні версії ОС він збирається, чи є офлайн-режим і вхід через зовнішні сервіси.
  • Поточна схема випуску — як збирається й підписується збірка, якими каналами розходиться, скільки займає шлях від зміни коду до публікації.
  • Повторювані збої — статистика падінь, список збоїв, які повертаються з релізу в реліз, кроки їх відтворення та умови прояву.
  • Склад команди — хто відповідає за мобільну частину зараз, які ролі закриті, які зони хочете передати й хто узгоджує випуск.
  • Контур розробки та доступи — репозиторії, складальний контур, сховище збірок, системи відстеження помилок і аналітики, порядок видачі доступів.
  • Очікуваний режим роботи — чи потрібна цілодобова реакція на інциденти, вікна випусків, підтримка старих версій застосунку.
  • Обмеження — вимоги безпеки, регламенти узгоджень, заборона на зовнішні сервіси.

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

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

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

  • Розробка мобільного додатка для компанії FEEDME
    Розробка мобільного додатка для компанії FEEDME
    1010
  • Розробка мобільного додатку для компанії XOOMER
    Розробка мобільного додатку для компанії XOOMER
    903
  • Розробка мобільного додатку для компанії RHL
    Розробка мобільного додатку для компанії RHL
    1332
  • Розробка мобільного додатку для компанії ZIPPY
    Розробка мобільного додатку для компанії ZIPPY
    1180
  • Розробка мобільного додатку для компанії Affhome
    Розробка мобільного додатку для компанії Affhome
    1107
  • Розробка мобільного додатку для компанії FLAVORS
    Розробка мобільного додатку для компанії FLAVORS
    714