Skip to main content
When a workflow, an AI agent or a teammate asks a customer to show an issue, the widget shows a card with Take screenshot or Record my screen. On the customer’s tap, the widget closes and a small bar appears over your app. The SDK captures your app when the customer taps Capture or Start. Workflows, AI agents and teammates can also collect logs from your app without asking the customer. How to ask, what the customer sees and what your team gets: Screenshots, recordings and logs.
Needs the Android SDK 19.1.0 or later. Older versions show the card with Upload a file only.

How your app is captured

  • The SDK captures your app’s own windows: the activity and the dialogs, bottom sheets and popups on top of it. It needs no permissions, no screen capture prompt, no foreground service and no Play Console declaration.
  • The bar is a small window of your app. It stays on screen while the customer moves between your activities, and it’s never part of a capture.
  • Recordings need Android 8.0 (API level 26) or newer. On older versions, the card offers screenshots and Upload a file.
  • Recordings run at about 4 frames per second, without sound, up to the maximum length set in the dashboard (3 minutes at most). While none of your app’s screens is shown, the recording pauses.
  • While recording, the bar shows a red dot, the time and Stop. The customer then sees a preview and chooses Send, Retake or Cancel.
  • The SDK does nothing until a request arrives.

Turn screenshots and recordings off

While it’s off, the card only offers Upload a file. It’s on by default and can be changed at any time.

Turn log requests off

Log requests from workflows, AI agents and your team are then answered as not supported, and screenshots and recordings are sent without logs. It’s on by default. The logs the SDK sends follow your other settings, for example disableConsoleLog() and setDisableEnvData(true).

Mask views

Password fields (also while the password is shown) and windows with FLAG_SECURE are blacked out automatically. To black out any other view, for example one that shows account details, mask it:
The view and everything in it is painted black in screenshots and recordings. The SDK keeps a weak reference, so a view that goes away needs no unmaskView. Content that a UI toolkit draws itself, such as Jetpack Compose, isn’t made of views the SDK can find. Compose password fields aren’t recognized either. To black out such content, mask the view that hosts it, for example the ComposeView.
If your app provides its own screenshots with setBitmapCallback, captures use that bitmap as it is, and none of the masking above applies.