Download PDF
Download page Session Replay (Beta).
Session Replay (Beta)
Session Replay enables you to track the user activity on mobile applications by recording interactions such as clicks, scrolls, and navigation. You can watch the session replay to:
- Optimise the user experience.
- Debug the errors for application crashes.
- Diagnose the reasons for application slowness.
Disclaimer
This documentation mentions a product that is currently only available as an early preview ("Beta"). Splunk AppDynamics reserves the right to change the Beta and its documentation including the content herein, at any time, for any reason, and without notice or compensation to you before making it generally available as well as never making it generally available. This documentation is not a guarantee of future product features and should not be relied upon in making any purchasing decisions. Actual product results may vary from forward-looking statements due to factors including but not limited to: changes in Splunk AppDynamics and third-party technologies, factors related to the economy and target markets, acquisitions of other companies, the hiring and termination of personnel, and other factors. Please refer to the full terms at https://www.splunk.com/en_us/legal/appdynamics-limited-license-agreement.html for details.
Points to Consider
In the Beta stage, each account can record up to 20,000 Session Replays per month. After the Beta ends, contact your Account Manager to buy the full feature.
Storage is set to 8 days by default, and it cannot be extended during the Beta stage. After the Beta ends, you can purchase the extended storage SKU to add more storage.
Currently, Session Replay is available only in London (LON), Sydney (SYD), Mumbai (BOM), and Frankfrut (FRA) regions.
Prerequisites
Ensure that the following conditions are met to use Session Replay:
- Controller >= 25.1
- iOS Agent >= 25.2
- Android Agent >= 25.2
Configure the iOS Agent to Report Session Replay
To report Session Replay for your mobile application, you must configure the iOS Agent as follows:
#import <ADEumInstrumentation/ADEumInstrumentation.h>
#import "AppDelegate.h"
// ...
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
ADEumAgentConfiguration *config = [[ADEumAgentConfiguration alloc] initWithAppKey:<#EUM_APP_KEY#>];
//The default SaaS EUM Server and Screenshot Service are in the Americas,
// so you can omit the following settings if you are in the Americas.
config.collectorURL = @"https://<your_region>-col.eum-appdynamics.com";
config.screenshotURL = @"https://<your_region>-image.eum-appdynamics.com";
config.sessionReplayURL = @"https://<your_region>-blob-service.eum-appdynamics.com";
[ADEumInstrumentation initWithConfiguration: config];
// other tasks
return YES;
}
#import <ADEumInstrumentation/ADEumInstrumentation.h>
#import "AppDelegate.h"
// ...
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
let config = ADEumAgentConfiguration(appKey: <#EUM_APP_KEY#>)
config.collectorURL = "https://<your_region>.eum-appdynamics.com"
config.screenshotURL = "https://<your_region>-image.eum-appdynamics.com"
config.sessionReplayURL = "https://<your_region>-blob-service.eum-appdynamics.com"
ADEumInstrumentation.initWith(config)
// other tasks
return true
}
// ...
Configure the Android Agent to Report Session Replay
To report Session Replay for your mobile application, you must configure the Android Agent as follows:
- Initialise the agent by the following methods:
.withSessionReplayEnabled(true)
.withBlobServiceURL(configHelper.getSessionReplayUrl())
import com.appdynamics.eumagent.runtime.Instrumentation; ... @Override public void onCreate(Bundle savedInstanceState) { Instrumentation.start(AgentConfiguration.builder() .withAppKey("<EUM_APP_KEY>") .withContext(getApplicationContext()) // The default SaaS EUM Server and Screenshot Service are in the Americas, // so you can omit the following settings if you are in the Americas. .withSessionReplayEnabled(true) .withBlobServiceURL(configHelper.getSessionReplayUrl()) .build()); ... }
CODE - In your app module-level
build.gradle
file, add session replay SDK.... ... repositories { maven { url = "https://sdk.smartlook.com/android/release" } } ... ... dependencies { implementation 'com.cisco.android:sr-instrumentation-session-recording-core:1.0.12' }
CODE
Enable Session Replay
An administrator can only enable Session Replay. To enable Session Replay for the selected mobile application, perform the following options:
- Log in to the Controller UI.
- Open the mobile application in which you are interested.
- On the left navigation menu, select Configuration.
- Click Mobile App Group Configuration.
- Under the Session Replay tab, select Enable Session Replay.
Xcode's Main Thread Checker
When starting an iOS app in the debug mode, it may stop for few seconds. After enabling the session replay, it will start and display a warning. This issue is caused by Xcode's Main Thread Checker diagnostics.
Main Thread Checker: UI API called on a background thread: -[UIView drawViewHierarchyInRect:afterScreenUpdates:]
The warning is harmless, and is caused by iOS Agent’s capturing screen on the background. The alternative (capturing the screenshot on the main thread) may cause glitches of the app UI – so implementing it this way and having this warning is a necessary trade-off to enable seamless recording functionality.
This warning also might be accompanied by a short freeze of the app during debugging. This freeze does not happen in production builds, and is caused by the Main Thread Checker
Xcode diagnostic option.
This option can be switched off in the respective run scheme diagnostic options, see "Detect Improper UI Updates on Background Threads" section of the "Diagnosing Memory, Thread, and Crash Issues Early."
View Session Replay
The Session Replay combines multiple recordings with user interactions. Perform the following steps to view the Session Replay:
- Go to User Experience > Mobile Apps.
- Select the application for which you have enabled the Session Replay.
- Select Sessions.
A play icon is displayed in Session Replay if the recording is available. - Expand the Session Replay tab.
Session Replay highlights active segments of the sessions. A blank screen appears if there are no recordings or user activity.
You can perform the following actions while viewing the session replay:
- Adjust the playback speed.
- Switch between Video and Wireframe modes. In Wireframe mode, the session replay displays only the UI layout and masks the text.