Lecture VOD avec mise en mémoire tampon vod-playback-with-buffering
Scénario scenario
Dans ce scénario, une certaine mise en mémoire tampon survient lors de la lecture de contenu VOD.
Sauf indication contraire, les appels réseau dans ce scénario sont identiques à ceux du scénario Lecture VOD sans publicité.
Déclencheur
Méthode Heartbeat
Appels réseau
Remarques
L’utilisateur clique sur Lecture.
trackSessionStart
Analytics Content Start, Heartbeat Content Start
Il peut s’agir d’un utilisateur qui clique sur Lecture ou d’un événement de lecture automatique.
La première image de la vidéo s’affiche.
trackPlay
Heartbeat Content Play
Cette méthode déclenche le minuteur. Les pulsations sont envoyées toutes les 10 secondes tant que la lecture se poursuit.
Le contenu est lu.
Content Heartbeats
La mise en mémoire tampon commence.
trackEvent:BufferStart
Heartbeat Buffer
Le contenu est mis en mémoire tampon.
Content Heartbeats
La mise en mémoire tampon est terminée.
trackEvent:BufferComplete
Heartbeat Buffer, Heartbeat Play
Le contenu est lu.
Content Heartbeats
La lecture du contenu est terminée.
trackComplete
Heartbeat Content Complete
La fin du curseur de lecture a été atteinte.
La session est terminée.
trackSessionEnd
SessionEnd
correspond à la fin d’une session de visionnage. Cette API doit être appelée même si l’utilisateur ne regarde pas la vidéo jusqu’à la fin.Paramètres parameters
Heartbeat Buffer
Paramètre
Valeur
Remarques
s:event:type
"buffer"
Exemple de code sample-code
Dans ce scénario, la mise en mémoire tampon survient lors de la lecture de contenu VOD.
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 is an intent to start playback.
_mediaHeartbeat.trackSessionStart(mediaInfo, videoMetadata);
......
......
// 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. Track the MediaHeartbeat.Event.BufferStart event when the video player
// goes into the buffering state and begins to buffer content.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.BufferStart, null, null);
.......
.......
// 4. Track the MediaHeartbeat.Event.BufferComplete event when the video player
// goes into the buffering state and begins to buffer content.
_mediaHeartbeat.trackEvent(MediaHeartbeat.Event.BufferComplete, null, null);
.......
.......
// 5. Call trackComplete() when the playback reaches the end, i.e., when the
// video 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 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];
.......
.......
// 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. Track the trackEvent:ADBMediaHeartbeatEventBufferStart event when the
// video player goes in buffering state and begins to buffer content.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventBufferStart
mediaObject:nil
data:nil];
.......
.......
// 4. Track the trackEvent:ADBMediaHeartbeatEventBufferComplete event when
// the video player goes in buffering state and begins to buffer content.
[_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventBufferComplete
mediaObject:nil
data:nil];
.......
.......
// 5. Call trackComplete when the playback reaches the end, i.e., when the
// video 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 video to completion.
[_mediaHeartbeat trackSessionEnd];
.......
.......
JavaScript
Pour afficher ce scénario, 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);
......
......
// 2. Call trackPlay() when the playback actually starts, i.e., when the
// first frame of the ad video is rendered on the screen.
this._mediaHeartbeat.trackPlay();
.......
.......
// 3. Track event MediaHeartbeat.Event.BufferStart when the video player
// goes into the buffering state and begins to buffer content.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.BufferStart);
.......
.......
// 4. Track the MediaHeartbeat.Event.BufferComplete event when the
// video player goes into the buffering state and begins to buffer content.
this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.BufferComplete);
.......
.......
// 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 video to completion.
this._mediaHeartbeat.trackSessionEnd();
........
........
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb