Welcome to Instabug's Documentation!
Here you'll find a comprehensive technical guide
to help you start working with the Instabug SDK efficiently.

Get Started

Bug Report Content

This page covers the content found in bug reports as well as some relevant APIs.

With each bug report, comes a plethora of details to aid you with your bug extermination. Throughout this page, we will be discussing all the content that comes in these reports, as well as any APIs that would be relevant to them. More specifically, detailed here is:

Bug Report Fields

The image below shows the first view that your users see when reporting a bug after showing the SDK.

Email Address

Bug reports and feedback by default require users to enter a valid email address. To allow users to send bug reports and feedback without an email, use the following method.

IBGBugReporting.BugReportingOptions = IBGBugReportingOption.EmailFieldOptional;

You can also remove the email field from the UI completely using the following API:

IBGBugReporting.BugReportingOptions = IBGBugReportingOption.EmailFieldHidden;

Comment

By default, users could send bug reports and feedback without entering a comment. To require users to enter a comment before they are able to send a bug report or feedback, use the following method.

IBGBugReporting.BugReportingOptions = IBGBugReportingOption.CommentFieldRequired;

Attachments

The attachments sent with each bug report can be broken down into 2 categories. The default Instabug attachments (attachments that can be visually added by the users) and custom extra attachments (extra files that you can attach by code).

Instabug Attachments

The main attachment sent with any bug report is the screenshot taken when the SDK was shown. The users can annotate this screenshot. There are several attachment types that can be sent with each report. All attachment types can be enabled or disabled.

The attachment options are:

  • Extra screenshot from the app.
  • Images from phone gallery.
  • Screen recording.
Attachment - Dashboard

Attachment - Dashboard

By default, All attachment options are enabled if they are available in your current plan.

You can choose attachment options that will be available to the reporter by adding the following method call.

//iOS

IBGBugReporting.EnabledAttachmentTypes = IBGAttachmentType.Screenshot | IBGAttachmentType.ScreenRecording;

// Attachment types
IBGAttachmentType.ScreenRecording
IBGAttachmentType.Screenshot
IBGAttachmentType.ExtraScreenshot
IBGAttachmentType.GalleryImage

//Android 
//Boolean parameters: initialScreenshot,  extraScreenshot,  galleryImage,  ScreenRecording
new Instabug.Builder(this, "ANDROID_APP_TOKEN")
  	.SetInvocationEvent(InstabugInvocationEvent.Shake)
  	.SetAttachmentTypesEnabled(true, true, true, false)
  	.Build();

Each of the parameters is a boolean used to indicate if a certain type is enabled or not.

Extra Attachments

The SDK allows you to attach custom files to reports. You can attach up to 3 files, each up to 5 MB.

Extra Attachment - Dashboard

Extra Attachment - Dashboard

Use the following method to add a new file attachment:

//iOS
NSUrl url = new NSUrl(“url”);
Instabug.AddFileAttachmentWithURL(url);

//Android
Instabug.AddFileAttachment(Android.Net.Uri.Parse("sample text attachment"), "extra_text_attachment");

A new copy of the file at url will be attached with each bug report being sent. The file is only copied at the time of sending the report, so you could safely call this API whenever the file is available on disk, and the copy attached to your bug reports will always contain that latest changes at the time of sending the report.

Each call to this method adds the file to the files attached until a maximum of 3 then it overrides the first file. The file has to be available locally at the provided path when the report is being sent.

To clear list of files to be attached to reports, use the method below. This method doesn't delete any files from the file system. It will just remove them from the list of files to be attached to each report.

//iOS
Instabug.ClearFileAttachments();

//Android 
Instabug.ClearFileAttachment();

Logs

A whole host of logs are sent with every report. These logs include:

  • Console Logs: default logs that are printed to the console when the application is running
  • Instabug Logs: logs with different verbosity levels that you can add manually
  • User Steps: every step the user has taken in the form of log entries
  • Network Logs: a log of each network request
  • User Events: a manual log of actions that a user has taken

More details regarding logging can be found here. Different log types are enabled depending on your plan.

This is what the logs look like.

This is what the logs look like.

Repro Steps

Repro Steps help you reproduce a bug by displaying your users' actions in each view of your app. With each view, you will find a list of actions that tell you exactly what the user did in that view. More details can be found here.

This is enabled by default depending on your plan.

This is what Visual Repro Steps look like in your dashboard.

This is what Visual Repro Steps look like in your dashboard.

Session Profiler

With each report, you'll receive a detailed environment profile covering the last 60 seconds before the report was sent. This Session Profiler includes device data like memory load and battery state. This is enabled by default depending on your plan. More details about the information contained in the Session Profiler can be found here.

This is where the Session Profiler is located in your bug reports.

This is where the Session Profiler is located in your bug reports.

View Hierarchy

With the View Hierarchy feature, you can visually inspect each layer in your app and see all the properties and constraints of each subview so you can spot errors at a glance.

This feature is critical for investigating UI bugs as it makes the process of finding the problem and fixing it faster and simpler. For example, if you receive a report that a certain UI view is missing, you can use View Hierarchy to easily discover if the missing view is hidden behind a higher layer, out of the parent view's bounds, or missing from the window.

Any editable text or text fields will automatically be replaced with asterisks.

An example of View Hierarchy in action from a bug report in the Instabug dashboard.

An example of View Hierarchy in action from a bug report in the Instabug dashboard.

View Hierarchy is disabled by default. If you need to enable View Hierarchy, you can do so as shown in the following example.

//iOS
Instabug.ShouldCaptureViewHierarchy = false;

//Android
new Instabug.Builder(this, "ANDROID_APP_TOKEN")
	.SetViewHierarchyState(Feature.State.Enabled)
	.Build();

Enabled from SDK version 8.3.0

The View Hierarchy will only be visible for reports coming from an application running a minimum SDK version of 8.3.0.

Tags

You can add tags to the reports you receive to help you filter and triage bugs in your dashboard. More details regarding tags can be found here.


What's Next

Spot patterns, identify trends, and explore data in your bug reports with our useful analytics. Check it out below!

Bugs Analytics

Bug Report Content


This page covers the content found in bug reports as well as some relevant APIs.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.