이 설명서는 SDK의 버전 3.x에 있는 추적 기능에 대해 설명합니다.
SDK의 이전 버전을 구현하는 경우 SDK 다운로드에서 개발자 안내서를 다운로드할 수 있습니다.
초기 추적 설정
사용자가 재생 의도를 트리거하는 시기(사용자가 재생을 클릭하거나 자동 재생이 켜짐)를 식별하고 MediaObject 인스턴스를 만듭니다.
| 변수 이름 | 유형 | 설명 |
|---|---|---|
name |
string | 미디어 이름을 나타내는 빈 문자열이 아닙니다. |
id |
string | 고유한 미디어 식별자를 나타내는 빈 문자열이 아닙니다. |
length |
number | 미디어의 길이(초)를 나타내는 양수입니다. 길이를 알 수 없으면 0을 사용합니다. |
streamType |
string | |
mediaType |
미디어 유형(오디오 또는 비디오)입니다. |
StreamType상수:
| 상수 이름 | 설명 |
|---|---|
VOD |
Video on Demand에 대한 스트림 유형입니다. |
AOD |
Audio On Demand에 대한 스트림 유형입니다. |
MediaType상수:
| 상수 이름 | 설명 |
|---|---|
Audio |
오디오 스트림에 대한 미디어 유형입니다. |
Video |
비디오 스트림에 대한 미디어 유형입니다. |
var mediaObject = ADB.Media.createMediaObject(<MEDIA_NAME>,
<MEDIA_ID,
<MEDIA_LENGTH>,
<STREAM_TYPE>,
<MEDIA_TYPE>);
메타데이터 첨부
원할 경우 컨텍스트 데이터 변수를 통해 표준 및/또는 사용자 지정 메타데이터 추적 세션에 첨부합니다.
표준 메타데이터
표준 메타데이터 첨부는 선택 사항입니다.
미디어 메타데이터 키 API 참조 - 표준 메타데이터 키 - JavaScript
사용 가능한 메타데이터의 전체 목록을 오디오 및 비디오 매개 변수에서 참조하십시오.
사용자 지정 메타데이터
사용자 지정 변수에 대한 변수 개체를 만들고, 이 미디어의 데이터로 채웁니다. 예:
/* Set context data */
var contextData = {};
//Standard metadata
contextData[ADB.Media.VideoMetadataKeys] = "Sample Episode";
contextData[ADB.Media.VideoMetadataKeys] = "Sample Show";
//Custom metadata
contextData["isUserLoggedIn"] = "false";
contextData["tvStation"] = "Sample TV Station";
재생을 시작하려는 의도 추적
미디어 세션 추적을 시작하려면 미디어 하트비트 인스턴스에서 trackSessionStart를 호출합니다.
var mediaObject = ADB.Media.createMediaObject("video-name",
"video-id",
60.0,
ADB.Media.StreamType.VOD,
ADB.Media.MediaType.Video);
var contextData = {};
//Standard metadata
contextData[ADB.Media.VideoMetadataKeys] = "Sample Episode";
contextData[ADB.Media.VideoMetadataKeys] = "Sample Show";
//Custom metadata
contextData["isUserLoggedIn"] = "false";
contextData["tvStation"] = "Sample TV Station";
tracker.trackSessionStart(mediaObject, contextData);
재생 시작이 아니라 trackSessionStart는 사용자의 재생 의도를 추적합니다. 이 API는 데이터/메타데이터를 로드하고, QoS 지표(trackSessionStart와 trackPlay 사이의 기간)를 시작할 시간을 예상하는 데 사용됩니다.
contextData를 사용하지 않는 경우 trackSessionStart의 data 인수에 대해 빈 개체를 보내면 됩니다.
실제 재생 시작 추적
미디어 플레이어에서 미디어의 첫 번째 프레임이 화면에서 렌더링되는 재생 시작에 대한 이벤트를 식별하고 trackPlay를 호출합니다.
tracker.trackPlay();
재생 완료 추적
미디어 플레이어에서 사용자가 컨텐츠의 끝까지 시청한 재생 완료에 대한 이벤트를 식별하고 trackComplete를 호출합니다.
tracker.trackComplete();
세션의 끝 추적
미디어 플레이어에서 사용자가 미디어를 닫거나 미디어가 완료 및 언로드된 재생 언로드/종료에 대한 이벤트를 식별하고 trackSessionEnd를 호출합니다.
tracker.trackSessionEnd();
추적 세션의 끝을 trackSessionEnd는 표시합니다. 세션을 끝까지 성공적으로 시청한 경우, 즉, 사용자가 끝까지 컨텐츠를 시청한 경우 trackComplete가 trackSessionEnd 전에 호출되는지 확인합니다. 새 추적 세션에 필요한 trackSessionStart를 제외하고, 다른 모든 track* API 호출은 trackSessionEnd 이후 무시됩니다.
가능한 모든 일시 중지 시나리오 추적
미디어 플레이어에서 일시 중지 이벤트를 식별하고 trackPause를 호출합니다.
tracker.trackPause();
시나리오 일시 중지
미디어 플레이어에서 일시 중지할 시나리오를 식별하고 trackPause가 제대로 호출되는지 확인하십시오. 다음 시나리오에서는 모두 앱 호출 trackPause()가 필요합니다.
플레이어에서 재생 및/또는 일시 중지에서 재개에 대한 이벤트를 식별하고 trackPlay를 호출합니다.
tracker.trackPlay();
이 이벤트 소스는 4단계에서 사용한 이벤트 소스와 같을 수 있습니다. 재생이 다시 시작될 때 각 trackPause() API 호출이 다음 trackPlay() API 호출과 연결되는지 확인하십시오.