Pular para o conteúdo principal

Repetição

A repetição de sessão grava o que o ecrã do utilizador realmente fez: mudanças no DOM e interações, capturadas pelo SDK em blocos e revistas no console. A gravação é opt-in por cliente, as entradas são mascaradas por omissão.

At a glance

Enable
createWebClient({ sessionReplay: true, replayHost })
Intake
POST /v1/replay, chunked, project key
Read
replaySessions, replayChunks over GraphQL
Masking
Inputs masked by default, client-side
Auth
Project key to record, access token to watch
  • Captura em blocos: o gravador recebe blocos numerados, pelo que um separador fechado a meio da sessão ainda deixa tudo o que foi enviado.
  • O mascaramento é no cliente: o conteúdo mascarado nunca sai do navegador, em vez de ser escondido na exibição.
  • Os links de reprodução são de vida curta por desenho; um link expirado reemite-se ao recarregar em vez de falhar em silêncio.

Como funciona

The web SDK records DOM mutations and interactions, serialises them into numbered chunks and posts each chunk to the recorder with the project key, flushing on an interval and on page hide. The replay processor stores the chunks with their session metadata: whose session, how many events, whether masking was on. The console lists sessions and plays one back by fetching its chunks through short-lived links, in order, so a recording streams rather than downloading whole.

Onde aceder

SurfaceOperation
RESTPOST /v1/replay (recorder intake, project key)
GraphQLreplaySessions, replayChunks queries
RealtimeNone: session lists read on demand
MCPNone

Exemplo

TypeScript
import { createWebClient } from '@prodantix/sdk/web';

const prodantix = createWebClient({
  apiKey: process.env.PRODANTIX_KEY,
  replayHost: 'eu.replay.prodantix.com',
  sessionReplay: true,
  // Inputs are masked by default; widen or narrow with sessionReplayOptions.mask.
});

Replay is a web SDK capability: recording needs a DOM, so the Dart and Python SDKs do not carry it. Watching back happens on the Replay screen.