@aller/blink
Version:
A library for tracking user behaviour.
37 lines (36 loc) • 1.28 kB
TypeScript
import { PlayerStateEvent, PlayerShownEvent, PlayerHiddenEvent, PlayerState } from '../reducers/player';
export interface GeneralVideoEvent {
time: Date;
videoId: string;
playerId: string;
muted: boolean;
volume: number;
position: number;
sticky?: boolean;
streamingMode?: string;
channelId?: string;
}
export interface VideoPlayEvent extends GeneralVideoEvent {
type: 'start';
reason: 'interaction' | 'autostart' | 'viewable';
}
export interface VideoStopEvent extends GeneralVideoEvent {
type: 'stop';
reason: 'pause' | 'complete' | 'exit' | 'viewable' | 'stickyClosed';
}
export declare type VideoTimeEvent = VideoPlayEvent | VideoStopEvent;
export declare type VideoEvent = PlayerStateEvent | VideoTimeEvent;
export declare enum PLAYER_TIMER_STATES {
RUNNING = "RUNNING",
STOPPED = "STOPPED"
}
export declare enum PLAYER_VISIBILITY_STATES {
VISIBLE = "VISIBLE",
HIDDEN = "HIDDEN"
}
export interface VideoWatchEvent {
watchTime: number;
startEvent: VideoTimeEvent | PlayerShownEvent;
stopEvent: VideoTimeEvent | PlayerHiddenEvent;
}
export declare function calculateVideoEventTime(times: VideoTimeEvent[], videoId: string, players: PlayerState, playerId: string, time?: Date): VideoWatchEvent[];