Show Menu
TOPICS×

VOD-Wiedergabe mit einem Kapitel

Szenario

In diesem Szenario wurde ein Teil des VOD-Inhalts als Kapitel markiert.
Wenn nichts anderes angegeben ist, sind die Netzwerkaufrufe in diesem Szenario mit den Aufrufen im Szenario VOD-Wiedergabe ohne Anzeigen identisch. Der Netzwerkaufruf erfolgt gleichzeitig, aber die Payload ist anders.
Auslöser  
Heartbeat-Methode  
Netzwerkaufrufe  
Hinweise  
Anwender klickt auf
Abspielen
trackSessionStart
Analytics Content Start, Heartbeat Content Start
Wir haben der Measurement Library noch nicht mitgeteilt, dass es eine Pre-Roll-Anzeige gibt. Daher sind diese Netzwerkaufrufe immer noch mit denen von Single VoD identisch.
Das Kapitel beginnt.
trackEvent:ChapterStart
Heartbeat Chapter Start
Das erste Bild des Kapitels wird wiedergegeben.
trackPlay
Heartbeat Content Play
Wenn Kapitelinhalte vor dem Hauptinhalt wiedergegeben werden, starten Heartbeats beim Beginn des Kapitels.
Das Kapitel wird wiedergegeben.
Chapter Heartbeats
Das Kapitel ist abgeschlossen.
trackEvent:trackChapterComplete
Heartbeat Chapter Complete
Dies ist der Punkt, an dem das Ende des Kapitels erreicht wird.
Der Inhalt wird wiedergegeben.
Content Heartbeats
Dieser Netzwerkaufruf ist mit dem Aufruf beim Szenario VOD-Wiedergabe ohne Anzeigen identisch.
Der Inhalt ist abgeschlossen.
trackComplete
Heartbeat Content Complete
Dieser Netzwerkaufruf ist mit dem Aufruf beim Szenario VOD-Wiedergabe ohne Anzeigen identisch.
Die Sitzung ist beendet.
trackSessionEnd
SessionEnd
bedeutet, dass das Ende einer Wiedergabesitzung erreicht wurde. Diese API muss auch dann aufgerufen werden, wenn der Benutzer die Medien nicht bis zum Ende anschaut.

Parameter

Bei Beginn der Kapitelwiedergabe wird ein
Heartbeat Chapter Start
-Aufruf gesendet. Wenn der Anfang des Kapitels nicht auf den 10-Sekunden-Timer fällt, wird der
Heartbeat Chapter Start
-Aufruf um einige Sekunden verzögert. Der Aufruf wird dann mit dem nächsten 10-Sekunden-Intervall gesendet.
In diesem Fall wird ein
Content Heartbeat
-Aufruf in demselben Intervall gesendet. Sie können zwischen diesen beiden Aufrufen unterscheiden, indem Sie den Ereignistyp und den Assettyp untersuchen:

Heartbeat Chapter Start

Parameter
Wert
Hinweise
s:event:type
"chapter_start"
s:asset:type
"main"
s:stream:chapter_*
Spezielle Stream-Informationen für die Kapiteldaten.
s:meta:*
Kapitel mit speziellen Kontextdaten.

Beispielcode, Kapitel in der Mitte

In diesem Szenario ist ein Teil des VOD-Inhalts ein Kapitel.

Android

Um dieses Szenario in Android anzuzeigen, verwenden Sie folgenden Code:
// Set up mediaObject MediaObject mediaInfo = MediaHeartbeat.createMediaObject( Configuration.MEDIA_NAME, Configuration.MEDIA_ID, Configuration.MEDIA_LENGTH, MediaHeartbeat.StreamType.VOD ); HashMap<String, String> mediaMetadata = new HashMap<String, String>(); mediaMetadata.put(CUSTOM_KEY_1, CUSTOM_VAL_1); mediaMetadata.put(CUSTOM_KEY_2, CUSTOM_VAL_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., first frame of the // ad media is rendered on the screen. _mediaHeartbeat.trackPlay(); ....... ....... // Chapter HashMap<String, String> chapterMetadata = new HashMap<String, String>(); chapterMetadata.put(CUSTOM_KEY_1, CUSTOM_VAL_1); MediaObject chapterDataInfo = MediaHeartbeat.createChapterObject(CHAPTER_NAME, CHAPTER_POSITION, CHAPTER_LENGTH, CHAPTER_START_TIME); // 3. Track the MediaHeartbeat.Event.ChapterStart event when the chapter starts to play. _mediaHeartbeat.trackEvent(MediaHeartbeat.Event.ChapterStart, chapterDataInfo, chapterMetadata); ....... ....... // 4. Track the MediaHeartbeat.Event.ChapterComplete event when the chapter finishes playing. _mediaHeartbeat.trackEvent(MediaHeartbeat.Event.ChapterComplete, null, null); ....... ....... // 5. Call trackComplete() when the playback reaches the end, i.e., completes and finishes playing. _mediaHeartbeat.trackComplete(); ........ ........ // 6. Call trackSessionEnd() when the playback session is over. This method must be called even // if the user does not watch the media to completion. _mediaHeartbeat.trackSessionEnd(); ........ ........

