Setup Session Replay

Session Replay records user sessions for replay in the Luciq dashboard. You can enable/disable it, control what is captured (network logs, Luciq logs, user steps), set capturing mode and screenshot quality, and control when replays are uploaded.

Enable/disable

Kotlin
SessionReplayKmp.setEnabled(true)

What is captured

Kotlin
SessionReplayKmp.setNetworkLogsEnabled(true)
SessionReplayKmp.setLuciqLogsEnabled(true)
SessionReplayKmp.setUserStepsEnabled(true)

Get the link to the current session replay (e.g. to share with support):

Kotlin
scope.launch {
    SessionReplayKmp.getSessionReplayLink().collect { url ->
        url?.let { println(it) }
    }
}

When to upload (sync predicate)

Upload only sessions that meet your criteria. The predicate receives SessionMetadata with fields such as: appVersion, os, device, sessionDurationInSeconds, networkLogs, launchType, launchDuration, bugsCount, fatalCrashCount, oomCrashCount, hasLinkToAppReview. Use them to decide whether to upload (e.g. only when there was a crash or bugs):

Capturing mode

Mode
Description

CapturingMode.Navigation

Screenshots when navigating between screens (default, lowest overhead)

CapturingMode.Interactions

Screenshots on navigation and user interactions

CapturingMode.Frequency

Screenshots at a fixed interval (video-like) plus navigation

Call before SDK init when possible.

Screenshot quality

Quality
Description

ScreenshotQuality.High

50% WebP, best quality

ScreenshotQuality.Normal

25% WebP, default

ScreenshotQuality.Greyscale

Grayscale + 25% WebP, most efficient

Capture interval (frequency mode)

When using CapturingMode.Frequency, set the interval in milliseconds (min 500, default 1000):

Last updated