Show Menu
TOPICS×

Riproduzione VOD con un capitolo ignorato

Scenario

In questo scenario, l'utente salta un capitolo nel contenuto principale.
Questo è lo stesso scenario della riproduzione VOD con un capitolo , tranne che l'utente in questo caso intende cercare fuori dal capitolo, saltando così il contenuto principale.
Attivatore
Metodo Heartbeat
Chiamate di rete
Note
Clic utente
Play
trackSessionStart
Inizio contenuto Analytics, Inizio contenuto Heartbeat
La libreria delle misurazioni non è a conoscenza della presenza di un annuncio pre-roll. Queste chiamate di rete sono ancora esattamente le stesse di Playback senza interruzioni nello scenario iOS .
Il capitolo inizia.
trackEvent:ChapterStart
Heartbeat Chapter Start
Viene riprodotto il primo fotogramma del capitolo.
trackPlay
Heartbeat Chapter Play
Quando il contenuto del capitolo viene riprodotto prima del contenuto principale, desideriamo iniziare il heartbeat all'inizio del capitolo.
Il capitolo suona.
Capitolo Heartbeat
Cerca inizia a saltare il primo capitolo.
trackEvent:trackSeekStart
Nessun battito cardiaco durante la ricerca
La ricerca è completa.
trackEvent:trackSeekComplete
Heartbeat riprenderebbe dopo questo.
L'applicazione si rende conto che l'utente ha cercato di uscire dal normale limite dei capitoli.
trackEvent:trackChapterSkip
Il contenuto viene riprodotto.
Heartbeat di contenuto
La riproduzione del contenuto viene completata.
trackComplete
Heartbeat Content Complete
Questa chiamata di rete è esattamente la stessa della riproduzione senza interruzioni nello scenario iOS .
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 supporto al termine.

Parametri

I parametri utilizzati durante la riproduzione dei capitoli sono identici ai parametri della riproduzione VOD con uno scenario di capitolo , fatta eccezione per il fatto che non esiste una chiamata di rete completa dei capitoli.

Codice di esempio

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> 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); ...... ...... // 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); // 2. Track the MediaHeartbeat.Event.ChapterStart event when the chapter starts to play. _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. _mediaHeartbeat.trackPlay(); ....... ....... // 4. Track the MediaHeartbeat.Event.SeekStart event when the user begins to seek out // of the chapter with the intent to skip it. _mediaHeartbeat.trackEvent(MediaHeartbeat.Event.SeekStart, null, null); ....... ....... // 5. Track the MediaHeartbeat.Event.SeekComplete event when the user seeks out of the // chapter with the intent to skip it. _mediaHeartbeat.trackEvent(MediaHeartbeat.Event.SeekComplete, null, null); ....... ....... // 6. Track the MediaHeartbeat.Event.ChapterSkip event because the user skipped the // chapter by seeking out of it in the steps above. _mediaHeartbeat.trackEvent(MediaHeartbeat.Event.ChapterSkip, null, null); ....... ....... // 7. Call trackComplete() when the playback reaches the end, i.e., when the media // completes and finishes playing. _mediaHeartbeat.trackComplete(); ........ ........ // 8. 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

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 *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's 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. Track the ADBMediaHeartbeatEventChapterStart event 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. Track the trackEvent:ADBMediaHeartbeatEventSeekStart event when the user // begins to seek out of the chapter with the intent to skip it. [_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventSeekStart mediaObject:nil data:nil]; ....... ....... // 5. Track the trackEvent:ADBMediaHeartbeatEventSeekComplete event when the // user seeks out of the chapter with the intent to skip it. [_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventSeekComplete mediaObject:nil data:nil]; ....... ....... // 6. Track the trackEvent:ADBMediaHeartbeatEventChapterSkip event because the // user skipped the chapter by seeking out of it in the steps above. [_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventChapterSkip mediaObject:chapterInfo data:chapterContextData]; ....... ....... // 7. Call trackComplete when the playback reaches the end, i.e., when the media // completes and finishes playing. [_mediaHeartbeat trackComplete]; ....... ....... // 8. 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

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., 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.SeekStart event when the user begins // to seek out of the chapter with the intent to skip it. this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.SeekStart); ....... ....... // 5. Track the MediaHeartbeat.Event.SeekComplete event when the user seeks // out of the chapter with the intent to skip it. this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.SeekComplete); ....... ....... // 6. Track the MediaHeartbeat.Event.ChapterSkip event because the user // skipped the chapter by seeking out of it in the steps above. this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.ChapterSkip); ....... ....... // 7. Call trackComplete() when the playback reaches the end, i.e., completes // and finishes playing. this._mediaHeartbeat.trackComplete(); ........ ........ // 8. 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(); ........ ........