iOS

Um dieses Szenario in iOS anzuzeigen, verwenden Sie folgenden Code:
when the user clicks Play ADBMediaObject *mediaObject = [ADBMediaHeartbeat createMediaObjectWithName:MEDIA_NAME length:MEDIA_LENGTH streamType:ADBMediaHeartbeatStreamTypeVOD]; 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., when 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]; ....... ....... // Chapter NSMutableDictionary *chapterContextData = [[NSMutableDictionary alloc] init]; [chapterContextData setObject:CONTEXT_DATA_VALUE forKey:CONTEXT_DATA_KEY]; id chapterInfo = [ADBMediaHeartbeat createChapterObjectWithName:CHAPTER_NAME position:CHAPTER_POSITION length:CHAPTER_LENGTH startTime:CHAPTER_START_TIME]; // 3. Track the ADBMediaHeartbeatEventChapterStart event when the chapter // starts to play. [_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventChapterStart mediaObject:chapterInfo data:chapterContextData]; ....... ....... // 4. Track the ADBMediaHeartbeatEventChapterComplete event when the chapter // finishes playing. [_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventChapterComplete mediaObject:nil data:nil]; ....... ....... // 5. Call trackComplete when the playback reaches the end, i.e., when the // media completes and finishes playing. [_mediaHeartbeat trackComplete]; ....... ....... // 6. Call trackSessionEnd when the playback session is over. This method must // be called even if the user does not watch the media to completion. [_mediaHeartbeat trackSessionEnd]; ....... .......

JavaScript

Geben Sie den folgenden Text ein, um dieses Szenario in JavaScript anzuzeigen:
// 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., when there's an intent to start playback. this._mediaHeartbeat.trackSessionStart(mediaInfo, mediaMetadata); ...... ...... // Chapter var chapterMetadata = { CUSTOM_KEY_1 : CUSTOM_VAL_1 }; var chapterDataInfo = MediaHeartbeat.createChapterObject(CHAPTER_NAME, CHAPTER_POSITION, CHAPTER_LENGTH, CHAPTER_START_TIME); // 2. Track the MediaHeartbeat.Event.ChapterStart event when the chapter // starts to play. this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.ChapterStart, chapterDataInfo, chapterMetadata); ....... ....... // 3. Call trackPlay() when the playback actually starts, i.e., when the first // frame of the main content is rendered on the screen. this._mediaHeartbeat.trackPlay(); ....... ....... // 4. Track the MediaHeartbeat.Event.ChapterComplete event when the chapter // finishes playing. this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.ChapterComplete); ....... ....... // 5. Call trackComplete() when the playback reaches the end, i.e., when playback // completes and finishes playing. this._mediaHeartbeat.trackComplete(); ........ ........ // 6. Call trackSessionEnd() when the playback session is over. This method must be // called even if the user does not watch the media to completion. this._mediaHeartbeat.trackSessionEnd(); ........ ........

Beispielcode, Kapitel am Anfang

In diesem Szenario wird VOD-Inhalt mit einem Kapitel am Anfang der Wiedergabe wiedergegeben.

Android

