Skip to main content

Events Reference

Event Usage

The Vertical Player emits events when user actions or playback state changes occur. These events can be listened to using a single event listener and distinguished by the returned eventName.

Supported Listener

LISTENERDESCRIPTION
on(eventName, callback)Attaches callback to the event identified by eventName. The callback is invoked every time the player emits that event.

Basic Usage Example

<script>
vpVerticalPlayer("divId")
.setup(config)
.then(() => {
vpVerticalPlayer("divId").on("vp-video-started", (event) => {
// ...
});
});
</script>

Native Video Events

EVENT NAMEDESCRIPTION
waitingPlayback is ready but waiting for more data (buffering).
endedPlayback has finished.
playUser initiated playback.
pausePlayback has been paused.
playingPlayback has started or resumed.
volumechangeVolume level or mute state changed.
stalledNo data is being loaded during a playback attempt.
canplayEnough data is available to begin playback.
progressMedia buffering progress has been updated.
timeupdateCurrent playback time has changed.
loadeddataFirst frame of the media has been loaded.
loadedmetadataMedia metadata loaded (duration, dimensions, etc.).
idlePlayer is idle, stopped, or in an errored state.
loadstartMedia loading has started.
seekingA seek operation is in progress.
seekedA seek operation has completed.
suspendBrowser has intentionally halted media loading.
ratechangePlayback rate has changed.

Player State Events

EVENT NAMEDESCRIPTION
vp-subtitle-changeSubtitle track was changed.
vp-seekedSeeking operation has finished.
vp-finishedVideo playback has finished.
vp-state-playingPlayer entered the playing state.
vp-state-pausedPlayer entered the paused state.
vp-first-frameFirst video frame was loaded.
vp-readyPlayer is ready for API calls.
vp-video-switchActive video was changed.
vp-timeEmitted every 5 seconds with time and duration.
vp-user-interactionAny user interaction with the player.
vp-video-lockedVideo is locked and cannot be played.

Ad Events

EVENT NAMEDESCRIPTION
vp-ad-clickUser clicked the ad.
vp-ad-first-quartileAd reached 25% playback.
vp-ad-second-quartileAd reached 50% playback.
vp-ad-third-quartileAd reached 75% playback.
vp-ad-completeAd finished playback (not skipped).
vp-ad-skipAd was skipped by the user.
vp-ad-progressAd playback progress update.
vp-ad-impressionAd impression was registered.
vp-ad-errorError occurred during ad playback.
vp-ad-time-updateAd playback time was updated.

Analytics Events

EVENT NAMEDESCRIPTION
vp-embedPlayer was embedded.
vp-video-startedVideo playback started.
vp-video-completedVideo playback completed.
vp-first-quartile25% of the video was watched.
vp-second-quartile50% of the video was watched.
vp-third-quartile75% of the video was watched.
vp-video-statePeriodic playback state emitted every 10s.
vp-twenty-view20 seconds of the video were watched.
vp-true-viewValid view based on user interaction.
watchedtimeTotal watch time tracked.

Generic Event (vp-event / vpEvent)

The Vertical Player emits a generic event called vp-event (vpEvent) that captures all player events, including playback, state, analytics, ad, and native video events.

EVENT NAMEALIASDESCRIPTION
vp-eventvpEventGeneric event for custom player events.

Listening to All Vertical Player Events

You can listen to all Vertical Player events using the vp-event listener and filter by the eventName property.

vpVerticalPlayer("player").on("vp-event", (e) => {
console.log("Vertical Player Event:", e.eventName, e);
});