다음은 2.x SDK를 사용하는 구현과 관련된 지침입니다.
SDK의 1.x 버전을 구현하는 경우 SDK 다운로드에서 1.x 개발자 안내서를 다운로드할 수 있습니다.
광고 재생에는 추적 광고 브레이크, 광고 시작, 광고 완료 및 광고 건너뛰기가 포함되어 있습니다. 미디어 플레이어의 API를 사용하여 핵심 플레이어 이벤트를 식별하고 필수 및 선택적 광고 변수를 채웁니다. 포괄적인 메타데이터 목록은 광고 매개 변수를 참조하십시오.
프리롤 포함
광고 브레이크에 대한 adBreak 개체 인스턴스를 만듭니다. 예, adBreakObject.
광고 브레이크 시작을 위해 trackEvent를 사용하여 adBreakObject를 호출합니다.
adObject.adCustomMetadata를 채웁니다.trackEvent를 호출합니다.trackEvent를 호출합니다.trackEvent를 호출합니다.trackEvent를 호출합니다.| 상수 이름 | 설명 |
|---|---|
AdBreakStart |
AdBreak 시작 이벤트 추적을 위한 상수 |
AdBreakComplete |
AdBreak 완료 이벤트 추적을 위한 상수 |
AdStart |
광고 시작 이벤트 추적을 위한 상수 |
AdComplete |
광고 완료 이벤트 추적을 위한 상수 |
AdSkip |
광고 건너뛰기 이벤트 추적을 위한 상수 |
프리롤을 포함하여 광고 브레이크 경계가 시작되는 시점을 식별하고 광고 브레이크 정보를 사용하여 AdBreakObject를 생성합니다.
AdBreakObject 참조:
| 변수 이름 | 설명 | 필수 여부 |
|---|---|---|
name |
프리롤, 미드롤 및 포스트롤과 같은 광고 브레이크 이름입니다. | 예 |
position |
컨텐츠 내 광고 브레이크의 번호 위치로서, 1로 시작합니다. | 예 |
startTime |
광고 브레이크의 시작 위치에 있는 플레이헤드 값입니다. | 예 |
광고 브레이크 추적을 시작하려면 MediaHeartbeat 인스턴스에서 AdBreakStart를 사용하여 trackEvent()를 호출합니다.
광고가 시작되는 시기를 식별하고, 광고 정보를 사용하여 AdObject 인스턴스를 만듭니다.
AdObject 참조:
| 변수 이름 | 설명 | 필수 여부 |
|---|---|---|
name |
친숙한 광고 이름. | 예 |
adId |
광고의 고유 식별자. | 예 |
position |
광고 브레이크 내 광고 번호 위치로서, 1로 시작합니다. | 예 |
length |
광고 길이 | 예 |
원할 경우 컨텍스트 데이터 변수를 통해 표준 및/또는 광고 메타데이터를 추적 세션에 첨부합니다.
광고 재생 추적을 시작하려면 MediaHeartbeat 인스턴스에서 AdStart 이벤트를 사용하여 trackEvent()를 호출합니다.
사용자 지정 메타데이터 변수(또는 빈 개체)에 대한 참조를 이벤트 호출의 세 번째 매개 변수로 포함하십시오.
광고 재생이 광고 끝에 도달하면 AdComplete 이벤트를 사용하여 trackEvent()를 호출합니다.
사용자가 광고를 건너뛰도록 선택했기 때문에 광고 재생이 완료되지 않은 경우 AdSkip 이벤트를 추적합니다.
같은 AdBreak 내에 추가 광고가 있는 경우 3~7단계를 다시 반복합니다.
광고 브레이크가 완료되면 AdBreakComplete 이벤트를 사용하여 추적합니다.
광고 재생(s:asset:type=ad) 중에 컨텐츠 플레이어 플레이헤드(l:event:playhead)를 증가시키지 않도록 하십시오. 증가시킬 경우 컨텐츠 체류 시간 지표가 부정적인 영향을 받습니다.
다음 샘플 코드는 HTML5 미디어 플레이어에 JavaScript 2.x SDK를 사용합니다.
/* Call on ad break start */
if (e.type == "ad break start") {
var adBreakObject = MediaHeartbeat.createAdBreakObject("mid-roll", 2, 500);
this.mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakObject);
};
/* Call on ad start */
if (e.type == "ad start") {
var adObject = MediaHeartbeat.createAdObject("PepsiOne", "123456ab", 1, 30);
/* Set custom context data */
var adCustomMetadata = {
affiliate:"Sample affiliate",
campaign:"Sample ad campaign",
creative:"Sample creative"
}
this.mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdStart, adObject, adCustomMetadata);
};
/* Call on ad complete */
if (e.type == "ad complete") {
this.mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdComplete);
};
/* Call on ad skip */
if (e.type == "ad skip") {
this.mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdSkip);
};
/* Call on ad break complete */
if (e.type == "ad break complete") {
this.mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakComplete);
};