Цей випадок стався в реальному житті. Команда розробляла фітнес-трекер для клієнта на Гаваях. Клієнт повідомив про баг, який проявлявся лише тоді, коли він бігав гавайською місцевістю, де немає інтернет-звʼязку. Зрозуміти, що не так, було важко. Компанія вже збиралася купувати розробнику квиток на літак до Гаваїв, але наостанок вирішили спробувати SaaS-платформу для дебагінгу — AppSpector.

Команда інтегрувала AppSpector у додаток, після чого клієнт ще раз протестував його в глухій місцевості одного з островів. І щойно додаток опинився онлайн – дані синхронізувались, і розробники побачили все, що в ньому відбувалося. Проблему пофіксили, зекономивши час, чимало грошей і… позбавивши розробника чарівної відпустки на Гаваях.

Розповідаємо про можливості AppSpector та чому це – must have в арсеналі мобільного розробника. 

Що таке AppSpector

AppSpector створили українські програмісти з Techery Ukraine. Це революційний інструмент, який дозволяє команді економити до 38 годин на дебагінгу щомісяця. Це – SaaS-платформа, яка за лічені хвилини інтегрується в додаток і дозволяє всім, від розробника до клієнта, обмінюватися інформацією про роботу додатку онлайн, тобто в режимі реального часу знаходити баги та легко фіксити їх. Раніше подібного інструменту не існувало.

Працює це дуже просто. SDK інтегрується до мобільного додатку на iOS, Android чи Flutter, після чого починає збирати всі необхідні дані: 

  • мережеві запити;
  • логи;
  • зміст баз даних і сховищ;
  • performance-метрики;
  • дає доступ до файлової системи;
  • розташування девайса з можливістю його відстежити;
  • та багато іншого.

З допомогою AppSpector ви можете в будь-який момент подивитися, що відбувається в додатку (або відбувалося раніше), що збереглося в базу даних, змінити її вміст та вміст інших сховищ на пристрої. 

Платформа буде корисною iOS/Android розробникам, mobile engineering менеджерам, lead QA engineer та всім, хто залучений у процес розробки мобільного додатку. 

Переваги AppSpector

Віддалений доступ. Більшість наявних інструментів для дебагінгу дозволяють переглядати дані на симуляторі на ПК або ж на пристрої, підключеному до ноутбука за допомогою кабелю, в кращому випадку – в локальній мережі Wi-Fi. 

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

Взаємодія в реальному часі. Всі логи, запити й все, що відбувається в базах даних та файлових сховищах, поки клієнт десь натискає на кнопки, одразу зʼявляється в розпорядженні розробників.

Ваш клієнт може бути в США і тестувати додаток, поки в Україні ніч і всі сплять. А коли у розробника почнеться робочий день, він зможе зайти в AppSpector і побачити все, що відбувалося з додатком, поки він відпочивав.

Історія. Навіть якщо користувач вже перестав взаємодіяти з додатком, розробник може зайти в сесію, яка відбулась в минулому, і подивитися, що там було.

Уявіть: користувач повідомив про проблему. Член команди заходить в AppSpector, знаходить потрібну сесію, переглядає її в той проміжок часу, коли проблема була зафіксована під час роботи додатка. Бачить, що щось пішло не так на бекенді. Щоб передати помилку бекенд-розробнику, достатньо просто скопіювати URL, відправити розробнику – і він зможе відкрити її, дослідити й виправити.

Доступ до баз даних. Такої функціональності немає в жодних інструментах для дебагінгу, відповідно, щоб подивитися, що знаходиться в базі даних, розробнику потрібно з пристрою або симулятора дістати файл бази даних, скопіювати його собі на комп’ютер, відкрити в браузері й продивитися. Якщо після цього щось відбулося в додатку – БД оновилася, і потрібно повторити весь процес від початку до кінця. Таким чином дебагінг перетворюється на цикл відкрий-завантаж-подивись-повтори. 

В AppSpector все синхронізується в реальному часі, базу даних можна переглядати в єдиному інтерфейсі без танців із бубнами.

Швидка та проста інсталяція. Увесь процес займає 5-8 хвилин на відміну від деяких аналогів, на інсталювання яких розробнику доведеться витратити декілька годин. 

SDK інтегрується в додаток, після чого при запуску додатка AppSpector починає збирати дані. Всі вони відтепер доступні на вашому дашборді в зручному та простому інтерфейсі. Дані можна переглядати та взаємодіяти з ними. Це дозволяє розробнику зрозуміти, що пішло не так, швидко віднайти проблему та пофіксити її.

Зручний UI/UX. В одному інтерфейсі зібрані всі можливі інструменти, які можуть знадобитися команді в процесі розробки мобільного додатку. І ми продовжуємо працювати над його покращенням.

З яких інструментів складається SDK

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

Коротко пройдемося по кожному. 

  • Performance-метрики. Використання процесора, пам’яті, мережі, диска, кількість кадрів за секунду, рівень батареї – AppSpector збирає всі ці дані в реальному часі й показує розробнику, як його додаток споживає ресурси.
  • Мережеві запити. Всі запити, які робить додаток, можна переглянути, поділитися простим копіюванням URL-адреси, по якій можна відкрити конкретний запит і побачити, що послали на сервер, коли це було, що повернув сервер. Є пошук і фільтри по запитах.
  • Текстові логи. За ними також є пошук, їх можна експортувати для подальшої обробки.
  • CoreData для iOS. Тут можна подивитися дані користувача, з якими працює додаток, шукати за цими даними тощо. 
  • SQLite для iOS, Android, Flutter. Можна виконувати довільні SQL-запити, оглянути схему даних, які у таблиці, що це за таблиця, яка у неї структура і таке інше.
  • User Defaults. Дані тут також можна шукати, передавати та змінювати.
  • Монітор для аналітики. Можна перевірити, чи правильно додаток збирає аналітику з Flurry, Google Analytics, Adobe Analytics, Mixpanel. 
  • Команди. Це виконання якогось коду в програмі. AppSpector надає ряд команд «з коробки», але ви можете прив’язати свої власні команди й звідси їх виконувати та переглядати результат. 
  • Кастомні івенти. За допомогою SDK можна створити якийсь тип івентів і відстежувати виконання тут.
  • Середовище. Тут можна переглядати вміст файлової системи додатка. Видаляти файли, створювати папки, завантажувати файли, навіть перейменовувати їх.
  • Монітор локації. Показує поточне розташування пристрою, якщо програма використовує карти або якимось чином запитує місцезнаходження користувача. Тут також можна змінювати локацію, щоб перевірити роботу додатка в різних куточках світу. 
  • Центр сповіщень. Це лог івентів, які надходять до NSNotificationCenter. Тут можна їх переглянути або надіслати нове сповіщення для дебагінгу.
  • Скріншот-монітор. Дозволяє побачити екран мобільного додатку в реальному часі та отримати поточний скріншот.

Чому варто обрати AppSpector?

AppSpector сильно економить час розробників і гроші замовників. А ще – дуже спрощує комунікацію. 

З AppSpector ваша команда розуміє одне одного без слів. Наприклад, QA знаходить баг. Він просто прикріпляє URL на сесію з SDK до цього бага і відправляє розробнику. Той переглядає баг і одразу розуміє, в чому проблема. Нетехнічним учасникам проекту більше не потрібно намагатися пояснити розробнику, що працює не так – всі дані вже в AppSpector. Це заощаджує час, навіть коли команда сидить в одній кімнаті – а тепер уявіть, скількох зайвих розмов і рухів можна уникнути, якщо команда працює віддалено! 

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