You receive a bug report from a user: 'The app crashes.' No version, no logs, no steps to reproduce. The team spends hours trying to reproduce it. Shake SDK solves this problem by automatically collecting a screenshot with annotations, console logs, and network requests.
Integration takes one day, and debugging time savings reach up to 40%. We help with Shake integration into your iOS/Android app, set up custom metadata, and connect an issue tracker. Contact us to get a project estimate within 1 day.
How does Shake improve the debugging process?
Shake is an alternative to Instabug with a focus on ease of integration and lower SDK overhead (~300 KB).
The main difference: Shake emphasizes visual annotations on screenshots (arrows, frames, text directly on the screen), which speeds up communication between the tester and the developer without lengthy text descriptions.
Additionally, the SDK intercepts network requests (via an OkHttp interceptor on Android) and console logs — you get the full picture of the error. Shake SDK documentation confirms that metadata collection occurs without leaking confidential data.
Integration
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 intercepts network requests through a built-in OkHttp interceptor — it connects automatically if OkHttp is used in the project (via Retrofit or directly). For non-standard HTTP clients — manual logging via Shake.networkRequestBuilder().
What Shake gives you out of the box
- Gesture-based invocation: shake, long press, custom floating button
- Screenshot annotation: arrows, frames, blur (to hide sensitive data right in the UI)
- Automatic metadata: device, OS, app version, locale, network type
- Activity history (last N screens)
- Console log for the last X minutes before the report
- Support for Universal Links / App Links for deep linking
The Shake dashboard is simpler than Instabug — fewer settings, faster team onboarding. Integrations with Jira, Linear, Slack, Notion — up to 10 tools.
Why choose Shake over alternatives?
| Criterion | Shake | Instabug |
|---|---|---|
| SDK size | ~300 KB | ~2 MB |
| Free tier | Up to 5 developers | Up to 1 developer |
| Screenshot annotations | +++ | ++ |
| Session replay | No | Yes |
| Network inspector | Basic (OkHttp interceptor) | Detailed (with request body) |
| Integrations | 10+ tools | 20+ tools |
If the team is small and you need basic bug reporting without unnecessary dependencies, Shake is a reasonable choice. At the same time, we guarantee stable SDK operation after integration. Our engineers hold certifications and have over 5 years of experience integrating similar SDKs.
Custom metadata
It's useful to add the current user's context:
Shake.setMetadata(key: "userId", value: currentUser.id)
Shake.setMetadata(key: "plan", value: currentUser.subscriptionPlan)
Shake.setMetadata(key: "environment", value: AppConfig.environment)
Then every report will immediately show which user the bug was reproduced under — no need to ask the tester separately. We configure this metadata to match your business logic.
What is included in the work
- Analysis of the current application architecture and selection of the integration approach
- SDK integration for iOS (Swift) and/or Android (Kotlin)
- Configuration of custom metadata and invocation gestures
- Integration with an issue tracker (Jira, Linear, Asana) — your choice
- Testing on real devices and in TestFlight/Google Play
- Operations documentation and team training
- Post-deployment support for 2 weeks
Checklist of common integration mistakes
- Forgot to add the API key to Production? Shake will automatically turn off if the key is invalid, but it is better to check. - Did not enable network request collection — without this, it is harder to debug API errors. - Did not configure automatic blurring of sensitive data — users may submit a report with passwords. - Used standard invocation gestures without checking for overlap with other events (for example, a shake gesture during a game).Work Process
| Stage | Duration |
|---|---|
| Requirements analysis | 0.5 day |
| SDK integration | 0.5 day |
| Metadata and tracker setup | 0.5–1 day |
| Testing | 0.5 day |
| Deployment and monitoring | 0.5 day |
Timeline and cost
Basic integration — 1 day. If custom metadata and tracker integration are needed — 2-3 days. The cost is calculated individually depending on complexity and the number of platforms. We will estimate your project within 1 day. Contact us to discuss the details.
Our team has 5+ years of experience integrating SDKs for bug reporting and has worked with both Shake and Instabug, Firebase Crashlytics. More than 50 successful projects. We guarantee quality and adherence to deadlines. Get a consultation right now.







