Nachverfolgen der grundlegenden Wiedergabe auf Android track-core-playback-on-android

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 hier das 1.x-Entwicklerhandbuch für Android 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.

    createMediaObject API

    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 Medienname Ja
    mediaId Eindeutige Medienkennung Ja
    length Medienlä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
    VOD Streamtyp für Video on Demand
    LIVE Streamtyp für Live-Inhalt
    LINEAR Streamtyp für Linear-Inhalt
    AOD Streamtyp für Audio on Demand
    AUDIOBOOK Streamtyp für Hörbuch
    PODCAST Streamtyp für Podcast

    MediaType-Konstanten:

    table 0-row-2 1-row-2 2-row-2
    Konstantenname Beschreibung
    Audio Medientyp für Audiostreams.
    Video Medientyp für Videostreams.
    code language-none
    MediaHeartbeat.createMediaObject(<MEDIA_NAME>,
      <MEDIA_ID>, <MEDIA_LENGTH>, <STREAM_TYPE>, <MEDIA_TYPE>);
    
  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 Android implementieren

      note note
      NOTE
      Das Anhängen des Standard-Metadatenobjekts an das Medienobjekt ist optional.
    • Benutzerspezifische Metadaten

      Erstellen Sie ein Wörterbuch für die benutzerdefinierten Variablen und fügen Sie die Daten für dieses Medium ein. Beispiel:

      code language-java
      HashMap<String, String> mediaMetadata =
        new HashMap<String, String>();
      mediaMetadata.put("isUserLoggedIn", "false");
      mediaMetadata.put("tvStation", "Sample TV Station");
      mediaMetadata.put("programmer", "Sample programmer");
      
  3. Absicht, die Wiedergabe zu starten, verfolgen

    Rufen Sie trackSessionStart in der Media Heartbeat-Instanz auf, um eine Mediensitzung zu verfolgen. Beispiel:

    code language-java
    public void onVideoLoad(Observable observable, Object data) {
        _heartbeat.trackSessionStart(mediaInfo, mediaMetadata);
    }
    
    note tip
    TIP
    Der zweite Wert ist der Name des benutzerdefinierten Medienmetadatenobjekts, 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 Mediendaten/-Metadaten laden und die QoS-Metrik zur Ladezeit (zeitlicher Abstand zwischen trackSessionStart () und trackPlay) schätzen.
    note note
    NOTE
    Wenn Sie keine benutzerdefinierten Medienmetadaten verwenden, senden Sie einfach ein leeres Objekt für das zweite Argument in trackSessionStart.
  4. Tatsächlichen Wiedergabebeginn verfolgen

    Identifizieren Sie das Ereignis für den Anfang der Medienwiedergabe im Medienplayer, sobald der erste Frame des Mediums auf dem Bildschirm angezeigt wird, und rufen Sie trackPlay auf:

    code language-java
    // Video is rendered on the screen) and call trackPlay.
    public void onVideoPlay(Observable observable, Object data) {
        _heartbeat.trackPlay();
    }
    
  5. Ende der Wiedergabe verfolgen

    Identifizieren Sie das Ereignis für den Abschluss der Medienwiedergabe im Medienplayer, wenn der Inhalt bis zum Ende angesehen wurde, und rufen Sie trackComplete auf:

    code language-java
    public void onVideoComplete(Observable observable, Object data) {
        _heartbeat.trackComplete();
    }
    
  6. Ende der Sitzung verfolgen

    Identifizieren Sie das Ereignis für das Entladen/Schließen der Medienwiedergabe im Medienplayer, wenn der Benutzer das Medium schließt bzw. das Medium abgeschlossen ist und entladen wird, und rufen Sie trackSessionEnd auf:

    code language-java
    // Closes the media and/or the media completed and unloaded,
    // and call trackSessionEnd().
    public void onMainVideoUnload(Observable observable, Object data) {
        _heartbeat.trackSessionEnd();
    }
    
    note important
    IMPORTANT
    trackSessionEnd markiert das Ende einer Medien-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 Medien-Tracking-Sitzung.
  7. Alle möglichen Pausenszenarien verfolgen

    Identifizieren Sie das Ereignis im Medienplayer für angehaltene Videos und rufen Sie trackPause auf:

    code language-java
    public void onVideoPause(Observable observable, Object data) {
        _heartbeat.trackPause();
    }
    

    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. Beispielsweise erhält der Benutzer einen Anruf oder ein Pop-up aus einer anderen App, aber Sie möchten, dass die App-Sitzung fortgeführt wird, damit der Benutzer die Medien ab dem Zeitpunkt der Unterbrechung wieder fortsetzen kann.
  8. Identifizieren Sie das Ereignis aus dem Player bei wiedergegebenen und/oder nach einer Pause wiederaufgenommenen Medien und rufen Sie trackPlay auf.

    code language-java
    // trackPlay()
    public void onVideoPlay(Observable observable, Object data) {
        _heartbeat.trackPlay();
    }
    
    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 Medienwiedergabe fortgesetzt wird.

Im Folgenden finden Sie weitere Informationen zum Tracking der Core-Wiedergabe:

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