Dans ce scénario, des publicités preroll ont été insérées avant le contenu principal. Sauf indication contraire, les appels réseau sont identiques à ceux du scénario Lecture VOD sans publicité. L’appel réseau se produit simultanément, mais la charge utile est différente.
| Déclencheur | Méthode Heartbeat | Appels réseau | Remarques |
|---|---|---|---|
| L’utilisateur clique sur Lecture. | trackSessionStart |
Analytics Content Start, Heartbeat Content Start | Étant donné que la bibliothèque de mesures ignore la présence d’une publicité preroll, ces appels réseau sont toujours identiques au scénario Lecture VOD sans publicité. |
| La publicité démarre. |
|
Analytics Ad Start, Heartbeat Ad Start | |
| L’image de la publicité n° 1 s’affiche. | trackPlay |
Heartbeat Ad Play | Le contenu de la publicité est lu avant le contenu principal, et les pulsations démarrent dès que la publicité démarre. |
| La publicité est lue. | Ad Heartbeats | ||
| La lecture de la publicité n° 2 se termine. | trackEvent:trackAdComplete |
Heartbeat Ad Complete | La fin de la publicité est atteinte. |
| La première image de la publicité n° 2 s’affiche. | trackEvent:AdStart |
Analytics Ad Start, Heartbeat Ad Start | |
| La publicité est lue. | Ad Heartbeats | ||
| La lecture de la publicité n° 2 se termine. |
|
Heartbeat Ad Complete | La fin de la publicité et de la capsule est atteinte. |
| Le contenu est lu. | Content Heartbeats | Cet appel réseau est identique au scénario Lecture VOD sans publicité. | |
| Le contenu est terminé. | trackComplete |
Heartbeat Content Complete | Cet appel réseau est identique au scénario Lecture VOD sans publicité. |
| La session est terminée. | trackSessionEnd |
SessionEnd |
Lorsque la lecture de la publicité démarre, un appel Heartbeat Ad Start est envoyé. Si le début de la publicité ne correspond pas au minuteur de 10 secondes, l’appel Heartbeat Ad Start est retardé pendant quelques secondes pour être envoyé lors de l’intervalle de 10 secondes suivant. Dans ce cas, un appel Content Heartbeat est envoyé dans le même intervalle et vous pouvez distinguer les deux appels en observant le type d’événement et de ressource :
| Paramètre | Valeur | Remarques |
|---|---|---|
s:event:type |
start |
|
s:asset:type |
ad |
Les publicités suivent le même modèle de base que Content Heartbeats. Par conséquent, l’appel Ad Play est similaire à l’appel Content Play.
| Paramètre | Valeur | Remarques |
|---|---|---|
s:event:type |
play |
|
s:asset:type |
ad |
Ces paramètres sont identiques à l’appel Content Heartbeats, mais l’appel Ad Heartbeats comporte un certain nombre de paramètres supplémentaires :
| Paramètre | Valeur | Remarques |
|---|---|---|
s:event:type |
play |
|
s:asset:type |
ad |
|
s:asset:ad_id |
<Identifiant de publicité> | |
s:asset:pod_id |
<Identifiant de capsule publicitaire> |
Tout comme pour les appels Heartbeat Content Complete, un appel Heartbeat Ad Complete est envoyé lorsque la lecture de la publicité est terminée et que le curseur de lecture a atteint la fin de sa course. Cet appel ressemble aux autres appels Heartbeat Ad, mais il contient certains éléments spécifiques :
| Paramètre | Valeur | Remarques |
|---|---|---|
s:event:type |
complete |
|
s:asset:type |
ad |
Dans ce scénario, le contenu VOD est constitué d’une publicité preroll, puis d’une seconde. Le contenu est ensuite lu.