Um dieses Szenario in Android anzuzeigen, verwenden Sie folgenden Code:
// Set up mediaObject MediaObject mediaInfo = MediaHeartbeat.createMediaObject( Configuration.MEDIA_NAME, Configuration.MEDIA_ID, Configuration.MEDIA_LENGTH, MediaHeartbeat.StreamType.VOD ); HashMap<String, String> mediaMetadata = new HashMap<String, String>(); mediaMetadata.put(CUSTOM_KEY_1, CUSTOM_VAL_1); mediaMetadata.put(CUSTOM_KEY_2, CUSTOM_VAL_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., first frame of the // main content is rendered on the screen. _mediaHeartbeat.trackPlay(); ....... ....... // Chapter HashMap<String, String> chapterMetadata = new HashMap<String, String>(); chapterMetadata.put(CUSTOM_KEY_1, CUSTOM_VAL_1); MediaObject chapterDataInfo = MediaHeartbeat.createChapterObject(CHAPTER_NAME, CHAPTER_POSITION, CHAPTER_LENGTH, CHAPTER_START_TIME); // 3. Track the MediaHeartbeat.Event.ChapterStart event when the chapter starts to play. _mediaHeartbeat.trackEvent(MediaHeartbeat.Event.ChapterStart, chapterDataInfo, chapterMetadata); ....... ....... // 4. Track the MediaHeartbeat.Event.ChapterComplete event when the chapter finishes playing. _mediaHeartbeat.trackEvent(MediaHeartbeat.Event.ChapterComplete, null, null); ....... ....... // 5. Call trackComplete() when the playback reaches the end, i.e., when the media completes // and finishes playing. _mediaHeartbeat.trackComplete(); ........ ........ // 6. Call trackSessionEnd() when the playback session is over. This method must be called even // if the user does not watch the media to completion. _mediaHeartbeat.trackSessionEnd(); ........ ........

iOS

Um dieses Szenario in iOS anzuzeigen, verwenden Sie folgenden Code:
when the user clicks Play ADBMediaObject *mediaObject = [ADBMediaHeartbeat createMediaObjectWithName:MEDIA_NAME length:MEDIA_LENGTH streamType:ADBMediaHeartbeatStreamTypeVOD]; 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]; ....... ....... // Chapter NSMutableDictionary *chapterContextData = [[NSMutableDictionary alloc] init]; [chapterContextData setObject:CONTEXT_DATA_VALUE forKey:CONTEXT_DATA_KEY]; id chapterInfo = [ADBMediaHeartbeat createChapterObjectWithName:CHAPTER_NAME position:CHAPTER_POSITION length:CHAPTER_LENGTH startTime:CHAPTER_START_TIME]; // 2. Call ADBMediaHeartbeatEventChapterStart when the chapter starts. [_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventChapterStart mediaObject:chapterInfo data:chapterContextData]; ....... ....... // 3. Call trackPlay when the playback actually starts, i.e., when the // first frame of the main content is rendered on the screen. [_mediaHeartbeat trackPlay]; ....... ....... // 4. Call ADBMediaHeartbeatEventChapterComplete when the chapter starts. [_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventChapterComplete mediaObject:nil data:nil]; ....... ....... // 5. Call trackComplete when the playback reaches the end, i.e., when the // media completes and finishes playing. [_mediaHeartbeat trackComplete]; ....... ....... // 6. Call trackSessionEnd when the playback session is over. This method // must be called even if the user does not watch the media to completion. [_mediaHeartbeat trackSessionEnd]; ....... .......

JavaScript

Geben Sie den folgenden Text ein, um dieses Szenario in JavaScript anzuzeigen:
// 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., when there's an intent to start playback. this._mediaHeartbeat.trackSessionStart(mediaInfo, mediaMetadata); ...... ...... // Chapter var chapterMetadata = { CUSTOM_KEY_1 : CUSTOM_VAL_1 }; var chapterDataInfo = MediaHeartbeat.createChapterObject(CHAPTER_NAME, CHAPTER_POSITION, CHAPTER_LENGTH, CHAPTER_START_TIME); // 2. Track the MediaHeartbeat.Event.ChapterStart event when the chapter starts to play. this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.ChapterStart, chapterDataInfo, chapterMetadata); ....... ....... // 3. Call trackPlay() when the playback actually starts, i.e., when the first // frame of the main content is rendered on the screen. this._mediaHeartbeat.trackPlay(); ....... ....... // 4. Track the MediaHeartbeat.Event.ChapterComplete event when the chapter // finishes playing. this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.ChapterComplete); ....... ....... // 5. Call trackComplete() when the playback reaches the end, i.e., when playback // completes and finishes playing. this._mediaHeartbeat.trackComplete(); ........ ........ // 6. Call trackSessionEnd() when the playback session is over. This method must be // called even if the user does not watch the media to completion. this._mediaHeartbeat.trackSessionEnd(); ........ ........