라이브 주 컨텐츠

시나리오

이 시나리오에는 라이브 스트림에 참여한 후 40초 동안 광고가 재생되지 않은 라이브 자산이 한 개 있습니다.

트리거 하트비트 메서드 네트워크 호출 참고
사용자가 재생 클릭 trackSessionStart Analytics 컨텐츠 시작, 하트비트 컨텐츠 시작 재생​을 클릭하는 사용자 또는 자동 재생 이벤트일 수 있습니다.
미디어 플레이어의 첫 번째 프레임입니다. trackPlay 하트비트 컨텐츠 재생 이 메서드는 타이머를 트리거합니다. 재생이 계속되는 한 10초마다 하트비트가 전송됩니다.
컨텐츠가 재생됩니다. 컨텐츠 하트비트
세션이 끝남. trackSessionEnd SessionEnd는 보고 있는 세션의 종료를 의미합니다. 이 API는 사용자가 미디어를 끝까지 시청하지 않은 경우에도 호출해야 합니다.

매개 변수

Adobe Analytics 컨텐츠 시작 호출 시 표시되는 같은 값의 대부분이 하트비트 컨텐츠 시작 호출 시에도 표시됩니다. 또한 Adobe에서 Adobe Analytics의 여러 미디어 보고서를 채울 때 사용하는 다른 여러 매개 변수도 표시됩니다. 여기서 그러한 모든 내용을 다루지는 않으며, 실제로 중요한 내용만 다룹니다.

하트비트 컨텐츠 시작

매개 변수 참고
s:sc:rsid <Adobe 보고서 세트 ID>
s:sc:tracking_serve <Analytics 추적 서버 URL>
s:user:mid s:user:mid Adobe Analytics 컨텐츠 시작 호출 시 mid 값과 일치해야 함
s:event:type "start"
s:asset:type "main"
s:asset:mediao_id <미디어 이름>
s:stream:type live
s:meta:* 옵션 미디어에서 설정된 사용자 지정 메타데이터

컨텐츠 하트비트

미디어 재생 중에 10초마다(기본 컨텐츠의 경우) 또는 매초마다(광고의 경우) 하나 이상의 하트비트(또는 Ping)를 전송하는 타이머가 있습니다. 이러한 하트비트에 재생, 광고, 버퍼링 및 기타 많은 정보가 포함됩니다. 각 하트비트의 정확한 컨텐츠는 이 문서의 범위를 벗어나며, 유효성을 확인하기 위해 중요한 사항은 재생이 계속되는 동안 하트비트가 일관되게 트리거된다는 것입니다.

컨텐츠 하트비트에서 다음 몇 가지 특정 사항을 찾습니다.

매개 변수 참고
s:event:type "play"
l:event:playhead <playhead position> 예: 50, 60, 70 플레이헤드의 현재 위치를 반영해야 합니다.

하트비트 컨텐츠 완료

라이브 스트림이 완료되지 않았으므로 이 시나리오에는 완료 호출이 없습니다.

플레이헤드 값 설정

라이브 스트림의 경우 플레이헤드를 프로그래밍이 시작될 때부터 오프셋으로 설정해야 하므로 보고 시 분석가는 사용자가 24시간 보기 내에서 라이브 스트림에 참여하고 나가는 시점을 결정할 수 있습니다.

시작 시

라이브 미디어의 경우 사용자가 스트림 재생을 시작할 때 l:event:playhead를 현재 오프셋으로(초 단위) 설정해야 합니다. 이것은 플레이헤드를 "0"으로 설정한 VOD와 대조적입니다.

예를 들어 라이브 스트리밍 이벤트는 자정에 시작해서 24시간 동안 실행된다고 가정합니다(a.media.length=86400; l:asset:length=86400). 그런 다음 사용자가 오후 12시에 해당 라이브 스트림 재생을 시작한다고 가정합니다. 이 시나리오에서는 l:event:playhead를 43200으로(12시간을 스트림으로) 설정해야 합니다.

일시 중지 시

