Skip to main content
Welcome to the Proview SDK. 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:
Content-Security-Policy:
  script-src 'unsafe-inline' https://*.tlv.io;
  style-src 'unsafe-inline';
  connect-src 'self' https://*.googleapis.com https://*.tlv.com wss://*.tlv.com https://*.talview.com wss://*.talview.com;
  img-src 'self' https://*.tlv.io;

Installation

Script tag

Place the loader as the last script on any page that needs Proview SDK. The loader attaches itself globally as window.Proview.
<!-- load the hosted bundle -->
<script
  src="https://sdk.tlv.cx"
  async
  crossorigin="anonymous"
></script>

Initialize

Define window.proviewOnLoad before loading the script. The SDK fires this callback when it is ready. Call Proview.init inside the callback to bootstrap the SDK.
<script>
  window.proviewOnLoad = async function () {
    Proview.onError(function (err) {
      console.error('Proview SDK error', err);
    });

    const success = await Proview.init({
      dsn: 'YOUR_PROJECT_DSN',  // optional
      modules: ['session'],     // optional; defaults to session
      credential: Proview.auth.FirebaseAuthStrategy({ token: 'your-token' }), // optional
    });

    if (!success) {
      console.error('Proview failed to initialize');
      return;
    }
  };
</script>

<!-- Load the SDK after defining the callback -->
<script
  src="https://sdk.tlv.cx"
  async
  crossorigin="anonymous"
></script>

Interfaces

The Proview SDK is composed of the following modules:
  • form – enables dynamic form loading and submission with integrated authentication. See the Form guide for details.
  • scheduler – manages interview scheduling, RSVP, and availability with integrated authentication. See the Scheduler guide for complete API reference.
  • session – enables remote proctoring with session management, media capture, and real-time monitoring. See the Proctoring guide for complete setup instructions.
  • session-playback – enables embedding and playback of recorded proctoring sessions. See the Session Playback guide for integration details.

Global Error Handling

Register a global error hook after the loader runs to observe failures from any Proview module:
Proview.onError((module, error) => {
  if (module === 'form') {
    console.error('Form module failed', error);
  } else if (module === 'scheduler') {
    console.error('Scheduler module failed', error);
  } else if (module === 'proctoring') {
    console.error('Proctoring module failed', error);
  } else {
    console.error(`Module ${module} failed`, error);
  }
});