Android Pour afficher ce scénario dans Android, configurez le code suivant :
// Set up mediaObject
MediaObject mediaInfo = MediaHeartbeat.createMediaObject(
Configuration.MEDIA_NAME,
Configuration.MEDIA_ID,
Configuration.MEDIA_LENGTH,
MediaHeartbeat.StreamType.VOD
);
HashMap<String, String> videoMetadata = new HashMap<String, String>();
videoMetadata.put(CUSTOM_KEY_1, CUSTOM_VAL_1);
videoMetadata.put(CUSTOM_KEY_2, CUSTOM_VAL_2);
// 1. Call trackSessionStart() when the user clicks Play or if autoplay is used,
// i.e., there's an intent to start playback.
_mediaHeartbeat.trackSessionStart(mediaInfo, videoMetadata);
......
......
// Pre-roll
MediaObject adBreakInfo =
MediaHeartbeat.createAdBreakObject(ADBREAK_NAME,
ADBREAK_POSITION,
ADBREAK_START_TIME);
MediaObject adInfo =
MediaHeartbeat.createAdObject(AD_NAME,
AD_ID,
AD_POSITION,
AD_LENGTH);
// Context ad data
HashMap<String, String> adMetadata = new HashMap<String, String>();
adMetadata.put(CUSTOM_KEY_1, CUSTOM_VAL_1);
adMetadata.put(CUSTOM_KEY_2, CUSTOM_VAL_2);
// 2. Track the MediaHeartbeat.Event.AdBreakStart event when the pre-roll pod starts
// to play. Note that since this is a pre-roll, call must track the
// "MediaHeartbeat.Event.AdBreakStart" event before you call trackPlay().
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakInfo, null);
.......
.......
// 3. Track the MediaHeartbeat.Event.AdStart event when the pre-roll pod's ad starts
// to play. Note that since this is a pre-roll, you must track the
// "MediaHeartbeat.Event.AdStart" event before you call trackPlay().
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdStart, adInfo, adMetadata);
.......
.......
// 4. Call trackPlay() when the playback actually starts, i.e., when the first frame
// of the ad video is rendered on the screen.
_mediaHeartbeat.trackPlay();
.......
.......
// 5. Track the MediaHeartbeat.Event.AdComplete event when the ad reaches the end,
// i.e., when the ad completes and finishes playing.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdComplete, null, null);
.......
.......
// 6. Track the MediaHeartbeat.Event.AdStart event when the pre-roll pod's second ad
// starts to play.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdStart, adInfo, adMetadata);
.......
.......
// 7. Track the MediaHeartbeat.Event.AdComplete event when the second ad reaches the
// end, i.e., the second ad completes and finishes playing.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdComplete, null, null);
.......
.......
// 8. Track the MediaHeartbeat.Event.AdBreakComplete event when all of the ads in the
// pod finish playing.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakComplete, null, null);
.......
.......
// 9. Call trackComplete() when the playback reaches the end, i.e., when the video
// completes and finishes playing.
_mediaHeartbeat.trackComplete();
........
........
// 10. Call trackSessionEnd() when the playback session is over. This method must be
// called even if the user does not watch the video to completion.
_mediaHeartbeat.trackSessionEnd();
........
........
iOS Pour afficher ce scénario dans iOS, configurez le code suivant :
// Set up mediaObject
ADBMediaObject *mediaObject =
[ADBMediaHeartbeat createMediaObjectWithName:MEDIA_NAME
length:MEDIA_LENGTH
streamType:ADBMediaHeartbeatStreamTypeVOD];
NSMutableDictionary *videoContextData = [[NSMutableDictionary alloc] init];
[videoContextData setObject:CUSTOM_VAL_1 forKey:CUSTOM_KEY_1];
[videoContextData 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:videoContextData];
.......
.......
// Pre-roll
ADBMediaObject *adBreakInfo =
[ADBMediaHeartbeat createAdBreakObjectWithName:AD_BREAK_NAME
position:AD_BREAK_POSITION
startTime:AD_BREAK_START_TIME];
ADBMediaObject *adInfo =
[ADBMediaHeartbeat createAdObjectWithName:AD_NAME
adId:AD_ID
position:AD_POSITION
length:AD_LENGTH];
// context ad data
NSMutableDictionary *adDictionary = [[NSMutableDictionary alloc] init];
[adDictionary setObject:@"custom-val1" forKey:@"custom-key1"];
[adDictionary setObject:@"custom-val2" forKey:@"custom-key2"];
// 2. Track the ADBMediaHeartbeatEventAdBreakStart event when the pre-roll pod
// starts to play. Note that since this is a pre-roll, you must track the
// "ADBMediaHeartbeatEventAdBreakStart" event before you call trackPlay.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdBreakStart
mediaObject:adBreakObject
data:nil];
.......
.......
// 3. Track the ADBMediaHeartbeatEventAdStart event when the pre-roll pod's
// ad starts to play. Note that since this is a pre-roll, you must track
// the "ADBMediaHeartbeatEventAdStart" event before you call trackPlay.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdStart
mediaObject:adObject
data:adDictionary];
.......
.......
// 4. Call trackPlay when the playback actually starts, i.e., when the
// first frame of the main content is rendered on the screen.
[_mediaHeartbeat trackPlay];
.......
.......
// 5. Track the ADBMediaHeartbeatEventAdComplete event when the ad reaches
// the end, i.e., when the video completes and finishes playing.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdComplete
mediaObject:nil
data:nil];
.......
.......
// 6. Track the ADBMediaHeartbeatEventAdStart event when the pre-roll pod's
// second ad starts to play.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdStart
mediaObject:adBreakObject
data:nil];
.......
.......
// 7. Track the ADBMediaHeartbeatEventAdComplete event when the second ad
// reaches the end, i.e., it completes and finishes playing.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdComplete
mediaObject:nil
data:nil];
.......
.......
// 8. Track the ADBMediaHeartbeatEventAdBreakComplete event when all the
// ads in the pod finish playing.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdBreakComplete
mediaObject:adBreakObject
data:nil];
.......
.......
// 9. Call trackComplete when the playback reaches the end, i.e., when the
// video completes and finishes playing.
[_mediaHeartbeat trackComplete];
.......
.......
// 10. Call trackSessionEnd when the playback session is over. This method
// must be called even if the user does not watch the video to completion.
[_mediaHeartbeat trackSessionEnd];
.......
.......
JavaScript Pour afficher ce scénario dans JavaScript, saisissez le texte suivant :
// Set up mediaObject
var mediaInfo =
MediaHeartbeat.createMediaObject(Configuration.MEDIA_NAME,
Configuration.MEDIA_ID,
Configuration.MEDIA_LENGTH,MediaHeartbeat.StreamType.VOD);
var videoMetadata = {
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, videoMetadata);
......
......
// Preroll
var adBreakInfo =
MediaHeartbeat.createAdBreakObject(ADBREAK_NAME, ADBREAK_POSITION, ADBREAK_START_TIME);
var adInfo =
MediaHeartbeat.createAdObject(AD_NAME, AD_ID, AD_POSITION, AD_LENGTH);
// Custom ad metadata
var adMetadata = {
CUSTOM_AD_KEY_1 : CUSTOM_AD_VAL_1,
CUSTOM_AD_KEY_2 : CUSTOM_AD_VAL_2
};
// 2. Track the MediaHeartbeat.Event.AdBreakStart event when the preroll pod starts to play.
// Note that since this is a preroll, track the MediaHeartbeat.Event.AdBreakStart
// event before you call trackPlay().
this._mediaheartbeat.trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakInfo, null);
.......
.......
// 3. Track the MediaHeartbeat.Event.AdStart event when the preroll pod's ad starts to play.
// Note that since this is a preroll, track the MediaHeartbeat.Event.AdStart event before
// you call trackPlay().
this._mediaheartbeat.trackEvent(MediaHeartbeat.Event.AdStart, adInfo, adMetadata);
.......
.......
// 4. Call trackPlay() when the playback actually starts, i.e., the first frame of the
main content is rendered on the screen.
this._mediaHeartbeat.trackPlay();
.......
.......
// 5. Track event MediaHeartbeat.Event.AdComplete when the ad reaches the end,
// i.e., when it completes and finishes playing.
this._mediaheartbeat.trackEvent(MediaHeartbeat.Event.AdComplete);
.......
.......
// 6. Track the MediaHeartbeat.Event.AdStart event when the preroll pod's second
// ad starts to play.
this._mediaheartbeat.trackEvent(MediaHeartbeat.Event.AdStart, adInfo, adMetadata);
.......
.......
// 7. Track the MediaHeartbeat.Event.AdComplete event when the second ad reaches
// the end, i.e., when it completes and finishes playing.
this._mediaheartbeat.trackEvent(MediaHeartbeat.Event.AdComplete);
.......
.......
// 8. Track the MediaHeartbeat.Event.AdBreakComplete event when all the ads
// in the pod finish playing.
this._mediaheartbeat.trackEvent(MediaHeartbeat.Event.AdBreakComplete);
.......
.......
// 9. Call trackComplete() when the playback reaches the end, i.e., when it
// completes and finishes playing.
this._mediaHeartbeat.trackComplete();
// 10. Call trackSessionEnd() when the playback session is over. This method must
// be called even if the user does not watch the video to completion.
this._mediaHeartbeat.trackSessionEnd();
.......
.......
Dans ce scénario, le contenu VOD est lu avec une publicité preroll, le contenu, une publicité mid-roll, le contenu et une publicité post-roll.

