Session replay (SDK)
Para los defaults de privacidad, el sampling y cómo funciona el replay de punta a punta, lee la guía de session replay. Esta página es la superficie del SDK.
Activar la grabación
Sección titulada «Activar la grabación»La grabación es remote-first: habilitar el session replay en la
configuración del proyecto en el panel basta. /decide devuelve
{"sessionRecording": {"enabled": bool, "sampleRate": float}}, y cuando
enabled es true el SDK carga el código de replay de forma lazy y empieza a
grabar (sujeto al sampling) — sin cambios de código ni deploy. Apagarlo en la
configuración del proyecto detiene las grabaciones nuevas en segundos, por el
mismo camino.
La opción sessionRecording de init ajusta ese comportamiento localmente:
kilden.init('YOUR_WRITE_KEY', { sessionRecording: true, // o un objeto SessionRecordingOptions});| Valor | Comportamiento |
|---|---|
| sin setear (default) | La config remota decide: el chunk de replay se carga y graba automáticamente cuando el proyecto tiene la grabación habilitada. Un startSessionRecording() manual también lo carga |
true u objeto de opciones |
Carga el chunk de replay de inmediato (sin esperar a /decide) y graba sujeto al sampling y al kill switch remoto del proyecto |
false |
Opt-out duro. Nunca graba, el código de replay ni siquiera se descarga, y la config remota no puede encenderlo — un false local siempre gana |
Ver SessionRecordingOptions
para sampleRate, minimumDurationMs y las opciones de enmascarado y canvas.
Métodos
Sección titulada «Métodos»kilden.startSessionRecording(); // fuerza el arranque (también carga el chunk si hace falta)kilden.stopSessionRecording();kilden.getReplayId(); // string mientras graba, null en caso contrarioMientras el paquete de replay no haya cargado, los tres son no-ops seguros
(getReplayId devuelve null) que loguean un warning con debug: true.
El sampling es pegajoso
Sección titulada «El sampling es pegajoso»Si una sesión se graba o no se decide una vez por sesión y se persiste: las recargas dentro de la sesión mantienen la misma decisión, y los dados se vuelven a tirar cuando la sesión rota (30 minutos de inactividad). Una grabación nunca abarca dos sesiones — la rotación la corta.
Correlación con analytics
Sección titulada «Correlación con analytics»Las grabaciones comparten el session id con los eventos: el replay de una
sesión siempre es unible 1:1 con su línea de tiempo de eventos. Cuando
arranca una grabación, el SDK emite un evento $session_recording_started
para que puedas consultar o filtrar las sesiones que tienen replay.