Nachverfolgen der grundlegenden Wiedergabe auf Android track-core-playback-on-android
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.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 nameMedienname Ja mediaIdEindeutige Medienkennung Ja lengthMedienlänge Ja streamTypeStreamtyp (siehe StreamType-Konstanten unten) Ja mediaTypeMedientyp (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 VODStreamtyp für Video on Demand LIVEStreamtyp für Live-Inhalt LINEARStreamtyp für Linear-Inhalt AODStreamtyp für Audio on Demand AUDIOBOOKStreamtyp für Hörbuch PODCASTStreamtyp für Podcast MediaType-Konstanten:table 0-row-2 1-row-2 2-row-2 Konstantenname Beschreibung AudioMedientyp für Audiostreams. VideoMedientyp für Videostreams. code language-none 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
note note NOTE Das 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:
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");
-
-
Absicht, die Wiedergabe zu starten, verfolgen
Rufen Sie
trackSessionStartin 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 trackSessionStartverfolgt 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.note note NOTE Wenn Sie keine benutzerdefinierten Medienmetadaten verwenden, senden Sie einfach ein leeres Objekt für das zweite Argument in trackSessionStart. -
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
trackPlayauf:code language-java // 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
trackCompleteauf:code language-java 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
trackSessionEndauf: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 trackSessionEndmarkiert 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 SietrackCompletevortrackSessionEndaufrufen. Jeder anderetrack*-API-Aufruf nachtrackSessionEndwird ignoriert, mit Ausnahme vontrackSessionStartfür eine neue Medien-Tracking-Sitzung. -
Alle möglichen Pausenszenarien verfolgen
Identifizieren Sie das Ereignis im Medienplayer für angehaltene Videos und rufen Sie
trackPauseauf: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
trackPausekorrekt 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
trackPlayauf.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 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.