Lewati ke konten utama

Putar ulang

Replay sesi merekam apa yang benar-benar dilakukan layar pengguna: perubahan DOM dan interaksi, ditangkap SDK dalam potongan dan ditonton kembali di konsol. Perekaman opt-in per klien, input disamarkan secara bawaan.

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
  • Penangkapan per potongan: perekam menerima potongan bernomor, jadi tab yang ditutup di tengah sesi tetap meninggalkan semua yang terkirim.
  • Penyamaran di sisi klien: konten yang disamarkan tidak pernah meninggalkan peramban, bukan disembunyikan saat ditampilkan.
  • Tautan pemutaran memang berumur pendek; tautan kedaluwarsa diterbitkan ulang saat muat ulang, bukan gagal diam-diam.

Cara kerjanya

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.

Di mana mengaksesnya

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

Contoh

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.