Интеграция Shake для репортинга багов мобильного приложения
Shake — альтернатива Instabug с акцентом на простоту интеграции и меньший SDK overhead. Основное отличие: Shake делает акцент на визуальных аннотациях скриншота (стрелки, рамки, текст прямо на экране), что ускоряет коммуникацию между тестировщиком и разработчиком без длинных текстовых описаний.
Интеграция
iOS:
import Shake
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
Shake.start(apiKey: "YOUR_API_KEY")
Shake.configuration.isNetworkRequestsEnabled = true
Shake.configuration.isConsoleLogsEnabled = true
return true
}
Android:
class App : Application() {
override fun onCreate() {
super.onCreate()
Shake.start(this, "YOUR_API_KEY")
Shake.getReportConfiguration().isNetworkRequestsEnabled = true
}
}
Shake перехватывает сетевые запросы через встроенный OkHttp interceptor — подключается автоматически, если OkHttp используется в проекте (через Retrofit или напрямую). Для нестандартных HTTP-клиентов — ручное логирование через Shake.networkRequestBuilder().
Что даёт Shake из коробки
- Gesture-based invocation: shake, long press, кастомный floating button
- Аннотирование скриншота: стрелки, рамки, blur (для скрытия чувствительных данных прямо в UI)
- Автоматические метаданные: device, OS, app version, locale, network type
- Activity history (последние N экранов)
- Лог консоли за последние X минут до репорта
Дашборд Shake проще Instabug — меньше настроек, быстрее onboarding команды. Интеграции с Jira, Linear, Slack, Notion есть, но их меньше.
Кастомные метаданные
Полезно добавить контекст текущего пользователя:
Shake.setMetadata(key: "userId", value: currentUser.id)
Shake.setMetadata(key: "plan", value: currentUser.subscriptionPlan)
Shake.setMetadata(key: "environment", value: AppConfig.environment)
Тогда каждый репорт сразу покажет, под каким пользователем воспроизвелся баг — не нужно спрашивать тестировщика отдельно.
Отличие от Instabug
Shake дешевле (есть бесплатный tier для малых команд), быстрее интегрируется, SDK меньше. Instabug богаче по функциям: session replay с записью кликов и скролла, более детальная network inspector, опросы пользователей in-app. Если команда небольшая и нужен базовый bug reporting без лишних зависимостей — Shake разумный выбор.
Сроки
Интеграция и настройка — 1 день, включая кастомные метаданные, invocation events и интеграцию с issue tracker.







