إعادة التشغيل
تسجل إعادة تشغيل الجلسات ما فعلته شاشة المستخدم فعلا: تغيرات 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 |
مثال
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.