Show Menu
TOPICS×

VOD-Wiedergabe mit übersprungenen Anzeigen

Szenario

Dieses Szenario umfasst eine VOD-Inhaltswiedergabe mit einer übersprungenen Anzeige.

Ein VOD mit einer übersprungenen Pre-Roll-Anzeige

Das ist dasselbe Szenario wie die VOD-Wiedergabe mit Pre-Roll-Anzeigen , bis auf die Tatsache, dass die Anwendung es dem Anwender ermöglicht, die Anzeige zu überspringen, etwa durch Klicken auf eine Schaltfläche „Überspringen“.
Auslöser  
Heartbeat-Methode 
Netzwerkaufrufe  
Hinweise  
Anwender klickt auf Abspielen
trackSessionStart()
Analytics Content Start, Heartbeat Content Start
Der Measurement Library ist nicht bekannt, dass es eine Pre-Roll-Anzeige gibt. Diese Netzwerkaufrufe sind noch mit dem Szenario VOD-Wiedergabe ohne Anzeigen identisch.
Die Anzeige beginnt.
  • trackEvent:AdBreakStart
  • trackEvent:AdStart
Analytics Ad Start, Heartbeat Ad Start
Das erste Bild der Anzeige wird wiedergegeben.
trackPlay()
Heartbeat Ad Play
Wenn Anzeigeninhalte vor dem Hauptinhalt wiedergegeben werden, starten Heartbeats beim Beginn der Anzeige.
Die Anzeige wird wiedergegeben.
Ad Heartbeats
Die Anzeige wird übersprungen.
trackEvent:trackAdSkip
Es wird kein Ad Complete-Netzwerkaufruf gesendet.
Der Inhalt wird wiedergegeben.
Content Heartbeats
Diese Netzwerkaufrufe sind mit dem Aufruf beim Szenario VOD-Wiedergabe ohne Anzeigen identisch.
Die Inhaltswiedergabe ist abgeschlossen.
trackComplete()
Heartbeat Content Complete
Dieser Netzwerkaufruf ist mit dem Aufruf beim Szenario VOD-Wiedergabe ohne Anzeigen identisch.
Die Sitzung ist beendet.
trackSessionEnd()
SessionEnd

Parameter

Die Parameter sind mit den Parametern im Szenario VOD-Wiedergabe mit Pre-Roll-Anzeigen identisch, es sei denn, es gibt keinen „ad complete“- und keinen „ad-break complete“-Aufruf.

Beispielcode

Android

Um dieses Szenario in Android anzuzeigen, verwenden Sie folgenden Code:
// 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); ...... ...... // 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, 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, 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.AdSkip event when the user intends to and is able to // skip an ad. For example, this could be tied to a "Skip Ad" button onClick handler. // The application could have the viewer land in main content post ad. _mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdSkip, null, null); ....... ....... // 6. Call trackComplete() when the playback reaches the end, i.e., when the media // completes and finishes playing. _mediaHeartbeat.trackComplete(); ........ ........ // 7. 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

Geben Sie den folgenden Text ein, um dieses Szenario anzuzeigen:
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]; ....... ....... // 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, 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 ADBMediaHeartbeatEventAdSkip event when the user intends to // and is able to skip an ad. For example, this could be tied to a // "skip ad" button onClick handler. The application could have the viewer // land in main content post ad. [_mediaHeartbeat trackEvent:ADBMediaHeartbeatEventAdSkip mediaObject:nil data:nil]; ....... ....... // 6. Call trackComplete when the playback reaches the end, i.e., when the media // completes and finishes playing. [_mediaHeartbeat trackComplete]; ....... ....... // 7. 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

Geben Sie den folgenden Text ein, um dieses Szenario in JavaScript anzuzeigen:
// 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); ...... ...... // Preroll var 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 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. // Since this is a preroll, you must track the MediaHeartbeat.Event.AdBreakStart event // before calling trackPlay(). this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdBreakStart, adBreakInfo); ....... ....... // 3. Track the MediaHeartbeat.Event.AdStart event when the preroll pod's ad starts to play. // Since this is a preroll, you must track the MediaHeartbeat.Event.AdStart event before // calling 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. this._mediaHeartbeat.trackPlay(); ....... ....... // 5. Track the MediaHeartbeat.Event.AdSkip event when the user intends to (and can) // skip the ad. For example, this could be tied to a "skip ad" button onClick handler. // The application could have the viewer land in the main content post ad. this._mediaHeartbeat.trackEvent(MediaHeartbeat.Event.AdSkip); ....... ....... // 6. Call trackComplete() when the playback reaches the end, i.e., playback completes // and finishes playing. this._mediaHeartbeat.trackComplete(); ........ ........ // 7. 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(); ........ ........