Nachverfolgen der grundlegenden Wiedergabe auf Android
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.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: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:KonstantennameBeschreibungAudio
Medientyp für Audiostreams.Video
Medientyp für Videostreams.MediaHeartbeat.createMediaObject(<MEDIA_NAME>, <MEDIA_ID>, <MEDIA_LENGTH>, <STREAM_TYPE>, <MEDIA_TYPE>);
-
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
NOTEDas Anhängen des Standard-Metadatenobjekts an das Medienobjekt ist optional.- Medien-Metadatenschlüssel API-Referenz: Standard-Metadatenschlüssel - Android
- Hier sehen Sie den umfassenden Satz der verfügbaren Video-Metadaten: Audio- und Videoparameter
-
Benutzerspezifische Metadaten
Erstellen Sie ein Wörterbuch für die benutzerdefinierten Variablen und fügen Sie die Daten für dieses Medium ein. Beispiel:
HashMap<String, String> mediaMetadata = new HashMap<String, String>(); mediaMetadata.put("isUserLoggedIn", "false"); mediaMetadata.put("tvStation", "Sample TV Station"); mediaMetadata.put("programmer", "Sample programmer");
-
-
Absicht, die Wiedergabe zu starten, verfolgen
Rufen Sie
trackSessionStart
in der Media Heartbeat-Instanz auf, um eine Mediensitzung zu verfolgen. Beispiel:public void onVideoLoad(Observable observable, Object data) { _heartbeat.trackSessionStart(mediaInfo, mediaMetadata); }
TIPDer zweite Wert ist der Name des benutzerdefinierten Medienmetadatenobjekts, 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 Mediendaten/-Metadaten laden und die QoS-Metrik zur Ladezeit (zeitlicher Abstand zwischentrackSessionStart
() undtrackPlay
) schätzen.NOTEWenn Sie keine benutzerdefinierten Medienmetadaten verwenden, senden Sie einfach ein leeres Objekt für das zweite Argument intrackSessionStart
. -
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:// Video is rendered on the screen) and call trackPlay. public void onVideoPlay(Observable observable, Object data) { _heartbeat.trackPlay(); }
-
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:public void onVideoComplete(Observable observable, Object data) { _heartbeat.trackComplete(); }
-
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:// Closes the media and/or the media completed and unloaded, // and call trackSessionEnd(). public void onMainVideoUnload(Observable observable, Object data) { _heartbeat.trackSessionEnd(); }
IMPORTANTtrackSessionEnd
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 SietrackComplete
vortrackSessionEnd
aufrufen. Jeder anderetrack*
-API-Aufruf nachtrackSessionEnd
wird ignoriert, mit Ausnahme vontrackSessionStart
für eine neue Medien-Tracking-Sitzung. -
Alle möglichen Pausenszenarien verfolgen
Identifizieren Sie das Ereignis im Medienplayer für angehaltene Videos und rufen Sie
trackPause
auf: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 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. 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.
-
Identifizieren Sie das Ereignis aus dem Player bei wiedergegebenen und/oder nach einer Pause wiederaufgenommenen Medien und rufen Sie
trackPlay
auf.// trackPlay() public void onVideoPlay(Observable observable, Object data) { _heartbeat.trackPlay(); }
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 Medienwiedergabe fortgesetzt wird.
Im Folgenden finden Sie weitere Informationen zum Tracking der Core-Wiedergabe:
- Tracking-Szenarien: VOD-Wiedergabe ohne Anzeigen
- Der im Android-SDK enthaltene Beispiel-Player zeigt ein komplettes Tracking-Beispiel.