Proview Demo

This demo shows how to integrate the Proview into your application.

Initialization Status
Not initialized
Session Status
No active session

Initialize Proview

If not provided, must be set via setAttendee before starting a session
If not provided, must be set via setWorkflow before starting a session

Set Attendee

Set Workflow

Session Management

Example Usage

              
// Initialize Proview
const config = {
  dsn: "your-dsn-here",
  attendee_identifier: "optional-attendee-id",
  workflow_identifier: "optional-workflow-id",
};

// Initialize and get success status
const success = await Proview.init(config);
if (success) {
  console.log("Proview initialized successfully!");
}
              
            
              
// Set attendee information
Proview.setAttendee({
  identifier: "attendee-identifier", // Required
  first_name: "John",                // Optional
  last_name: "Doe",                  // Optional
  email: "john.doe@example.com",     // Optional
  phone: "+1-555-123-4567",          // Optional
  country: "United States"           // Optional
});
              
            
              
// Set workflow information
Proview.setWorkflow({
  identifier: "workflow-identifier",   // Required
  name: "Demo Exam",                   // Optional
  proctoringType: "REMOTE_INVIGILATION", // Required
  flow_id: 123                         // Optional
});
              
            
              
// Get current locale
const currentLocale = Proview.getLocale();
console.log("Current locale:", currentLocale);

// Set language
const effectiveLanguage = Proview.locale.setLanguage("es");
console.log("Language set to:", effectiveLanguage);

// Limit available languages
Proview.locale.limitLanguages(["en", "es", "fr"]);

// Get available languages
const languages = Proview.locale.getLanguages();
console.log("Available languages:", languages);
              
            
              
// Start a session
Proview.session.start((result) => {
  console.log("Session started:", result);
});

// Stop a session
Proview.session.stop((result) => {
  console.log("Session stopped:", result);
});

// Complete a session
Proview.session.complete((result) => {
  console.log("Session completed:", result);
});

// Pause a session
Proview.session.pause((result) => {
  console.log("Session paused:", result);
});

// Resume a session
Proview.session.resume("Resume reason", (result, error) => {
  if (error) {
    console.error("Failed to resume:", error);
    return;
  }
  console.log("Session resumed:", result);
});