In questo scenario, una parte del contenuto VOD viene contrassegnata come capitolo.
Se non viene specificato, le chiamate di rete in questo scenario sono le stesse delle chiamate nella riproduzione VOD senza scenari di annunci . La chiamata di rete avviene contemporaneamente, ma il payload è diverso.
Attivatore | Metodo Heartbeat | Chiamate di rete | Note |
---|---|---|---|
Clic utente Play | trackSessionStart |
Inizio contenuto Analytics, Inizio contenuto Heartbeat | Non abbiamo ancora detto alla libreria delle misurazioni che c’è un annuncio pre-roll, quindi queste chiamate di rete sono ancora esattamente le stesse di Single VoD. |
Il capitolo inizia. | trackEvent:ChapterStart |
Heartbeat Chapter Start | |
Viene riprodotto il primo fotogramma del capitolo. | trackPlay |
Heartbeat Content Play | Quando il contenuto dei capitoli viene riprodotto prima del contenuto principale, i heartbeat iniziano quando inizia il capitolo. |
Il capitolo suona. | Capitolo Heartbeat | ||
Il capitolo è completo. | trackEvent:trackChapterComplete |
Heartbeat Capitolo completo | Questo avviene quando viene raggiunta la fine del capitolo. |
Il contenuto viene riprodotto. | Heartbeat di contenuto | Questa chiamata di rete è esattamente la stessa della riproduzione VOD senza scenari di annunci . | |
Il contenuto è completo. | trackComplete |
Heartbeat Content Complete | Questa chiamata di rete è esattamente la stessa della riproduzione VOD senza scenari di annunci . |
La sessione è finita. | trackSessionEnd |
SessionEnd indica che è stata raggiunta la fine di una sessione di visualizzazione. Questa API deve essere chiamata anche se l’utente non guarda il supporto al termine. |
Quando inizia la riproduzione di un capitolo, viene Heartbeat Chapter Start
inviata una chiamata. Se l’inizio del capitolo non coincide con il timer di 10 secondi, la Heartbeat Chapter Start
chiamata viene ritardata di alcuni secondi e la chiamata va al successivo intervallo di 10 secondi.
In questo caso, una Content Heartbeat
chiamata viene effettuata nello stesso intervallo. Potete distinguere tra i due tipi esaminando il tipo di evento e il tipo di risorsa:
Parametro | Valore | Note |
---|---|---|
s:event:type |
"chapter_start" |
|
s:asset:type |
"main" |
|
s:stream:chapter_* |
Informazioni sul flusso specifiche per i dati del capitolo. | |
s:meta:* |
Capitolo con dati contestuali specifici. |
In questo scenario, parte del contenuto del VOD è un capitolo.
Per visualizzare questo scenario in Android, imposta il seguente codice:
// 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();
........
........
Per visualizzare questo scenario in iOS, imposta il seguente codice:
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];
.......
.......
Per visualizzare questo scenario in JavaScript, immettere il testo seguente:
// 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();
........
........
In questo scenario, il contenuto VOD viene riprodotto con un capitolo all’inizio della riproduzione.
Per visualizzare questo scenario in Android, imposta il seguente codice:
// 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();
........
........
Per visualizzare questo scenario in iOS, imposta il seguente codice:
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];
.......
.......
Per visualizzare questo scenario in JavaScript, immettere il testo seguente:
// 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();
........
........