본문으로 건너뛰기

Ad와 AdQoeInfo

1. Ad

광고 이벤트 리스너를 통해 전달받은 Ad 객체로 동영상 광고를 제어하거나 광고에 대한 정보를 얻을 수 있습니다.

interface InstreamAd {
start(): void;
skipAdBreak(): void;

smartTvAction(action: SmartTvAction): void;

setNonLinearAdContainer(nonLinearAdContainer: HTMLElement, nonLinearExtraInfo?: NonLinearExtraInfo): void;
setNonLinearAdStyle(isShareType: boolean): void;
showNonLinearAd(): void;
hideNonLinearAd(): void;

getLinearAdType(): string | undefined;
getAdNoticeDuration(): number | undefined;
getAdQoeInfo(): AdQoeInfo;
getVideoMediaInfo(): InstreamMediaInfo | undefined;
getNonLinearAdInfo(): NonLinearAdInfo | undefined;
getAdSourceId(): string;

pause(): void;
resume(): void;
setVolume(volume: number): void;
getVolume(): number;
mute(): void;
unmute(): void;
}
  • smartTvAction()은 videoAdScheduleManager의 API와 동일하게 동작합니다.

start()

  • 광고를 최초로 재생 시킬 때 사용됩니다.

skipAdBreak()

  • AdBreak를 스킵합니다.

setNonLinearAdContainer()

  • Parameter

    nonLinearAdContainer: nonLinear 광고가 렌더링 될 HTML 요소

    nonLinearExtraInfo: nonLinear 광고의 추가 설정 정보

    • isShareType : 서비스 플레이어 UI가 퍼가기 형태 UI 타입인지 여부
    • containerType : nonLinear 광고를 서비스 플레이어 내부 혹은 외부에 랜더링할지 결정하는 타입 정보
    interface NonLinearExtraInfo {
    isShareType?: boolean;
    containerType?: 'INNER' | 'OUTER';
    }

setNonLinearAdStyle()

  • Parameter

    isShareType : 서비스 플레이어 UI가 퍼가기 형태 UI 타입인지 여부

showNonLinearAd()

  • 광고가 nonLinear일 경우, nonLinear 광고를 노출시킵니다.

hideNonLinearAd()

  • 광고가 nonLinear일 경우, nonLinear 광고를 숨깁니다.

getLinearAdType()

  • Return

    linearAdType(string): "pre" 또는 "mid" 또는 "post"인 linearAdType을 반환합니다. 없을 경우 undefined를 반환합니다.

getAdNoticeDuration()

  • Return

    adNoticeDuration(number): AdScheduleParam에서 설정된 adNoticeDuration 값을 반환합니다. 없을 경우 undefined를 반환합니다.

getAdQoeInfo()

  • Return

    AdQoeInfo 객체를 반환합니다.

getVideoMediaInfo()

  • Return

    VideoMediaInfo: 광고 동영상 Media 정보 객체를 반환합니다. 없을 경우 undefined를 반환합니다.

    interface InstreamMediaInfo {
    contentType: string;
    mediaWidth: number;
    mediaHeight: number;
    bitrate: number;
    mediaFileUrl: string;
    }

getNonLinearAdInfo()

  • Return

    NonLinearAdInfo: 광고가 nonLinear일 경우, nonLinear 광고에 대한 정보 객체를 반환합니다. 없을 경우 undefined를 반환합니다.

    export interface NonLinearAdInfo {
    id: string;
    width: number;
    height: number;
    apiFramework: string;
    content: string;
    contentType: string;
    creativeViewUrl?: string;
    clickThrough?: string;
    clickTrackingUrls?: string[];
    offset: number;
    duration: number;
    started: boolean;
    complete: boolean;
    }

getAdSourceId()

  • Return

    AdSourceId(string): 광고의 AdSourceId를 반환합니다.

pause()

  • 현재 재생 중인 광고를 일시 정지합니다.

resume()

  • 현재 일시 정지 상태인 광고를 다시 재생합니다.

setVolume()

  • Parameter

    volume : 현재 재생 중인 광고 비디오에 설정할 volume 값

getVolume()

  • Return

    현재 재생 중인 광고 비디오의 볼륨값을 반환합니다.

mute()

  • 현재 재생 중인 광고 비디오에 대해 음소거합니다.

unmute()

  • 현재 재생 중인 광고 비디오의 음소거 상태를 해제합니다.

2. AdQoeInfo

interface InstreamAdQoeInfo {
adProvider: string; // 광고 제공자
placementType: string; // pre: 전 광고, mid: 중간 광고, post: 후 광고
timeOffset: number; // 광고 스케줄 timeOffset
adDuration: number; // 광고 재생 시간
currentTime: number; // 광고 재생 구간에서의 현재 시간
skipOffset: number; // 광고 재생 구간에서의 광고 skip 시간
mediaWidth: number; // 미디어 width, 해당 속성값이 없을 경우 0
mediaHeight: number; // 미디어 height, 해당 속성값이 없을 경우 0
}