For the complete documentation index, see llms.txt. This page is also available as Markdown.

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