Show Menu
TOPICS×

Riproduzione VOD con buffering

Scenario

In questo scenario, si verifica un buffering durante la riproduzione del contenuto VOD.
Se non viene specificato, le chiamate di rete in questo scenario sono le stesse delle chiamate nella riproduzione VOD senza scenari di annunci .
Attivatore  
Metodo Heartbeat
Chiamate di rete
Note  
Clic utente
Play
trackSessionStart
Inizio contenuto Analytics, Inizio contenuto Heartbeat
Può trattarsi di un clic dell'utente
Play
o di un evento di riproduzione automatica.
Viene riprodotto il primo fotogramma del video.
trackPlay
Heartbeat Content Play
Questo metodo attiva il timer. Gli heartbeat vengono inviati ogni 10 secondi fintanto che la riproduzione continua.
Il contenuto viene riprodotto.
Heartbeat di contenuto
Il buffering inizia.
trackEvent:BufferStart
Buffer Heartbeat
Il contenuto viene memorizzato nel buffer.
Heartbeat di contenuto
Il buffering è completo.
trackEvent:BufferComplete
Buffer Heartbeat, Heartbeat Play
Il contenuto viene riprodotto.
Heartbeat di contenuto
La riproduzione del contenuto viene completata.
trackComplete
Heartbeat Content Complete
È stata raggiunta la fine del playhead.
La sessione è finita.
trackSessionEnd
SessionEnd
indica la fine di una sessione di visualizzazione. Questa API deve essere chiamata anche se l'utente non guarda il video al termine.

Parametri

Buffer Heartbeat

Parametro
Valore
Note
s:event:type
"buffer"

Codice di esempio

In questo scenario, il buffering si verifica quando il contenuto VOD viene riprodotto.

Android

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

Per visualizzare questo scenario in iOS, imposta il seguente codice:
// 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

Per visualizzare questo scenario, immettere il testo seguente:
// 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(); ........ ........