Tracking von Core-Wiedergaben in Roku
Erstellt für:
- Benutzende
- Admin
- Entwickler
Diese Dokumentation behandelt das Tracking in der Version 2.x des SDK.
-
Tracking-Ersteinrichtung
Identifizieren Sie, wenn der Benutzer die Wiedergabe auslöst (Benutzer klickt auf „Abspielen“ und/oder die automatische Wiedergabe ist aktiviert), und erstellen Sie eine
MediaObject
-Instanz.MediaObject
-Referenz:Variablenname Beschreibung erforderlich name
Videoname Ja mediaid
Eindeutige ID des Videos Ja length
Videolänge Ja streamType
Streamtyp (siehe StreamType-Konstanten unten) Ja mediaType
Medientyp (siehe MediaType-Konstanten unten) Ja StreamType
-Konstanten:Konstantenname Beschreibung MEDIA_STREAM_TYPE_VOD
Streamtyp für Video on Demand MEDIA_STREAM_TYPE_LIVE
Streamtyp für Live-Inhalt MEDIA_STREAM_TYPE_LINEAR
Streamtyp für Linear-Inhalt MEDIA_STREAM_TYPE_AOD
Streamtyp für Audio on Demand MEDIA_STREAM_TYPE_AUDIOBOOK
Streamtyp für Hörbuch MEDIA_STREAM_TYPE_PODCAST
Streamtyp für Podcast MediaType
-Konstanten:Konstantenname Beschreibung MEDIA_STREAM_TYPE_AUDIO
Medientyp für Audiostreams. MEDIA_STREAM_TYPE_VIDEO
Medientyp für Videostreams. Erstellen Sie ein Medieninformationsobjekt für Videos mit VOD-Inhalt:
mediaInfo = adb_media_init_mediainfo( "<MEDIA_NAME>", "<MEDIA_ID>", 600, ADBMobile().MEDIA_STREAM_TYPE_VOD, ADBMobile().MEDIA_TYPE_VIDEO )
oder
mediaInfo = adb_media_init_mediainfo() mediaInfo.name = "<MEDIA_NAME>" mediaInfo.id = "<MEDIA_ID>" mediaInfo.length = 600 mediaInfo.streamType = ADBMobile().MEDIA_STREAM_TYPE_VOD mediaInfo.mediaType = ADBMobile().MEDIA_TYPE_VIDEO
Erstellen Sie ein Medieninformationsobjekt für Videos mit AOD-Inhalt:
mediaInfo = adb_media_init_mediainfo( "<MEDIA_NAME>", "<MEDIA_ID>", 600, ADBMobile().MEDIA_STREAM_TYPE_AOD, ADBMobile().MEDIA_TYPE_AUDIO )
oder
mediaInfo = adb_media_init_mediainfo() mediaInfo.name = "<MEDIA_NAME>" mediaInfo.id = "<MEDIA_ID>" mediaInfo.length = 600 mediaInfo.streamType = ADBMobile().MEDIA_STREAM_TYPE_AOD mediaInfo.mediaType = ADBMobile().MEDIA_TYPE_AUDIO
-
Metadaten anhängen
Optional können Standard- bzw. benutzerdefinierte Metadatenobjekte über Kontextdatenvariablen an die Tracking-Sitzung angehängt werden.
- Standard-Metadaten
<div class="extension note">
<div>NOTE</div>
<div>
<p>Das Anhängen des Standard-Video-Metadatenobjekts an das Medienobjekt ist optional.</p>
</div>
</div>
-
Benutzerspezifische Metadaten
Erstellen Sie ein Variablenobjekt für die benutzerdefinierten Variablen und fügen Sie die Daten für dieses Video ein. Beispiel:
mediaContextData = {} mediaContextData["cmk1"] = "cmv1" mediaContextData["cmk2"] = "cmv2"
-
Absicht, die Wiedergabe zu starten, verfolgen
Rufen Sie
trackSessionStart
in der Media Heartbeat-Instanz auf, um eine Mediensitzung zu verfolgen:ADBMobile().mediaTrackSessionStart(mediaInfo,mediaContextData)
TIPDer zweite Wert ist der Name des benutzerdefinierten Video-Metadatenobjekts, den Sie in Schritt 2 erstellt haben.IMPORTANTtrackSessionStart
verfolgt die Absicht des Benutzers, die Wiedergabe zu starten, und nicht den Anfang der Wiedergabe. Mit dieser API können Sie die Videodaten/-Metadaten laden und die QoS-Metrik zur Ladezeit (zeitlicher Abstand zwischentrackSessionStart
() undtrackPlay
) schätzen.NOTEWenn Sie keine benutzerdefinierten Video-Metadaten verwenden, senden Sie einfach ein leeres Objekt für dasdata
-Argument intrackSessionStart
, wie in der Kommentarzeile im obigen iOS-Beispiel gezeigt. -
Tatsächlichen Wiedergabebeginn verfolgen
Identifizieren Sie das Ereignis für den Anfang der Videowiedergabe im Videoplayer (wenn das erste Videobild auf dem Bildschirm angezeigt wird) und rufen Sie
trackPlay
() auf:ADBMobile().mediaTrackPlay()
-
Abspielkopfwert aktualisieren
Wenn sich der Abspielkopf des Mediums ändert, informieren Sie die SDK durch Aufruf der
mediaUpdatePlayhead
-API.
Bei Video-on-demand (VOD) wird der Wert in Sekunden ab Beginn des Medienelements angegeben.
Wenn der Player beim Live-Streaming keine Informationen zur Inhaltsdauer bereitstellt, kann der Wert als Anzahl der Sekunden seit Mitternacht (UTC) des Tages angegeben werden.ADBMobile().mediaUpdatePlayhead(position)
NOTEBeachten Sie beim Aufrufen dermediaUpdatePlayhead
-API Folgendes:- 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.
- Bei Verwendung von Medien-SDKs müssen Sie die
mediaUpdatePlayhead
-API mindestens einmal pro Sekunde aufrufen.
-
Ende der Wiedergabe verfolgen
Identifizieren Sie das Ereignis für den Abschluss der Videowiedergabe im Videoplayer (wenn der Inhalt bis zum Ende angesehen wurde) und rufen Sie
trackComplete
() auf:ADBMobile().mediaTrackComplete()
-
Ende der Sitzung verfolgen
Identifizieren Sie das Ereignis für das Entfernen/Schließen der Videowiedergabe im Videoplayer (wenn der Benutzer das Video schließt und/oder das Video abgeschlossen ist und aus dem Player entfernt wird) und rufen Sie
trackSessionEnd
() auf:ADBMobile().mediaTrackSessionEnd()
IMPORTANTtrackSessionEnd
markiert das Ende einer Video-Tracking-Sitzung. Wenn die Sitzung erfolgreich bis zum Ende wiedergegeben wurde und der Anwender den Inhalt bis zum Schluss angesehen hat, müssen SietrackComplete
vortrackSessionEnd
aufrufen. Jeder anderetrack*
-API-Aufruf nachtrackSessionEnd
wird ignoriert, mit Ausnahme vontrackSessionStart
für eine neue Video-Tracking-Sitzung. -
Alle möglichen Pausenszenarien verfolgen
Identifizieren Sie das Ereignis im Videoplayer für angehaltene Videos und rufen Sie
trackPause
auf:ADBMobile().mediaTrackPause()
Pausenszenarien
Identifizieren Sie alle Szenarios, in denen der Videoplayer angehalten wird, und stellen Sie sicher, dass
trackPause
korrekt aufgerufen wird. In allen folgenden Szenarios muss Ihre ApptrackPause()
() aufrufen:- Der Benutzer drückt in der App die Pausetaste.
- Die Wiedergabe wird vom Player selbst pausiert.
- (Mobile Apps) - Der Benutzer bewegt die App in den Hintergrund, aber Sie möchten, dass die Sitzung der App geöffnet bleibt.
- (Mobile Apps) - Eine beliebige Systemunterbrechung tritt ein, die dazu führt, dass eine App im Hintergrund ausgeführt wird. Wenn der Benutzer beispielsweise einen Anruf erhält oder eine Popup-Nachricht einer anderen App angezeigt wird, die Anwendung die Sitzung jedoch aktiv halten soll, damit der Benutzer das Video fortsetzen kann.
-
Identifizieren Sie das Ereignis aus dem Player bei wiedergegebenen und/oder nach einer Pause wiederaufgenommenen Videos und rufen Sie
trackPlay
auf:ADBMobile().mediaTrackPlay()
TIPDiese Ereignisquelle kann mit der in Schritt 4 verwendeten identisch sein. Stellen Sie sicher, dass jedertrackPause()
-API-Aufruf mit einem nachfolgendentrackPlay()
-API-Aufruf gepaart wird, wenn die Videowiedergabe wiederaufgenommen wird.
- Tracking-Szenarien: VOD-Wiedergabe ohne Anzeigen
- Der im Roku-SDK enthaltene Beispiel-Player zeigt ein komplettes Tracking-Beispiel.