HomeDocumentationAPI Reference
Getting StartedAPI ReferenceBug ReportingCrash ReportingAPMHelp Center

Bug Reporting Event Handlers for Xamarin

Covered here are event handlers that you can use to have a block of code executed when a certain action is triggered for your Xamarin apps.

Before Invoking Instabug

This block is executed on the UI thread. Could be used for performing any UI changes before the SDK's UI is shown.

//iOS
IBGBugReporting.WillInvokeHandler = () => 
{
  Console.WriteLine("SDK will be invoked!");
};

//Android
Instabug.SetOnSdkInvokedCallback(new IOnSdkInvokedCallbackClass());

private class IOnSdkInvokedCallbackClass : Java.Lang.Object, IOnSdkInvokedCallback
{
  public void OnSdkInvoked()
  {
    Android.Util.Log.Warn("OnSdkInvoked", "Instabug SDK invoked");
  }
}

Before Sending a Report

This block is executed in the background before sending each report. You can use it to attach logs and extra data to reports.

//iOS
Instabug.WillSendReportHandler = (IBGReport report) =>
{
  report.LogVerbose("Verbos log");
  report.SetUserAttribute("User Attirbute Value", "Key");
  return report;
};

//Android
Instabug.OnReportSubmitHandler(new BeforeSendingReportCallback());

public class BeforeSendingReportCallback : Java.Lang.Object, Report.IOnReportCreatedListener
{
  public void OnReportCreated(Report report)
  {
    report.AddTag("Tag");
    report.LogVerbose("Verbose Log");
    report.AppendToConsoleLogs("Console Log");
    report.SetUserAttribute("User Attribute Value", "Key");
  }
}

After Dismissing Instabug

This block is executed on the UI thread. Could be used for performing any UI changes after the SDK's UI has been dismissed.

//iOS
IBGBugReporting.DidDismissHandler = (IBGDismissType dismissType, IBGReportType reportType) =>
{
	Console.WriteLine("Dismiss Type: " + dismissType + ". Report Type: " + 		reportType);
};

//Android
//Not supported yet

What’s Next

Check out our attachments section for details on how to attach your own file. You can even attach a file in one of the handlers above! You can also set custom data, such as a user attribute, or log any data at any time, including inside event handlers.