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,replayChunksover 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
| Surface | Operation |
|---|---|
| REST | POST /v1/replay (recorder intake, project key) |
| GraphQL | replaySessions, replayChunks queries |
| Realtime | None: session lists read on demand |
| MCP | None |
Contoh
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.