Nachverfolgen der grundlegenden Wiedergabe auf iOS
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.VariablennameBeschreibungerforderlichname
VideonameJamediaid
Eindeutige ID des VideosJalength
VideolängeJastreamType
Streamtyp (siehe StreamType-Konstanten unten)JamediaType
Medientyp (siehe MediaType-Konstanten unten)JaStreamType
-Konstanten:KonstantennameBeschreibungADBMediaHeartbeatStreamTypeVOD
Streamtyp für Video on DemandADBMediaHeartbeatStreamTypeLIVE
Streamtyp für Live-InhaltADBMediaHeartbeatStreamTypeLINEAR
Streamtyp für Linear-InhaltADBMediaHeartbeatStreamTypeAOD
Streamtyp für Audio on DemandADBMediaHeartbeatStreamTypeAUDIOBOOK
Streamtyp für HörbuchADBMediaHeartbeatStreamTypePODCAST
Streamtyp für PodcastMediaType
-Konstanten:KonstantennameBeschreibungADBMediaTypeAudio
Medientyp für Audiostreams.ADBMediaTypeVideo
Medientyp für Videostreams.Das allgemeine Format für die Erstellung des
MediaObject
: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
NOTEDas 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:
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.TIPDer zweite Wert ist der Name des benutzerdefinierten Video-Metadatenobjekts, den Sie in Schritt 2 erstellt haben.- (void)onMainVideoLoaded:(NSNotification *)notification { // [_mediaHeartbeat trackSessionStart:mediaObject data:nil]; [_mediaHeartbeat trackSessionStart:mediaObject data:videoMetadata]; }
IMPORTANTtrackSessionStart
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.NOTEWenn Sie keine benutzerdefinierten Video-Metadaten verwenden, senden Sie einfach ein leeres Objekt für dasdata
-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:- (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:- (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:- void)onMainVideoUnloaded:(NSNotification *)notification { [_mediaHeartbeat trackSessionEnd]; }
IMPORTANTtrackSessionEnd
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:- (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:- (void)onVideoPlay:(NSNotification *)notification { [_mediaHeartbeat 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 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.