Ensora
Ensora
DocumentationInstallationBasic Usage
Custom EventsNavigation TrackingPrivacy & MaskingHeatmapsSession Replay

Advanced

Error TrackingPrivacy & Utilities

API Reference

API Reference
Customization

Session Replay

Record and replay full user sessions

Session Replay

Ensora records full user sessions and lets you replay them in the dashboard to understand exactly how users interact with your app.

How It Works

Once EnsoraProvider is in your root layout, sessions are recorded automatically. Each session captures:

  • Screen navigation (pathname changes via Expo Router)
  • Touch events (taps, swipes — requires touchCapture: true)
  • Unhandled errors with stack traces
  • Custom events sent via track()

Enabling Sessions

import { EnsoraProvider } from '@ensora/react-native';

export default function RootLayout() {
  return (
    <EnsoraProvider
      apiKey="your_api_key"
      projectId="your_project_id"
      touchCapture={true}
    >
      <Stack />
    </EnsoraProvider>
  );
}

Session Sampling

Record a fraction of sessions to control data volume:

<EnsoraProvider
  apiKey="your_api_key"
  projectId="your_project_id"
  sessionSampleRate={0.25}  // Record 25% of sessions
>
  <Stack />
</EnsoraProvider>

Sampling Recommendations

  • 1.0 (100%) — All sessions, maximum visibility
  • 0.5 (50%) — Good balance for high-traffic apps
  • 0.1–0.25 — High-volume production apps

Viewing Sessions

From the dashboard Sessions tab:

  • Filter by date range, duration, or error count
  • Search by user ID or session ID
  • Click any session to open the replay viewer
  • Jump to specific events using the event timeline

Session Data

Each session record includes:

{
  "session_id": "uuid",
  "started_at": "2026-01-01T00:00:00Z",
  "ended_at": "2026-01-01T00:05:23Z",
  "duration_ms": 323000,
  "event_count": 47,
  "error_count": 0,
  "platform": "ios",
  "app_version": "2.1.0"
}

Error Handling

The SDK queues events locally and retries on the next foreground cycle if the network is unavailable.

Privacy

Sessions never capture keyboard input, passwords, or fields marked as sensitive in your masking rules. Configure masking under Settings → Privacy in the dashboard.

Next Steps

  • Heatmaps — Visualize touch patterns across sessions
  • Error Tracking — Filter sessions by errors
  • API Reference — Complete session API

Last updated on

Heatmaps

Visualize touch patterns across your app screens

Error Tracking

Capture and investigate unhandled errors with session context

On this page

Session Replay
How It Works
Enabling Sessions
Session Sampling
Sampling Recommendations
Viewing Sessions
Session Data
Error Handling
Privacy
Next Steps