---
title: Monitor Kiosk Sessions Using RUM
description: Guide for monitoring kiosk sessions with RUM.
breadcrumbs: >-
  Docs > RUM & Session Replay > Real User Monitoring & Session Replay Guides >
  Monitor Kiosk Sessions Using RUM
---

# Monitor Kiosk Sessions Using RUM

## Overview{% #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-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](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/browser/advanced_configuration/?tab=cdnsync#clear-user-session-property), [iOS](https://docs.datadoghq.com/real_user_monitoring/ios/advanced_configuration/?tab=swift), [Android](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/android/advanced_configuration/?tab=kotlin#track-user-sessions), [Flutter](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/flutter/advanced_configuration/#track-user-sessions), [React Native](https://docs.datadoghq.com/real_user_monitoring/reactnative/#user-information).

### Browser{% #browser %}

This feature requires RUM Browser SDK version >= v4.37.0. See installation instructions [here](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/browser/).

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

{% tab title="NPM" %}

```javascript
datadogRum.stopSession()
```

{% /tab %}

{% tab title="CDN async" %}

```javascript
DD_RUM.onReady(function() {
    DD_RUM.stopSession()
})
```

{% /tab %}

{% tab title="CDN sync" %}

```javascript
window.DD_RUM &&
  window.DD_RUM.stopSession()
```

{% /tab %}

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{% #mobile %}

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

{% tab title="iOS" %}
This feature requires RUM iOS SDK version >= 1.18.0. See installation instructions [here](https://docs.datadoghq.com/real_user_monitoring/ios/).

```swift
RUMMonitor.shared().stopSession()
```

{% /tab %}

{% tab title="Android" %}
This feature requires RUM Android SDK version >= 1.19.0. See installation instructions [here](https://docs.datadoghq.com/real_user_monitoring/android/).

```kotlin
GlobalRumMonitor.get().stopSession()
```

{% /tab %}

{% tab title="Flutter" %}
This feature requires RUM Flutter SDK version >= 1.4.0. See installation instructions [here](https://docs.datadoghq.com/real_user_monitoring/application_monitoring/flutter/setup/).

```dart
DatadogSdk.instance.rum?.stopSession();
```

{% /tab %}

{% tab title="React Native" %}
This feature requires RUM React Native SDK version >= 1.6.0. See installation instructions [here](https://docs.datadoghq.com/real_user_monitoring/reactnative/).

```javascript
DdRum.stopSession()
```

{% /tab %}

## Further Reading{% #further-reading %}

- [RUM Dashboards](https://docs.datadoghq.com/real_user_monitoring/platform/dashboards/)
