UNPKG

1.24 kBTypeScriptView Raw
1import { BrowserPlugin } from '@snowplow/browser-tracker-core';
2declare enum SnowplowEvent {
3 PERCENTPROGRESS = "percentprogress",
4 SEEK = "seek",
5 VOLUMECHANGE = "volumechange"
6}
7// The payload a YouTube player event emits has no identifier of what event it is
8// Some payloads can emit the same data
9// i.e. onError and onPlaybackRateChange can both emit '{data: 2}'
10declare enum YTPlayerEvent {
11 ONSTATECHANGE = "onStateChange",
12 ONPLAYBACKQUALITYCHANGE = "onPlaybackQualityChange",
13 ONERROR = "onError",
14 ONAPICHANGE = "onApiChange",
15 ONPLAYBACKRATECHANGE = "onPlaybackRateChange",
16 ONREADY = "onReady"
17}
18declare enum YTState {
19 UNSTARTED = "unstarted",
20 ENDED = "ended",
21 PLAYING = "play",
22 PAUSED = "pause",
23 BUFFERING = "buffering",
24 CUED = "cued"
25}
26type EventGroup = (SnowplowEvent | YTPlayerEvent | YTState | string)[];
27interface MediaTrackingOptions {
28 boundaries?: number[];
29 captureEvents?: EventGroup;
30 label?: string;
31 updateRate?: number;
32}
33declare function YouTubeTrackingPlugin(): BrowserPlugin;
34declare function enableYouTubeTracking(args: {
35 id: string;
36 options?: MediaTrackingOptions;
37}): void;
38export { YouTubeTrackingPlugin, enableYouTubeTracking };