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 about 5 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.