Android Pour afficher ce scénario dans Android, configurez le code suivant :
// Set up mediaObject
MediaObject mediaInfo = MediaHeartbeat.createMediaObject(
Configuration.MEDIA_NAME,
Configuration.MEDIA_ID,
Configuration.MEDIA_LENGTH,
MediaHeartbeat.StreamType.VOD
);
HashMap<String, String> videoMetadata = new HashMap<String, String>();
videoMetadata.put(CUSTOM_KEY_1, CUSTOM_VAL_1);
videoMetadata.put(CUSTOM_KEY_2, CUSTOM_VAL_2);
// 1. Call trackSessionStart() when the user clicks Play or if autoplay is used,
// i.e., there's an intent to start playback.
_mediaHeartbeat.trackSessionStart(mediaInfo, videoMetadata);
......
......
// Pre-roll
MediaObject adBreakInfo =
MediaHeartbeat.createAdBreakObject(ADBREAK_NAME,
ADBREAK_POSITION,
ADBREAK_START_TIME);
MediaObject adInfo = MediaHeartbeat.createAdObject(AD_NAME,
AD_ID,
AD_POSITION,
AD_LENGTH);
// Context ad data
HashMap<String, String> adMetadata = new HashMap<String, String>();
adMetadata.put(CUSTOM_KEY_1, CUSTOM_VAL_1);
adMetadata.put(CUSTOM_KEY_2, CUSTOM_VAL_2);
// 2. Track the MediaHeartbeat.Event.AdBreakStart event when the pre-roll pod
// starts to play. Note that since this is a pre-roll, you must track the
// "MediaHeartbeat.Event.AdBreakStart" event before you call trackPlay().
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakInfo, null);
.......
.......
// 3. Track the MediaHeartbeat.Event.AdStart event when the pre-roll pod's ad
// starts to play. Note that since this is a pre-roll, you must track the
// "MediaHeartbeat.Event.AdStart" event before you call trackPlay().
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdStart, adInfo, adMetadata);
.......
.......
// 4. Call trackPlay() when the playback actually starts, i.e., when the first
// frame of the main content is rendered on the screen.
_mediaHeartbeat.trackPlay();
.......
.......
// 5. Track the MediaHeartbeat.Event.AdComplete event when the ad reaches the end,
// i.e., when the ad completes and finishes playing.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdComplete, null, null);
.......
.......
// 6. Track the MediaHeartbeat.Event.AdBreakComplete event when all of the ads in
//; the pod finish playing.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakComplete, null, null);
.......
.......
// Mid-roll
MediaObject adBreakInfo =
MediaHeartbeat.createAdBreakObject(mid-roll_BREAK_NAME,
mid-roll_BREAK_POSITION,
mid-roll_BREAK_START_TIME);
MediaObject adInfo =
MediaHeartbeat.createAdObject(mid-roll_AD_NAME,
mid-roll_AD_ID,
mid-roll_AD_POSITION,
mid-roll_AD_LENGTH);
// Context ad data
HashMap<String, String> adMetadata = new HashMap<String, String>();
adMetadata.put(CUSTOM_KEY_1, CUSTOM_VAL_1);
adMetadata.put(CUSTOM_KEY_2, CUSTOM_VAL_2);
// 7. Track the MediaHeartbeat.Event.AdBreakStart event when the mid-roll pod
// starts to play.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakInfo, null);
.......
.......
// 8. Track the MediaHeartbeat.Event.AdStart event when the mid-roll pod's ad
// starts to play.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdStart, adInfo, adMetadata);
.......
.......
// 9. Track the MediaHeartbeat.Event.AdComplete event when the ad reaches the end,
// i.e., when the adcompletes and finishes playing.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdComplete, null, null);
.......
.......
// 10. Track the MediaHeartbeat.Event.AdBreakComplete event when all the ads in the
// mid-roll pod finish playing.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakComplete, null, null);
.......
.......
// Post-roll
MediaObject adBreakInfo =
MediaHeartbeat.createAdBreakObject(POSTROLL_BREAK_NAME,
POSTROLL_BREAK_POSITION,
POSTROLL_BREAK_START_TIME);
MediaObject adInfo =
MediaHeartbeat.createAdObject(POSTROLL_AD_NAME,
POSTROLL_AD_ID,
POSTROLL_AD_POSITION,
POSTROLL_AD_LENGTH);
// Context ad data
HashMap<String, String> adMetadata = new HashMap<String, String>();
adMetadata.put(CUSTOM_KEY_1, CUSTOM_VAL_1);
adMetadata.put(CUSTOM_KEY_2, CUSTOM_VAL_2);
// 11. Track the MediaHeartbeat.Event.AdBreakStart event when the post-roll pod
// starts to play.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakInfo, null);
.......
.......
// 12. Track the MediaHeartbeat.Event.AdStart event when the post-roll pod's
// ad starts to play.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdStart, adInfo, adMetadata);
.......
.......
// 13. Track the MediaHeartbeat.Event.AdComplete event when the ad reaches the
// end, i.e., when the ad completes and finishes playing.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdComplete, null, null);
.......
.......
// 14. Track the MediaHeartbeat.Event.AdBreakComplete event when all the ads in
// the post-roll pod finish playing.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakComplete, null, null);
.......
.......
// 15. Call trackComplete() when the playback reaches the end, i.e., when the
// video completes and finishes playing.
_mediaHeartbeat.trackComplete();
........
........
// 16. Call trackSessionEnd() when the playback session is over. This method
// must be called even if the user does not watch the video to completion.
_mediaHeartbeat.trackSessionEnd();
........
........
iOS Pour afficher ce scénario dans iOS, configurez le code suivant :
// Set up mediaObject
ADBMediaObject *mediaObject =
[ADBMediaHeartbeat createMediaObjectWithName:MEDIA_NAME
length:MEDIA_LENGTH
streamType:ADBMediaHeartbeatStreamTypeVOD];
NSMutableDictionary *videoContextData =
[[NSMutableDictionary alloc] init];
[videoContextData setObject:CUSTOM_VAL_1 forKey:CUSTOM_KEY_1];
[videoContextData 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:videoContextData];
.......
.......
// Pre-roll
ADBMediaObject *adBreakInfo =
[ADBMediaHeartbeat createAdBreakObjectWithName:AD_BREAK_NAME
position:AD_BREAK_POSITION
startTime:AD_BREAK_START_TIME];
ADBMediaObject *adInfo =
[ADBMediaHeartbeat createAdObjectWithName:AD_NAME
adId:AD_ID
position:AD_POSITION
length:AD_LENGTH];
// Context ad data
NSMutableDictionary *adDictionary =
[[NSMutableDictionary alloc] init];
[adDictionary setObject:@"custom-val1" forKey:@"custom-key1"];
[adDictionary setObject:@"custom-val2" forKey:@"custom-key2"];
// 2. Track the ADBMediaHeartbeatEventAdBreakStart event when the
// pre-roll pod starts to play. Note that since this is a pre-roll,
// you must track the ADBMediaHeartbeatEventAdBreakStart event
// before you call trackPlay.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdBreakStart
mediaObject:adBreakObject
data:adDictionary];
.......
.......
// 3. Track the ADBMediaHeartbeatEventAdStart when the pre-roll
// pod's ad starts to play. Note that since this is a pre-roll,
// you must track the ADBMediaHeartbeatEventAdStart before you
// call trackPlay.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdStart
mediaObject:adObject
data:adDictionary];
.......
.......
// 4. Call trackPlay when the playback actually starts, i.e., when
// the first frame of the main content is rendered on the screen.
[_mediaHeartbeat trackPlay];
.......
.......
// 5. Track the ADBMediaHeartbeatEventAdComplete event when the ad
// reaches the end, i.e., when it completes and finishes playing.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdComplete
mediaObject:nil
data:nil];
.......
.......
// 6. Track the ADBMediaHeartbeatEventAdBreakComplete event when all
// of the ads in the pod finish playing.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdBreakComplete
mediaObject:nil
data:nil];
.......
.......
// Mid-roll
ADBMediaObject *adBreakInfo =
[ADBMediaHeartbeat createAdBreakObjectWithName:MIDROLL_BREAK_NAME
position:MIDROLL_BREAK_POSITION
startTime:MIDROLL_BREAK_START_TIME];
ADBMediaObject *adInfo =
[ADBMediaHeartbeat createAdObjectWithName:MIDROLL_AD_NAME
adId:MIDROLL_AD_ID position:MIDROLL_AD_POSITION
length:MIDROLL_AD_LENGTH];
// context ad data
NSMutableDictionary *midrollAdDictionary = [[NSMutableDictionary alloc] init];
[midrollAdDictionary setObject:@"custom-val1" forKey:@"custom-key1"];
[midrollAdDictionary setObject:@"custom-val2" forKey:@"custom-key2"];
// 7. Track the ADBMediaHeartbeatEventAdBreakStart event when the mid-roll pod
// starts to play.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdBreakStart
mediaObject:adBreakObject
data:nil];
.......
.......
// 8. Track the ADBMediaHeartbeatEventAdStart event when the mid-roll pod's
// ad starts to play.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdStart
mediaObject:adObject
data:midrollAdDictionary];
.......
.......
// 9. Track the ADBMediaHeartbeatEventAdComplete event when the ad reaches
// the end, i.e., when it completes and finishes playing.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdComplete
mediaObject:nil
data:nil];
.......
.......
// 10. Track the ADBMediaHeartbeatEventAdBreakComplete event when all the
// ads in the mid-roll pod finish playing.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdBreakComplete
mediaObject:nil
data:nil];
.......
.......
// Post-roll
ADBMediaObject *postrollBreakInfo =
[ADBMediaHeartbeat createAdBreakObjectWithName:POSTROLL_BREAK_NAME
position:POSTROLL_BREAK_POSITION
startTime:POSTROLL_BREAK_START_TIME];
ADBMediaObject *adInfo =
[ADBMediaHeartbeat createAdObjectWithName:POSTROLL_AD_NAME
adId:POSTROLL_AD_ID
position:POSTROLL_AD_POSITION
length:POSTROLL_AD_LENGTH];
// Context ad data
NSMutableDictionary *postrollAdDictionary =
[[NSMutableDictionary alloc] init];
[postrollAdDictionary setObject:@"custom-val1" forKey:@"custom-key1"];
[postrollAdDictionary setObject:@"custom-val2" forKey:@"custom-key2"];
// 11. Track the ADBMediaHeartbeatEventAdBreakStart event when the
// post-roll pod starts to play.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdBreakStart
mediaObject:adBreakObject
data:nil];
.......
.......
// 12. Track the ADBMediaHeartbeatEventAdStart event when the
// post-roll pod's ad starts to play.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdStart
mediaObject:adObject
data:postrollAdDictionary];
.......
.......
// 13. Track the ADBMediaHeartbeatEventAdComplete event when the
// post-roll pod's ad finishes playing.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdComplete
mediaObject:nil
data:nil];
.......
.......
// 14. Track the ADBMediaHeartbeatEventAdBreakComplete event when
// all the ads in the post-roll pod finish playing.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdBreakComplete
mediaObject:nil data:nil];
.......
.......
// 15. Call trackComplete when the playback reaches the end,
// i.e., when the video completes and finishes playing.
[_mediaHeartbeat trackComplete];
.......
.......
// 16. Call trackSessionEnd when the playback session is over. This method
// must be called even if the user does not watch the video to completion.
[_mediaHeartbeat trackSessionEnd];
.......
.......
JavaScript Pour afficher ce scénario dans JavaScript, saisissez le texte suivant :
// Set up mediaObject
MediaObject mediaInfo = MediaHeartbeat.createMediaObject(
Configuration.MEDIA_NAME,
Configuration.MEDIA_ID,
Configuration.MEDIA_LENGTH,
MediaHeartbeat.StreamType.VOD
);
var videoMetadata = {
CUSTOM_KEY_1 : CUSTOM_VAL_1,
CUSTOM_KEY_2 : CUSTOM_VAL_2,
CUSTOM_KEY_3 : CUSTOM_VAL_
};
// 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, videoMetadata);
......
......
// Preroll
var adBreakInfo =
MediaHeartbeat.createAdBreakObject(ADBREAK_NAME,
ADBREAK_POSITION,
ADBREAK_START_TIME);
var adInfo =
MediaHeartbeat.createAdObject(AD_NAME,
AD_ID,
AD_POSITION,
AD_LENGTH);
// Custom ad metadata
var adMetadata = {
CUSTOM_KEY_1 : CUSTOM_VAL_1,
CUSTOM_KEY_2 : CUSTOM_VAL_2
};
// 2. Track the MediaHeartbeat.Event.AdBreakStart event when the preroll pod
// starts to play. Note that since this is a preroll, you must track the
// MediaHeartbeat.Event.AdBreakStart event before you call trackPlay().
this._trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakInfo, null);
.......
.......
// 3. Track the MediaHeartbeat.Event.AdStart event when the preroll pod's ad
// starts to play. Note that since this is a preroll, you must track the
// MediaHeartbeat.Event.AdStart event before you call trackPlay().
this._heartbeat.trackEvent(MediaHeartbeat.Event.AdStart, adInfo, adMetadata);
.......
.......
// 4. Call trackPlay() when the main content actually starts, i.e., when the
// first frame of the video content is rendered on the screen.
this._mediaHeartbeat.trackPlay();
.......
.......
// 5. Track the MediaHeartbeat.Event.AdComplete event when the ad reaches the end,
// i.e., when the ad completes and finishes playing.
this._heartbeat.trackEvent(MediaHeartbeat.Event.AdComplete, null, null);
.......
.......
// 6. Track the MediaHeartbeat.Event.AdBreakComplete event when all of the ads in
// the pod finish playing.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakComplete);
.......
.......
// Midroll
var adBreakInfo =
MediaHeartbeat.createAdBreakObject(MIDROLL_BREAK_NAME,
MIDROLL_BREAK_POSITION,
MIDROLL_BREAK_START_TIME);
var adInfo =
MediaHeartbeat.createAdObject(MIDROLL_AD_NAME,
MIDROLL_AD_ID,
MIDROLL_AD_POSITION,
MIDROLL_AD_LENGTH);
// Custom ad metadata
var adMetadata = {
CUSTOM_KEY_1 : CUSTOM_VAL_1,
CUSTOM_KEY_2 : CUSTOM_VAL_2
};
// 7. Track the MediaHeartbeat.Event.AdBreakStart event when the
// midroll pod starts to play.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakInfo);
.......
.......
// 8. Track the MediaHeartbeat.Event.AdStart event when the midroll
// pod's ad starts to play.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdStart,
adInfo,
adMetadata);
.......
.......
// 9. Track the MediaHeartbeat.Event.AdComplete event when the ad
// reaches the end, i.e., when the ad completes and finishes playing.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdComplete);
.......
.......
// 10. Track the MediaHeartbeat.Event.AdBreakComplete event when all of
// the ads in the midroll pod finish playing.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakComplete);
.......
.......
// Set up mediaObject
var mediaInfo = MediaHeartbeat.createMediaObject(
Configuration.MEDIA_NAME,
Configuration.MEDIA_ID,
Configuration.MEDIA_LENGTH,
MediaHeartbeat.StreamType.VOD
);
var videoMetadata = {
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, videoMetadata);
......
......
// Preroll
var adBreakInfo =
MediaHeartbeat.createAdBreakObject(ADBREAK_NAME,
ADBREAK_POSITION,
ADBREAK_START_TIME);
var adInfo =
MediaHeartbeat.createAdObject(AD_NAME,
AD_ID,
AD_POSITION,
AD_LENGTH);
// Custom ad metadata
var adMetadata = {
CUSTOM_KEY_1 : CUSTOM_VAL_1,
CUSTOM_KEY_2 : CUSTOM_VAL_2
};
// 2. Track the MediaHeartbeat.Event.AdBreakStart event when the preroll pod
// starts to play. Note that since this is a preroll, you must track the
// MediaHeartbeat.Event.AdBreakStart event before you call trackPlay().
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakInfo);
.......
.......
// 3. Track the MediaHeartbeat.Event.AdStart event when the preroll pod's
// ad starts to play. Note that since this is a preroll, you must track
// the MediaHeartbeat.Event.AdStart event before you call trackPlay().
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdStart, adInfo, adMetadata);
.......
.......
// 4. Call trackPlay() when the playback actually starts, i.e., when the first
// frame of the main content is rendered on the screen.
_mediaHeartbeat.trackPlay();
.......
.......
// 5. Track the MediaHeartbeat.Event.AdComplete event when the ad reaches
// the end, i.e., when the ad completes and finishes playing.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdComplete);
.......
.......
// 6. Track the MediaHeartbeat.Event.AdBreakComplete event when all
// of the ads in the pod finish playing.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakComplete);
.......
.......
// Mid-roll
var adBreakInfo =
MediaHeartbeat.createAdBreakObject(MIDROLL_BREAK_NAME,
MIDROLL_BREAK_POSITION,
MIDROLL_BREAK_START_TIME);
var adInfo =
MediaHeartbeat.createAdObject(MIDROLL_AD_NAME,
MIDROLL_AD_ID,
MIDROLL_AD_POSITION,
MIDROLL_AD_LENGTH);
// Custom ad metadata
var adMetadata = {
CUSTOM_KEY_1 : CUSTOM_VAL_1,
CUSTOM_KEY_2 : CUSTOM_VAL_2
};
// 7. Track the MediaHeartbeat.Event.AdBreakStart event when the midroll
// pod starts to play.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakInfo);
.......
.......
// 8. Track the MediaHeartbeat.Event.AdStart event when the midroll pod's
// ad starts to play.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdStart, adInfo, adMetadata);
.......
.......
// 9. Track the MediaHeartbeat.Event.AdComplete event when the ad reaches
// the end, i.e., when the ad completes and finishes playing.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdComplete);
.......
.......
// 10. Track the MediaHeartbeat.Event.AdBreakComplete event when all
// of the ads in the midroll pod finish playing.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakComplete);
.......
.......
// Postroll
var adBreakInfo = MediaHeartbeat.createAdBreakObject(POSTROLL_BREAK_NAME,
POSTROLL_BREAK_POSITION, POSTROLL_BREAK_START_TIME);
var adInfo = MediaHeartbeat.createAdObject(POSTROLL_AD_NAME, POSTROLL_AD_ID,
POSTROLL_AD_POSITION, POSTROLL_AD_LENGTH);
// Custom ad metadata
var adMetadata = {
CUSTOM_KEY_1 : CUSTOM_VAL_1,
CUSTOM_KEY_2 : CUSTOM_VAL_2
};
// 11. Track the MediaHeartbeat.Event.AdBreakStart event when the postroll
// pod starts to play.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakInfo);
.......
.......
// 12. Track the MediaHeartbeat.Event.AdStart event when the postroll pod's ad
// starts to play.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdStart, adInfo, adMetadata);
.......
.......
// 13. Track the MediaHeartbeat.Event.AdComplete event when the ad reaches
// the end, i.e., when the ad completes and finishes playing.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdComplete);
.......
.......
// 14. Track the MediaHeartbeat.Event.AdBreakComplete event when all of
// the ads in the postroll pod finish playing.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakComplete);
.......
.......
// 15. Call trackComplete() when the playback reaches the end, i.e., when playback
// completes and finishes playing.
this._mediaHeartbeat.trackComplete();
........
........
// 16. Call trackSessionEnd() when the playback session is over. This method must be called
// even if the user does
not watch the video to completion.
this._mediaHeartbeat.trackSessionEnd();
........
........