VOD afspelen met één hoofdstuk vod-playback-with-one-chapter

Scenario scenario

In dit scenario wordt een gedeelte van de VOD-inhoud gemarkeerd als een hoofdstuk.

Tenzij gespecificeerd, zijn de netwerkvraag in dit scenario het zelfde als de vraag in de ​ playback van VOD zonder advertenties ​ scenario. De netwerkvraag gebeurt tezelfdertijd, maar de lading is verschillend.

Trigger
Hartslagmethode
Netwerkaanroepen
Notities
Gebruiker klikt Play
trackSessionStart
Start inhoud analyse, Start inhoud hartslag
We hebben de meetbibliotheek nog niet verteld dat er een pre-roll advertentie is, zodat deze netwerkvraag precies het zelfde als Enige VoD is.
Het hoofdstuk begint.
trackEvent:ChapterStart
Begin van hoofdstuk hartslag
Het eerste frame van het hoofdstuk wordt afgespeeld.
trackPlay
Hartslaginhoud afspelen
Wanneer de hoofdstukinhoud vóór hoofdinhoud wordt afgespeeld, begint de hartslag wanneer het hoofdstuk begint.
Het hoofdstuk speelt.
Hoofdstukbeats
Het hoofdstuk is voltooid.
trackEvent:trackChapterComplete
Hoofdstuk hartslag voltooid
Dit is wanneer het einde van het hoofdstuk is bereikt.
De inhoud wordt afgespeeld.
Content Heartbeats
Deze netwerkvraag is precies het zelfde als de ​ playback van VOD zonder advertenties ​ scenario.
De inhoud is voltooid.
trackComplete
Hartslaginhoud voltooid
Deze netwerkvraag is precies het zelfde als de ​ playback van VOD zonder advertenties ​ scenario.
De sessie is afgelopen.
trackSessionEnd
SessionEnd betekent dat het einde van een weergavesessie is bereikt. Deze API moet worden aangeroepen, zelfs als de gebruiker de media niet controleert om te worden voltooid.

Parameters parameters

Wanneer het afspelen van een hoofdstuk begint, wordt een Heartbeat Chapter Start -aanroep verzonden. Wanneer het begin van het hoofdstuk niet samenvalt met de timer van 10 seconden, wordt de aanroep van Heartbeat Chapter Start met een paar seconden vertraagd en gaat de aanroep naar het volgende interval van 10 seconden.

Wanneer dit gebeurt, gaat een Content Heartbeat vraag uit in het zelfde interval. U kunt onderscheid maken tussen de twee gebeurtenissen door het gebeurtenistype en het type element te bekijken:

Begin van hoofdstuk hartslag

Parameter
Waarde
Notities
s:event:type
"chapter_start"
s:asset:type
"main"
s:stream:chapter_*
Stroominformatie die specifiek is voor de hoofdstukgegevens.
s:meta:*
Hoofdstuk met specifieke contextgegevens.

Voorbeeldcode, hoofdstuk in het midden sample-code-chapter-in-the-middle

In dit scenario is een deel van de VOD-inhoud een hoofdstuk.

Android

Stel de volgende code in om dit scenario in Android weer te geven:

// 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

Stel de volgende code in om dit scenario in iOS weer te geven:

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

Voer de volgende tekst in om dit scenario in JavaScript weer te geven:

// 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();

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

Voorbeeldcode, hoofdstuk aan het begin sample-code-chapter-at-the-beginning

In dit scenario wordt VOD-inhoud met één hoofdstuk afgespeeld aan het begin van het afspelen.

Android

Stel de volgende code in om dit scenario in Android weer te geven:

// 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

Stel de volgende code in om dit scenario in iOS weer te geven:

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

Voer de volgende tekst in om dit scenario in JavaScript weer te geven:

// 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();

........
........
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb