Session replay (SDK)
Pour les défauts de confidentialité, l’échantillonnage et le fonctionnement du replay de bout en bout, lisez le guide du session replay. Cette page décrit la surface du SDK.
Activer l’enregistrement
Section intitulée « Activer l’enregistrement »L’enregistrement est remote-first : activer le session replay dans les réglages du projet dans le panel suffit. /decide renvoie {"sessionRecording": {"enabled": bool, "sampleRate": float}}, et quand enabled est true le SDK charge le code de replay de façon lazy et démarre l’enregistrement (sous réserve de l’échantillonnage) — sans changement de code ni déploiement. Le désactiver dans les réglages du projet arrête les nouveaux enregistrements en quelques secondes, de la même manière.
L’option d’init sessionRecording ajuste ce comportement localement :
kilden.init('YOUR_WRITE_KEY', { sessionRecording: true, // ou un objet SessionRecordingOptions});| Valeur | Comportement |
|---|---|
| non défini (défaut) | La config distante décide : le chunk de replay se charge et enregistre automatiquement quand l’enregistrement est activé pour le projet. Un startSessionRecording() manuel le charge aussi |
true ou objet d’options |
Charge le chunk de replay immédiatement (sans attendre /decide) et enregistre sous réserve de l’échantillonnage et de l’interrupteur distant du projet |
false |
Opt-out dur. N’enregistre jamais, le code de replay n’est même pas téléchargé, et la config distante ne peut pas l’activer — un false local gagne toujours |
Voir SessionRecordingOptions pour sampleRate, minimumDurationMs, le masquage et les options canvas.
Méthodes
Section intitulée « Méthodes »kilden.startSessionRecording(); // démarrage forcé (charge aussi le chunk si nécessaire)kilden.stopSessionRecording();kilden.getReplayId(); // string pendant l'enregistrement, null sinonTant que le package de replay n’est pas chargé, ces trois méthodes sont des no-ops sûrs (getReplayId renvoie null) qui journalisent un avertissement avec debug: true.
L’échantillonnage est sticky
Section intitulée « L’échantillonnage est sticky »L’enregistrement ou non d’une session est décidé une fois par session et persisté : les rechargements au sein de la session conservent la même décision, et les dés sont relancés quand la session est régénérée (30 minutes d’inactivité). Un enregistrement ne s’étend jamais sur deux sessions — la rotation le coupe.
Corrélation avec l’analytics
Section intitulée « Corrélation avec l’analytics »Les enregistrements partagent l’identifiant de session avec les événements : le replay d’une session est toujours joignable 1:1 avec sa timeline d’événements. Quand un enregistrement démarre, le SDK émet un événement $session_recording_started pour que vous puissiez requêter ou filtrer les sessions qui ont un replay.