Replay - Replay Overview

The Replay product is included in foresee-sdk-android-3.4.5.jar and allows the client to capture a user’s interaction with an application. Replay records the application’s view as well as all of the user’s touches and gestures. However, only users who submit a survey that have their sessions transmitted to ForeSee servers once the user leaves the application. A final replay is produced for inspection.

Screen Recording

The Android implementation of Replay captures the visual portion of the user’s session by taking screen captures at set intervals. The size of the screen capture data is reduced via image diffing. The majority of processing takes place off the UI thread, but the screen capture itself occurs on the UI thread, which means there may be a perceivable impact on the user experience. See the section on Performance and Performance Techniques for additional information.

Gesture Recording

Replay passively records the user’s gestures by attaching itself to Views using View.setOnTouchListener(View.OnTouchListener). While this process works well with standard Android widgets, problems may arise when applied to custom views. See the Limitations section for more information.


The ForeSee Replay for Mobile SDK provides methods to enable the client to mark views as requiring masking. All masked views appear as gray boxes in recordings.

By default, any user input fields are masked.

See the section on Masking for additional information.

Integration with Trigger

Replay works together with the Trigger module and cannot be instrumented in the app without the module. All user interactions are recorded, but it is only those who submit a survey that have their sessions transmitted to ForeSee servers. Users who decline to participate have their recorded sessions deleted and are not available to watch.

Other articles in this section:

  1. Replay Overview (current article)
  2. Sessions
  3. Paging
  4. Masking
  5. Performance
  6. Limitations
  7. Custom Touch Capture
  8. Custom Image Capture
  9. Performance Techniques
  10. Remote Disable