Skip to main content
Version: 1.1.x

UI Captures - Get Started

UI captures provide the visual snapshots in Session Replay. Include the recorder or recorder-compose dependency, initialise Coryn, and start recording as described in Get Started. Visual recording follows project feature flags and recorder visibility and resource limits.

For normal Android Views and Compose UI, no manual screenshot call is needed. Dialogs and popups are included automatically. Unchanged UI can be skipped; capture timing adapts to the configured recording policy and app overhead.

Configure the content you record​

  • Privacy Masking — hide sensitive XML Views and Composables, and configure overscroll padding.
  • Toasts — use Coryn.acceptToast to track visibility and draw a safe text representation of standard or configured Toasts.
  • SurfaceView Capture — declare composition order where Android does not expose it.

Apply hiding before sensitive content can appear. For temporary moves in custom drawing code or changes to Popup/Overlay elevation or surface insets, see manual position changes. Ordinary scrolling and layout movement need no notification.

Availability and rendering​

When Android cannot provide a frame, the snapshot shows a black “Frame unavailable” placeholder. On API 23–28, unsupported hardware bitmaps use the same placeholder.

Snapshots can be skipped when sensitive content cannot be masked safely. UI capture diagnostics include an integer failure code to help investigate repeated failures.

Capture pauses when the device is non-interactive, including Always-On Display, and when recorder visibility rules put it to sleep. App-owned dialogs do not make a background app an independent visible overlay. See Recording Lifecycle.

If a project feature-flag update disables UI captures after they have started, they cannot restart during that app process. Re-enabling them ends the current recording; restart the app to record with the new setting. Captures that were disabled from the start can still be enabled before their first run. Ordinary visibility pauses do not count as stopping captures.

UI captures and States​

UI snapshots and timeline States are separate streams. Screen Text reads eligible View/Compose text without OCR and can operate even when screenshots are disabled. Automatic States add context such as touches, network state and resource usage. View/Compose hiding does not redact values supplied separately through client States, Events or API request reports.