Skip to main content
Welcome to the Proview SDK (v8). Follow these steps to embed the latest SDK in your application.

Prerequisites

  • Talview-provisioned tenant + project DSN (customer success or Talview Sales can help).
  • Modern browser with WebRTC support and HTTPS hosting for your delivery app.
  • Ability to add a script tag and a small bootstrap snippet wherever proctoring needs to run.

Content Security Policy (CSP)

If your application enforces CSP headers, allow the domains and inline resources required by the SDK:

1. Load the SDK once

Place the loader as the last script on any page that needs proctoring. The loader attaches itself globally as window.Proview and fires window.proviewOnLoad when ready.
Use the environment-specific loader URL shared during onboarding (dev / staging / prod). The example above targets the production CDN.

2. Initialise once per page view

Call Proview.session.init after the loader fires. All options are optional; identifiers can be supplied now or later via Proview.session.start.
workflow_step.flow_uuid (optional) is the proctoring configuration identifier for the provided dsn. Please note: if the workflow step is already created with a flow, this will not override it.

Host checklist

  • Ensure dsn is set; session.init rejects with Missing DSN otherwise (see InitConfigSchema in the SDK).
  • Provide attendee (with identifier), workflow_step (with identifier), and a top-level identifier — all required — during session.init.
  • Do not gate your own UI on the loader script—wait for the session to enter the MONITORING_IN_PROGRESS state (next section).

3. Start the proctoring session before showing the assessment

Trigger the session start from your own UI (for example, a “Start Exam” button) once the candidate is ready. Wait for the promise to resolve before displaying your assessment content.

4. Stop / complete / pause / resume

The session module mirrors the methods listed in /sdk/proctoring/configuration:
All operations update the local session context and invoke your onError handler on failure. When rolling out pause/resume, consider mapping them to your own assessment timers as well.

5. Troubleshooting quick tips

  • Missing DSN: confirm the value passed into Proview.session.init. The SDK validates the configuration and rejects empty strings.
  • No UI rendered: ensure Proview.session.start() ran successfully and that a valid attendee/workflow identifier exists in context.
  • Permission prompts not appearing: the host page must not override camera/mic permissions (see best practices). Verify using your browser’s developer tools.
  • Network disconnects: listen for your own connectivity changes and optionally call Proview.session.pause() so the candidate is aware.