Overview

Kiosk applications, such as fast food order machines and airline check-in terminals, often serve multiple users in quick succession. For that reason, triggering the end of a session based on a user action instead of waiting for an automatic session expiration (such as 15 minutes of inactivity or 4 hours total duration) is vital for collecting accurate session data and metrics for each user. With Datadog RUM SDKs, you can use this capability for an improved session tracking experience.

Use stopSession() when users end their interaction

Use the SDK stopSession() method to stop the session when the user finishes their interaction with the application, like when returning to the home screen or logging out. A new session is created as soon as a user interacts with the application again or when a new View is started (mobile only).

If a user is identified within the session, you may want to clear user information after calling stopSession() to start afresh. See documentation based on your application’s framework: Browser, iOS, Android, Flutter, React Native.

Browser

This feature requires RUM Browser SDK version >= v4.37.0. See installation instructions here.

The stopSession() method differs depending on your installation method.

datadogRum.stopSession()
DD_RUM.onReady(function() {
    DD_RUM.stopSession()
})
window.DD_RUM &&
  window.DD_RUM.stopSession()

If the application is open in multiple browser tabs, stopping the RUM session ends the session in all tabs.

If the application is using the Logs SDK, stopping the RUM session ends the Logs session as well.

Mobile

The stopSession() method differs depending on your mobile SDK framework.

This feature requires RUM iOS SDK version >= 1.18.0. See installation instructions here.

RUMMonitor.shared().stopSession()

This feature requires RUM Android SDK version >= 1.19.0. See installation instructions here.

GlobalRumMonitor.get().stopSession()

This feature requires RUM Flutter SDK version >= 1.4.0. See installation instructions here.

DatadogSdk.instance.rum?.stopSession();

This feature requires RUM React Native SDK version >= 1.6.0. See installation instructions here.

DdRum.stopSession()

Further Reading

Additional helpful documentation, links, and articles:

PREVIEWING: mcretzman/DOCS-9337-add-cloud-info-byoti