Show Menu
TOPICS×

Live-Hauptinhalt

Szenario

In diesem Szenario gibt es ein Live-Asset ohne Wiedergabe von Anzeigen für 40 Sekunden nach Beitritt zum Live-Stream.
Auslöser
Heartbeat-Methode
Netzwerkaufrufe
Hinweise  
Benutzer klickt auf
Abspielen
trackSessionStart
Analytics Content Start, Heartbeat Content Start
Dies kann ein Anwender sein, der auf
Abspielen
klickt, oder ein Ereignis bei automatischer Wiedergabe.
Das erste Medienbild wird wiedergegeben.
trackPlay
Heartbeat Content Play
Diese Methode löst den Timer aus. Heartbeats werden während der Dauer der Wiedergabe alle zehn Sekunden gesendet.
Der Inhalt wird wiedergegeben.
Content Heartbeats
Die Sitzung ist beendet.
trackSessionEnd
SessionEnd
steht für das Ende einer Anzeigesitzung. Diese API muss auch dann aufgerufen werden, wenn der Benutzer die Medien nicht bis zum Ende konsumiert.

Parameter

Viele der Werte bei Adobe Analytics Content Start-Aufrufen sind auch bei Heartbeat Content Start-Aufrufen vorhanden. Außerdem verwendet Adobe noch viele weitere Parameter, um die verschiedenen Medienberichte in Adobe Analytics zu füllen. Davon werden im Folgenden nur die wichtigsten Parameter behandelt.

Heartbeat Content Start

Parameter
Wert
Hinweise
s:sc:rsid
<Adobe-Report Suite-ID>
s:sc:tracking_serve
<Analytics-Tracking-Server-URL>
s:user:mid
s:user:mid
Sollte mit dem mid-Wert beim Adobe Analytics Content Start-Aufruf übereinstimmen
s:event:type
"start"
s:asset:type
"main"
s:asset:mediao_id
<Ihr Medienname>
s:stream:type
live
s:meta:*
optional
Im Medium festgelegte benutzerdefinierte Metadaten

Content Heartbeats

Während der Medienwiedergabe gibt es einen Timer, der alle 10 Sekunden einen oder mehrere Heartbeats (oder Pings) für Hauptinhalte und jede Sekunde für Anzeigen sendet. Diese Heartbeats enthalten Informationen zu Wiedergabe, Anzeigen, Pufferung und vielen weiteren Aspekten. Der genaue Inhalt jedes Heartbeats wird in diesem Dokument nicht behandelt. Wichtig ist vor allem, sicherzustellen, dass Heartbeats konsistent ausgelöst werden, während die Wiedergabe läuft.
Suchen Sie in den Inhalts-Heartbeats nach einigen speziellen Elementen:
Parameter
Wert
Hinweise
s:event:type
"play"
l:event:playhead
<Position der Abspielleiste>, z. B. 50, 60, 70
Dies sollte die aktuelle Position der Abspielleiste widerspiegeln.

Heartbeat Content Complete

In diesem Szenario wird kein Abschlussaufruf gesendet, da der Live-Stream nie abgeschlossen wurde.

Einstellungen der Abspielleistenwerte

Bei LIVE-Streams müssen Sie die Abspielleiste auf einen Versatz von Beginn der Programmierung einstellen, damit Analytiker in der Berichterstellung innerhalb einer 24-Stunden-Ansicht bestimmen können, an welchem Punkt Benutzer dem LIVE-Stream beitreten und ihn verlassen.

Am Anfang

Bei LIVE-Medien müssen Sie, wenn ein Benutzer mit der Wiedergabe des Streams beginnt,
l:event:playhead
auf den aktuellen Versatz in Sekunden festlegen. Dies ist im Gegensatz zu VOD, wo Sie die Abspielleiste auf „0“ festlegen würden.
Beispiel: Ein LIVE-Streaming-Ereignis beginnt um Mitternacht und dauert 24 Stunden (
a.media.length=86400
;
l:asset:length=86400
). Nehmen wir an, ein Benutzer beginnt um 12:00 Uhr mit der Wiedergabe des LIVE-Streams. In diesem Szenario sollten Sie
l:event:playhead
auf 43200 (12 Stunden bis zum Stream) festlegen.

Beim Anhalten

Dieselbe Live-Abspielleistenlogik, die zu Beginn der Wiedergabe angewendet wurde, muss angewendet werden, wenn ein Benutzer die Wiedergabe anhält. Wenn der Benutzer zum Abspielen des LIVE-Streams zurückkehrt, müssen Sie den
l:event:playhead
-Wert auf die neue versetzte Position der Abspielleiste festlegen,
nicht
auf den Punkt, an dem der Benutzer den LIVE-Stream angehalten hat.

Beispielcode

Android

Die erwartete API-Aufrufreihenfolge lautet wie folgt:
// Set up mediaObject MediaObject mediaInfo = MediaHeartbeat.createMediaObject( Configuration.MEDIA_NAME, Configuration.MEDIA_ID, Configuration.MEDIA_LENGTH, MediaHeartbeat.StreamType.LIVE ); HashMap<String, String> mediaMetadata = new HashMap<String, String>(); mediaMetadata.put(CUSTOM_VAL_1, CUSTOM_KEY_1); mediaMetadata.put(CUSTOM_VAL_2, 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(mediaInfo, mediaMetadata); ...... ...... // 2. Call trackPlay() when the playback actually starts, i.e., when the first // frame of main content is rendered on the screen. _mediaHeartbeat.trackPlay(); ....... ....... // 3. Call trackSessionEnd() when user ends the playback session. // Since the user does not watch live media to completion, there // is no need to call trackComplete(). _mediaHeartbeat.trackSessionEnd(); ....... .......

iOS

Die erwartete API-Aufrufreihenfolge lautet wie folgt:
// Set up mediaObject ADBMediaObject *mediaObject = [ADBMediaHeartbeat createMediaObjectWithName:MEDIA_NAME length:MEDIA_LENGTH streamType:ADBMediaHeartbeatStreamTypeLIVE]; 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]; ...... ...... // 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. Call trackSessionEnd when user ends the playback session. Since the user // does not watch live media to completion, there is no need to call // trackComplete. [_mediaHeartbeat trackSessionEnd]; ........ ........

JavaScript

Die erwartete API-Aufrufreihenfolge lautet wie folgt:
// 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); ...... ...... // 2. Call trackPlay() when the playback actually starts, i.e., when the // first frame of media is rendered on the screen. this._mediaHeartbeat.trackPlay(); ....... ....... // 3. Call trackSessionEnd() when user ends the playback session. // Since user does not watch live media to completion, there is // no need to call trackComplete(). this._mediaHeartbeat.trackSessionEnd(); ........ ........