Tracking von Core-Wiedergaben in Roku track-core-playback-on-roku
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:table 0-row-3 1-row-3 2-row-3 3-row-3 4-row-3 5-row-3 3-align-center 7-align-center 11-align-center 15-align-center 19-align-center 23-align-center 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:table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 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:table 0-row-2 1-row-2 2-row-2 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:
code language-none mediaInfo = adb_media_init_mediainfo( "<MEDIA_NAME>", "<MEDIA_ID>", 600, ADBMobile().MEDIA_STREAM_TYPE_VOD, ADBMobile().MEDIA_TYPE_VIDEO )
oder
code language-none 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:
code language-none mediaInfo = adb_media_init_mediainfo( "<MEDIA_NAME>", "<MEDIA_ID>", 600, ADBMobile().MEDIA_STREAM_TYPE_AOD, ADBMobile().MEDIA_TYPE_AUDIO )
oder
code language-none 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
Standard-Metadaten in Roku implementieren
<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:
code language-none 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:code language-none ADBMobile().mediaTrackSessionStart(mediaInfo,mediaContextData)
note tip TIP Der zweite Wert ist der Name des benutzerdefinierten Video-Metadatenobjekts, den Sie in Schritt 2 erstellt haben. note important IMPORTANT trackSessionStart
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.note note NOTE Wenn Sie keine benutzerdefinierten Video-Metadaten verwenden, senden Sie einfach ein leeres Objekt für das data
-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:code language-none ADBMobile().mediaTrackPlay()
-
Abspielkopfwert aktualisieren
Wenn sich die Abspielleiste der Medien ändert, benachrichtigen Sie das 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 dieses Tages angegeben werden.code language-none ADBMobile().mediaUpdatePlayhead(position)
note note NOTE Beachten Sie beim Aufrufen der mediaUpdatePlayhead
-API Folgendes:- Bei Verwendung von Fortschrittsmarken ist die Inhaltsdauer erforderlich und die Abspielleiste muss als Anzahl von Sekunden ab Anfang 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:code language-none 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:code language-none ADBMobile().mediaTrackSessionEnd()
note important IMPORTANT trackSessionEnd
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:code language-none 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:code language-none ADBMobile().mediaTrackPlay()
note tip TIP Diese Ereignisquelle kann mit der in Schritt 4 verwendeten identisch sein. Stellen Sie sicher, dass jeder trackPause()
-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.