Live-Hauptinhalt live-main-content

Szenario scenario

In diesem Szenario gibt es ein einziges Live-Asset ohne Anzeigen, das 40 Sekunden nach Eintritt eines Benutzers in den Live-Stream wiedergegeben wird.

Auslöser
Heartbeat-Methode
Netzwerkaufrufe
Hinweise
Anwender 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 alle 10 Sekunden gesendet, solange die Wiedergabe läuft.
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 parameters

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 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 über Wiedergabe, Anzeigen, Pufferung und eine Reihe anderer Dinge. Der genaue Inhalt eines jeden Heartbeat geht über den Rahmen dieses Dokuments hinaus. Wichtig ist, dass Heartbeats laufend während der Wiedergabe ausgelöst werden.

Suchen Sie in den Content Heartbeats nach einigen spezifischen 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 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 den Wert des Abspielkopfs als die Anzahl der Sekunden seit Mitternacht UTC an diesem Tag festlegen, damit Analysten beim Reporting bestimmen können, an welchem Punkt Benutzer innerhalb einer 24-Stunden-Ansicht 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 die Anzahl der Sekunden seit Mitternacht UTC an diesem Tag setzen. Dies ist anders als bei VOD, wo Sie den Abspielkopf auf „0“ festlegen würden. Hinweis: Bei Verwendung von Fortschrittsmarken ist die Inhaltsdauer erforderlich und der Abspielkopf muss als Anzahl von Sekunden ab Beginn des Medienelements aktualisiert werden, beginnend mit 0.

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 setzen (12 Stunden seit Mitternacht UTC an diesem Tag in Sekunden).

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 Wert l:event:playhead auf die neue Anzahl der Sekunden seit Mitternacht UTC festlegen, nicht auf den Punkt, an dem der Benutzer den LIVE-Stream angehalten hat.

Beispielcode sample-code

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();

........
........
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb