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. You can use it to perform any UI changes before the SDK's UI is shown.
BugReporting.willInvokeHandler = {
someObject.setSomeState()
}
IBGBugReporting.willInvokeHandler = ^{
[someObject setSomeState];
};
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.
Instabug.willSendReportHandler = { report in
report.appendTag("tag1")
report.logVerbose("Verbose log.")
report.append(toConsoleLogs: "Console log statement.")
report.setUserAttribute("value", withKey: "key")
report.addFileAttachment(with: data)
return report
}
Instabug.willSendReportHandler = ^IBGReport * _Nonnull(IBGReport * _Nonnull report) {
[report appendTag:@"tag1"];
[report logVerbose:@"Verbose log."];
[report appendToConsoleLogs:@"Console log statement"];
[report setUserAttribute:@"value" withKey:@"key"];
return report;
};
After Dismissing Instabug
This block is executed on the UI thread. You can use it to perform any UI changes after the SDK's UI has been dismissed.
BugReporting.didDismissHandler = { (dismissType, reportType) in
someObject.setSomeState()
}
IBGBugReporting.didDismissHandler = ^(IBGDismissType dismissType, IBGReportType reportType) {
[someObject setSomeState];
};
The didDismissHandler
block has the following parameters:
IBGDismissType
: How the SDK was dismissed.IBGReportType
: The type of report that was sent. If the SDK was dismissed without selecting a report type, it will be set toIBGReportTypeBug
, so you might need to checkissueState
beforeIBGReportType
.
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, at any time, including inside event handlers. Logging user events in event handlers is also possible.