Phát lại
Phát lại phiên ghi lại những gì màn hình người dùng thực sự đã làm: thay đổi DOM và tương tác, được SDK bắt theo từng khối và xem lại trong bảng điều khiển. Việc ghi là tùy chọn theo từng client, đầu vào được che theo mặc định.
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
- Bắt theo khối: bộ ghi nhận các khối được đánh số, nên thẻ đóng giữa phiên vẫn để lại mọi thứ đã gửi.
- Việc che ở phía client: nội dung bị che không bao giờ rời trình duyệt, chứ không phải bị giấu lúc hiển thị.
- Liên kết phát lại có vòng đời ngắn theo thiết kế; liên kết hết hạn được cấp lại khi tải lại thay vì thất bại trong im lặng.
Cách hoạt động
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.
Truy cập ở đâu
| Surface | Operation |
|---|---|
| REST | POST /v1/replay (recorder intake, project key) |
| GraphQL | replaySessions, replayChunks queries |
| Realtime | None: session lists read on demand |
| MCP | None |
Ví dụ
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.