사용자가 재생을 일시 중지할 때 재생 시작 시 적용된 것과 동일한 "라이브 플레이헤드" 논리를 적용해야 합니다. 사용자가 라이브 스트림을 재생으로 돌아가면 l:event:playhead 값을 사용자가 라이브 스트림을 일시 중지한 위치가 아니라 새 오프셋 플레이헤드 위치로 설정해야 합니다.

샘플 코드

Android

다음은 예상 API 호출 순서입니다.

// Set up mediaObject 
MediaObject mediaInfo = MediaHeartbeat.createMediaObject( 
  Configuration.MEDIA_NAME,  
  Configuration.MEDIA_ID,  
  Configuration.MEDIA_LENGTH,  
  MediaHeartbeat.StreamType.LIVE 
); 

HashMap<String, String> mediaMetadata = new HashMap<String, String>(); 
mediaMetadata.put(CUSTOM_VAL_1, CUSTOM_KEY_1); 
mediaMetadata.put(CUSTOM_VAL_2, CUSTOM_KEY_2); 

// 1. Call trackSessionStart() when the user clicks Play or if autoplay is used,  
//    i.e., there is an intent to start playback.  
_mediaHeartbeat.trackSessionStart(mediaInfo, mediaMetadata); 

...... 
...... 

// 2. Call trackPlay() when the playback actually starts, i.e., when the first  
//    frame of main content is rendered on the screen. 
_mediaHeartbeat.trackPlay(); 

....... 
....... 

// 3. Call trackSessionEnd() when user ends the playback session.  
//    Since the user does not watch live media to completion, there  
//    is no need to call trackComplete().  
_mediaHeartbeat.trackSessionEnd(); 
....... 
....... 

iOS

다음은 예상 API 호출 순서입니다.

// Set up mediaObject 
ADBMediaObject *mediaObject =  
[ADBMediaHeartbeat createMediaObjectWithName:MEDIA_NAME  
                   length:MEDIA_LENGTH  
                   streamType:ADBMediaHeartbeatStreamTypeLIVE]; 
 
NSMutableDictionary *mediaContextData = [[NSMutableDictionary alloc] init]; 
[mediaContextData setObject:CUSTOM_VAL_1 forKey:CUSTOM_KEY_1]; 
[mediaContextData setObject:CUSTOM_VAL_2 forKey:CUSTOM_KEY_2]; 
 
// 1. Call trackSessionStart when the user clicks Play or if autoplay is used,  
//    i.e., there is an intent to start playback. 
[_mediaHeartbeat trackSessionStart:mediaObject data:mediaContextData]; 
...... 
...... 
 
// 2. Call trackPlay when the playback actually starts, i.e., when the first  
//    frame of the main content is rendered on the screen. 
[_mediaHeartbeat trackPlay]; 
....... 
....... 
 
// 3. Call trackSessionEnd when user ends the playback session. Since the user  
//    does not watch live media to completion, there is no need to call  
//    trackComplete. 
[_mediaHeartbeat trackSessionEnd]; 
........ 
........ 

JavaScript

다음은 예상 API 호출 순서입니다.

// Set up mediaObject 
var mediaInfo =  
MediaHeartbeat.createMediaObject(Configuration.MEDIA_NAME,  
                                 Configuration.MEDIA_ID,  
                                 Configuration.MEDIA_LENGTH,  
                                 MediaHeartbeat.StreamType.VOD); 

var mediaMetadata = { 
  CUSTOM_KEY_1 : CUSTOM_VAL_1,  
  CUSTOM_KEY_2 : CUSTOM_VAL_2,  
  CUSTOM_KEY_3 : CUSTOM_VAL_3 
}; 

// 1. Call trackSessionStart() when Play is clicked or if autoplay  
//    is used, i.e., there's an intent to start playback. 
this._mediaHeartbeat.trackSessionStart(mediaInfo, mediaMetadata); 

...... 
...... 

// 2. Call trackPlay() when the playback actually starts, i.e., when the  
//    first frame of media is rendered on the screen. 
this._mediaHeartbeat.trackPlay(); 

....... 
....... 

// 3. Call trackSessionEnd() when user ends the playback session.  
//    Since user does not watch live media to completion, there is  
//    no need to call trackComplete(). 
this._mediaHeartbeat.trackSessionEnd(); 

........ 
........ 

이 페이지에서는

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now