By default, Instabug is invoked when the device is shaken. This can be customized to several other out-of-the-box modes to show the SDK. You can also show the SDK manually from a custom gesture or a button you add to your app.
You can set the SDK to be shown using one of the following modes:
- Shake device
- Take a screenshot
- Tap on a floating button shown above your app's UI
- Pan to the left from the right edge of the screen (one-finger swipe left) - iOS only
- Swipe with two fingers from right to left
- None (manual showing)
How to show Instabug
To customize the invocation event, pass one of the values of the
Instabug.invocationEvent enum when starting the SDK.
//iOS IBGBugReporting.InvocationEvents = IBGInvocationEvent.FloatingButton | IBGInvocationEvent.Screenshot; //Android new Instabug.Builder(this, "ANDROID_APP_TOKEN") .SetInvocationEvent(InstabugInvocationEvent.FloatingButton, InstabugInvocationEvent.Shake) .Build();
You can find the possible invocation events below. The None event can be used in case you want to prevent the SDK from being shown by the normal way and show it later on manually whenever you need or under certain conditions.
//iOS IBGInvocationEvent.None IBGInvocationEvent.Shake IBGInvocationEvent.Screenshot IBGInvocationEvent.TwoFingersSwipeLeft IBGInvocationEvent.RightEdgePan IBGInvocationEvent.FloatingButton //Android InstabugInvocationEvent.Shake InstabugInvocationEvent.Screenshot InstabugInvocationEvent.FloatingButton InstabugInvocationEvent.ScreenshotGesture InstabugInvocationEvent.TwoFingerSwipeLeft InstabugInvocationEvent.None
In case you are using the floating button, you can set its default position as explained here.
If you want to change the invocation event to any of the other supported events, you can do so at runtime as shown below.
//iOS Only IBGBugReporting.InvocationEvents = IBGInvocationEvent.FloatingButton;
Normally when the SDK is shown the users are shown a window from which they can select what exactly they want to do.
Alternatively, you could show the SDK with a specific feature and option.
// Compose a new bug report IBGBugReporting.ShowWithReportType(IBGBugReportingReportType.Bug, IBGBugReportingOption.EmailFieldHidden); // Compose a new feedback IBGBugReporting.ShowWithReportType(IBGBugReportingReportType.Feedback, IBGBugReportingOption.EmailFieldHidden); // Compose a new chat IBGChats.Show(); // Show the previous chats list IBGReplies.Show();
Below are also all the possible options.
//Hide email IBGBugReportingOption.EmailFieldHidden //Show email as optional IBGBugReportingOption.EmailFieldOptional //Make comment required IBGBugReportingOption.CommentFieldRequired
If you are using the shaking gesture as your invocation event you can set how sensitive your device is to the shaking. The values in the following iOS example are the default ones. In the case of Android, the default value depends on the device used. The higher the value the less sensitive the device will be to shaking.
//iOS IBGBugReporting.ShakingThresholdForiPhone = 3.0; IBGBugReporting.ShakingThresholdForiPad = 1.0; //Android BugReporting.SetShakingThreshold(800);