Bug Reporting Callbacks

Bug reporting flows and callbacks in KMP (onInvoke, onDismiss, onPromptOptionSelected).

You can react to bug reporting lifecycle events using Kotlin Flows and (for report submission) LuciqKmp.onReportSubmit.

Before the UI is shown

BugReportingKmp.onInvoke emits when the bug reporting UI is about to be shown. Use it to prepare state or analytics:

Kotlin
scope.launch {
    BugReportingKmp.onInvoke.collect {
        // e.g. pause game, track analytics
    }
}

When the UI is dismissed

BugReportingKmp.onDismiss emits when the user closes the bug reporting UI. You get how it was dismissed and the report type:

Kotlin
scope.launch {
    BugReportingKmp.onDismiss.collect { (dismissType, reportType) ->
        when (dismissType) {
            DismissType.Submit -> { /* user submitted */ }
            DismissType.Cancel -> { /* user cancelled */ }
            DismissType.AddAttachment -> { /* user is adding attachment */ }
        }
    }
}

Prompt option selected (iOS)

On iOS, BugReportingKmp.onPromptOptionSelected emits when the user selects an option from the prompt menu (e.g. Report a bug, Feedback, Question):

This is a no-op on Android.

Before report is submitted

To modify or observe reports before they are sent, use LuciqKmp.onReportSubmit. Each emitted Report contains: tags, userAttributes, fileAttachments, consoleLogs, and luciqLogs (logs sent via LuciqKmp.logVerbose / logDebug / etc.):

Last updated