Nachverfolgen der grundlegenden Wiedergabe auf iOS track-core-playback-on-ios
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 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 ADBMediaHeartbeatStreamTypeVOD
Streamtyp für Video on Demand ADBMediaHeartbeatStreamTypeLIVE
Streamtyp für Live-Inhalt ADBMediaHeartbeatStreamTypeLINEAR
Streamtyp für Linear-Inhalt ADBMediaHeartbeatStreamTypeAOD
Streamtyp für Audio on Demand ADBMediaHeartbeatStreamTypeAUDIOBOOK
Streamtyp für Hörbuch ADBMediaHeartbeatStreamTypePODCAST
Streamtyp für Podcast MediaType
-Konstanten:table 0-row-2 1-row-2 2-row-2 Konstantenname Beschreibung ADBMediaTypeAudio
Medientyp für Audiostreams. ADBMediaTypeVideo
Medientyp für Videostreams. Das allgemeine Format für die Erstellung des
MediaObject
:code language-none ADBMediaObject *mediaObject = [ADBMediaHeartbeat createMediaObjectWithName:<MEDIA_NAME> mediaId:<MEDIA_ID> length:<MEDIA_LENGTH> streamType:<STREAM_TYPE> mediaType: <MEDIA_TYPE>];
-
Video-Metadaten anhängen
Optional können Standard- bzw. benutzerdefinierte Video-Metadatenobjekte über Kontextdatenvariablen an die Video-Tracking-Sitzung angehängt werden.
-
Standard-Video-Metadaten
-
Schlüssel für Video-Metadaten
iOS-Metadataschlüssel -
Sehen Sie hier die umfassende Liste der verfügbaren Video-Metadaten: Audio- und Videoparameter
note note NOTE Das Anhängen des Standard-Video-Metadatenobjekts an das Medienobjekt ist optional. -
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 NSMutableDictionary *videoMetadata = [[NSMutableDictionary alloc] init]; [videoMetadata setObject:@"false" forKey:@"isUserLoggedIn"]; [videoMetadata setObject:@"Sample TV station" forKey:@"tvStation"];
-
-
Absicht, die Wiedergabe zu starten, verfolgen
Rufen Sie
trackSessionStart
in der Media Heartbeat-Instanz auf, um eine Mediensitzung zu verfolgen.note tip TIP Der zweite Wert ist der Name des benutzerdefinierten Video-Metadatenobjekts, den Sie in Schritt 2 erstellt haben. code language-none - (void)onMainVideoLoaded:(NSNotification *)notification { // [_mediaHeartbeat trackSessionStart:mediaObject data:nil]; [_mediaHeartbeat trackSessionStart:mediaObject data:videoMetadata]; }
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 - (void)onVideoPlay:(NSNotification *)notification { [_mediaHeartbeat trackPlay]; }
-
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 - (void)onVideoComplete:(NSNotification *)notification { [_mediaHeartbeat trackComplete]; }
-
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 - void)onMainVideoUnloaded:(NSNotification *)notification { [_mediaHeartbeat trackSessionEnd]; }
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 - (void)onVideoPause:(NSNotification *)notification { [_mediaHeartbeat 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. 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 - (void)onVideoPlay:(NSNotification *)notification { [_mediaHeartbeat 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 Videowiedergabe wiederaufgenommen wird.
Im Folgenden finden Sie weitere Informationen zum Tracking der Core-Wiedergabe:
- Tracking-Szenarien: VOD-Wiedergabe ohne Anzeigen
- Der im iOS-SDK enthaltene Beispiel-Player zeigt ein komplettes Tracking-Beispiel.