Интеграция 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 — ещё полдня.







