リプレイ
セッションリプレイはユーザーの画面が実際に行ったことを記録します: DOM の変化と操作を SDK がチャンクで捉え、コンソールで見返します。記録はクライアントごとのオプトインで、入力は既定でマスクされます。
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
- チャンク単位の記録: レコーダーは番号付きのチャンクを受け取るため、途中で閉じたタブでも送信済みの分はすべて残ります。
- マスクはクライアント側: マスクされた内容はブラウザを出ることがなく、表示時に隠すのではありません。
- 再生リンクは設計上短命です。期限切れのリンクは静かに失敗せず、再読み込みで再発行されます。
仕組み
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.
アクセス先
| Surface | Operation |
|---|---|
| REST | POST /v1/replay (recorder intake, project key) |
| GraphQL | replaySessions, replayChunks queries |
| Realtime | None: session lists read on demand |
| MCP | None |
例
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.