Event Handlers
Covered here are event handlers that you can use to have a block of code executed when a certain action is triggered.
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
Updated almost 6 years ago
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.
