Platform: Vidyard
Testing: Vidyard v4 embed API detection and event tracking
Duration: ~209s (milestones at ~52 / 104 / 157 / 188s) — long enough to test seek-gated progress: scrub to a spot, release, expect ONE milestone at the drop point.
UUID: rFyzL6xxMcCzsiQxzMUbg8
Title: 3 Minute Demo: Vidyard for Sales (~209s)
Embed Type: Image-to-player (v4 embed)
window.VidyardV4 or window.Vidyard global objects,
iframe patterns matching play.vidyard.com,
or elements with .vidyard-player-embed / [class*="vidyard"]
Vidyard provides a player API through VidyardV4:
// getPlayersByUUID returns an ARRAY synchronously (not a Promise)
var players = VidyardV4.api.getPlayersByUUID('rFyzL6xxMcCzsiQxzMUbg8');
var player = players[0];
player.on('play', function() { console.log('Playing'); });
player.on('pause', function() { console.log('Paused'); });
player.on('playerComplete', function() { console.log('Ended'); });
Repro for "complete video → Watch Again → no video play". These
buttons drive the real Vidyard Player API so the adapter sees the exact same
events as clicking Vidyard's own Watch Again end-screen button.
Steps: ① Play (or Jump to end) → wait for Video Complete
→ ② click Watch Again → expect a fresh Video Play (+ progress) again.
// What "Watch Again" does via the Player API:
var p = VidyardV4.api.getPlayersByUUID('rFyzL6xxMcCzsiQxzMUbg8')[0];
p.seek(0);
p.play(); // → timeupdate near 0 after a complete = fresh view → new vpl
Vidyard lead forms are configured in the Vidyard dashboard.
The adapter listens for leadCreate events on the player.
Use these buttons to simulate lead capture.
// SDK method:
_ll.video.lead({ platform: 'vy', email: '...', video_id: '...' })
// Player event (what Vidyard fires internally):
// player.emit('leadCreate', { email, first_name, last_name })