Session replay (SDK)
Para os defaults de privacidade, amostragem e como o replay funciona de ponta a ponta, leia o guia de session replay. Esta página é a superfície do SDK.
Habilitando a gravação
Seção intitulada “Habilitando a gravação”A gravação é remote-first: habilitar o session replay nas configurações do projeto no painel é suficiente. /decide retorna {"sessionRecording": {"enabled": bool, "sampleRate": float}}, e quando enabled é true o SDK carrega o código de replay de forma lazy e começa a gravar (sujeito à amostragem) — sem mudança de código nem deploy. Desligá-lo nas configurações do projeto interrompe novas gravações em segundos, do mesmo jeito.
A opção de init sessionRecording ajusta esse comportamento localmente:
kilden.init('YOUR_WRITE_KEY', { sessionRecording: true, // ou um objeto SessionRecordingOptions});| Valor | Comportamento |
|---|---|
| não definido (default) | A config remota decide: o chunk de replay carrega e grava automaticamente quando o projeto tem a gravação habilitada. Um startSessionRecording() manual também o carrega |
true ou objeto de opções |
Carrega o chunk de replay de forma antecipada (sem esperar o /decide) e grava, sujeito à amostragem e ao kill switch remoto do projeto |
false |
Opt-out duro. Nunca grava, o código de replay nem sequer é baixado, e a config remota não consegue ligá-lo — um false local sempre vence |
Veja SessionRecordingOptions para sampleRate, minimumDurationMs, mascaramento e opções de canvas.
Métodos
Seção intitulada “Métodos”kilden.startSessionRecording(); // força o início (também carrega o chunk se necessário)kilden.stopSessionRecording();kilden.getReplayId(); // string enquanto grava, null caso contrárioEnquanto o pacote de replay não carregou, os três são no-ops seguros (getReplayId retorna null) que registram um aviso com debug: true.
A amostragem é persistente
Seção intitulada “A amostragem é persistente”Se uma sessão será gravada é decidido uma vez por sessão e persistido: reloads dentro da sessão mantêm a mesma decisão, e o sorteio se repete quando a sessão rotaciona (30 minutos de inatividade). Uma gravação nunca abrange duas sessões — a rotação a corta.
Correlação com o analytics
Seção intitulada “Correlação com o analytics”As gravações compartilham o session id com os eventos: o replay de uma sessão é sempre correlacionável 1:1 com sua linha do tempo de eventos. Quando uma gravação começa, o SDK emite um evento $session_recording_started para que você possa consultar ou filtrar as sessões que têm replay.