Tracking von Core-Wiedergaben in Roku track-core-playback-on-roku

Diese Dokumentation behandelt das Tracking in der Version 2.x des SDK.

IMPORTANT
Wenn Sie Version 1.x des SDK implementieren möchten, können Sie sich hier die Entwicklerhandbücher herunterladen: SDKs herunterladen
  1. 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
    
  2. 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"
    
  1. 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 zwischen trackSessionStart () und trackPlay) schätzen.
    note note
    NOTE
    Wenn Sie keine benutzerdefinierten Video-Metadaten verwenden, senden Sie einfach ein leeres Objekt für das data-Argument in trackSessionStart, wie in der Kommentarzeile im obigen iOS-Beispiel gezeigt.
  2. 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()
    
  3. Abspielkopfwert aktualisieren

    Wenn sich die Abspielleiste der Medien ändert, benachrichtigen Sie das SDK, indem Sie die mediaUpdatePlayhead API.
    Bei Video-on-demand (VOD) wird der Wert in Sekunden ab Beginn des Medienelements angegeben.
    Wenn der Player beim Livestreaming keine Informationen zur Inhaltsdauer bereitstellt, kann der Wert als Anzahl der Sekunden seit Mitternacht (UTC) des Tages angegeben werden.

    code language-none
    ADBMobile().mediaUpdatePlayhead(position)
    
    note note
    NOTE
    Beachten Sie Folgendes beim Aufrufen der mediaUpdatePlayhead API:
    • 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
  4. 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()
    
  5. 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 Sie trackComplete vor trackSessionEnd aufrufen. Jeder andere track*-API-Aufruf nach trackSessionEnd wird ignoriert, mit Ausnahme von trackSessionStart für eine neue Video-Tracking-Sitzung.
  6. 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 App trackPause() () 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.
  7. 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 nachfolgenden trackPlay()-API-Aufruf gepaart wird, wenn die Videowiedergabe wiederaufgenommen wird.
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb