Інтеграція Instabug для відслідковування багів у мобільному додатку
Тестувальник знайшов баг, зробив скриншот у Telegram, написав текстом що робив — розробник не може воспроізвести, тому що немає логів, інформації про пристрій, немає мережевих запитів у момент бага. Instabug вирішує цю ланцюжку: shake-to-report або вбудована кнопка, автоматично прикріплені логи, скриншот з аннотаціями, дані пристрою й сесії.
Що Instabug збирає автоматично
При відправці звіту до нього прикріпляються: системні логи (console output), кроки воспроізведення (session replay — останні N дій користувача), мережеві запити з заголовками й тілами ответів, device info (модель, OS, версія додатку), пам'ять й CPU в момент звіту. Тестувальнику залишається тільки описати що не так.
Інтеграція
iOS (Swift):
// AppDelegate.swift
import Instabug
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
Instabug.start(withToken: "YOUR_APP_TOKEN", invocationEvents: [.shake, .screenshot])
Instabug.welcomeMessageMode = .disabled // убираємо онбординг для тестувальників
NetworkLogger.enabled = true
return true
}
Android (Kotlin):
// Application class
override fun onCreate() {
super.onCreate()
Instabug.Builder(this, "YOUR_APP_TOKEN")
.setInvocationEvents(InstabugInvocationEvent.SHAKE, InstabugInvocationEvent.SCREENSHOT_GESTURE)
.build()
NetworkLogger.setEnabled(true)
}
Для перехвату мережевих запитів на Android — OkHttp interceptor:
val client = OkHttpClient.Builder()
.addInterceptor(InstabugOkhttpInterceptor())
.build()
Інтеграція з робочим процесом
Instabug інтегрується з Jira, GitHub Issues, Linear, Slack. Звіт створює тикет автоматично з прикріпленими логами. Важливо настроїти звіт-темплейт під вашу процес: пріоритет, компонент, кроки воспроізведення як обов'язкове поле.
Для розмежування Debug/Release: у release-збірці Instabug зазвичай ініціалізується тільки для beta-тестувальників (через TestFlight/Firebase App Distribution групи) — не для всіх продакшн-користувачів, щоб не перевантажити дашборд й не збирати зайві дані.
Обфускація чутливих даних. Instabug логує мережеві запити повністю. Якщо API передає паролі або токени у тілі — потрібна настройка blacklist:
NetworkLogger.addIgnoredURL(URL(string: "https://api.example.com/auth")!)
Або маскувати конкретні поля через кастомний response sanitizer.
Орієнтири по строкам
Базова інтеграція — 1 день. Настройка інтеграції з Jira/Linear, кастомні invocation events, обфускація чутливих полів, настройка різних режимів для Debug/Beta/Release — ще половину дня.







