Show Menu
TOPICS×

Zeitlicher Ablauf 1: Wiedergabe bis zum Ende des Inhalts

VOD, Pre-Roll-Anzeigen, Pausen, Puffern, Wiedergabe des Inhalts bis zum Ende

Die folgenden Diagramme illustrieren die Zeitleiste der Abspielleiste und die zugehörige Zeitleiste der Aktionen eines Benutzers. Die Details für jede Aktion und die zugehörigen Anforderungen sind unten aufgeführt.

Aktionsdetails

Aktion 1: Sitzung starten

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Button zur automatischen Wiedergabe oder zur Wiedergabe gedrückt, Video wird geladen.
0
0
/api/v1/sessions
Implementierungsdetails
Dieser Aufruf signalisiert
die Anwenderintention, ein Video abzuspielen
.
Er gibt eine Sitzungs-ID (
{sid}
) an den Client zurück, die zur Identifikation aller nachfolgenden Tracking-Aufrufe innerhalb der Sitzung verwendet wird. Der Player-Status lautet noch nicht „Playing“ (Wiedergabe), sondern „Starting“ (Start).
Erforderliche Sitzungsparameter müssen in der
params
-Map des Anfrageinhalts angegeben werden.
Am Backend generiert dieser Aufruf einen Adobe Analytics-Initiationsaufruf.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:sessionStart, params: { "media.playerName": "sample-html5-api-player", "analytics.trackingServer": "[ _YOUR_TS_ ]", "analytics.reportSuite": "[ _YOUR_RSID_ ]", "analytics.visitorId": "[ _YOUR_VISITOR_ID_ ]", "media.contentType": "VOD", "media.length": 60.3333333333333, "media.id": "VA API Sample Player", "visitor.marketingCloudOrgId": "[YOUR_MCID]", "media.name": "ClickMe", "media.channel": "sample-channel", "media.sdkVersion": "va-api-0.0.0", "analytics.enableSSL": false } }

Aktion 2: Start des Ping-Timers

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
App startet Ping-Ereignis-Timer
0
0
/api/v1/sessions/{sid}/events
Implementierungsdetails
Starten Sie den Ping-Timer Ihrer App. Das erste Ping-Ereignis sollte dann nach 1 Sekunde ausgelöst werden, wenn Pre-Roll-Anzeigen vorhanden sind, andernfalls nach 10 Sekunden.

Aktion 3: Start der Werbeunterbrechung

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Verfolgen des Starts der Pre-Roll-Anzeigenunterbrechung
0
0
/api/v1/sessions/{sid}/events
Implementierungsdetails
Anzeigen können nur innerhalb einer Werbeunterbrechung verfolgt werden.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:adBreakStart, params: { "media.ad.podFriendlyName": "ad_pod1", "media.ad.podIndex": 0, "media.ad.podSecond": 0 } }

Aktion 4: Anzeigenstart

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Verfolgen des Starts der Pre-Roll-Anzeige Nr. 1
0
0
/api/v1/sessions/{sid}/events
Implementierungsdetails
Beginnen Sie mit dem Tracking der ersten Pre-Roll-Anzeige, die 15 Sekunden dauert, einschließlich anwenderspezifischer Metadaten mit diesem
adStart
.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 0, ts: &lt;timestamp&gt; }, eventType:adStart, params: { "media.ad.podFriendlyName": "ad_pod1", "media.ad.name": "Ad 1", "media.ad.id": "001", "media.ad.length": 15, "media.ad.podPosition": 1, "media.ad.playerName": "Sample Player", "media.ad.advertiser": "Ad Guys", "media.ad.campaignId": "1", "media.ad.creativeId": "42", "media.ad.siteId": "XYZ", "media.ad.creativeURL": "https://xyz_creative.com", "media.ad.placementId": "sample_placement" }, customMetadata: { "myCustomData1": "CustomData1", "myCustomData2": "CustomData2" } }

Aktion 5: Anzeigen-Pings

Aktion 5.1 - Anzeigen-Ping 1

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Anwendung sendet Ping-Ereignis.
1
0
/api/v1/sessions/{sid}/events
Implementierungsdetails
Senden Sie innerhalb einer Anzeige jede Sekunde ein Ping-Ereignis an das Backend.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:ping }

Aktion 5.2 - Anzeigen-Ping 2

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Anwendung sendet Ping-Ereignis.
2
0
/api/v1/sessions/{sid}/events
Implementierungsdetails
Senden Sie innerhalb einer Anzeige jede Sekunde ein Ping-Ereignis an das Backend.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:ping }

Aktion 5.3 - Anzeigen-Ping 3

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Anwendung sendet Ping-Ereignis.
3
0
/api/v1/sessions/{sid}/events
Implementierungsdetails
Senden Sie innerhalb einer Anzeige jede Sekunde ein Ping-Ereignis an das Backend.
Nachfolgende Anzeigen in der Zeitleiste überspringen die Anzeige der Reihe von 1-Sekunden-Ping-Ereignissen. im Interesse der Kürze …
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:ping }

Aktion 6: Abschluss der Anzeige

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Verfolgen des Abschlusses der Pre-Roll-Anzeige Nr. 1
15
0
/api/v1/sessions/{sid}/events
Implementierungsdetails
Verfolgen Sie das Ende der ersten Pre-Roll-Anzeige.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:adComplete }

Aktion 7: Anzeigenstart

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Verfolgen des Starts der Pre-Roll-Anzeige Nr. 2
15
0
/api/v1/sessions/{sid}/events
Implementierungsdetails
Verfolgen Sie den Start der zweiten Pre-Roll-Anzeige, die 7 Sekunden lang ist.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:adStart, params: { "media.ad.podFriendlyName": "ad_pod1", "media.ad.name": "Ad 2", "media.ad.id": "002", "media.ad.length": 7, "media.ad.podPosition": 1, "media.ad.playerName": "Sample Player", "media.ad.advertiser": "Ad Guys", "media.ad.campaignId": "2", "media.ad.creativeId": "44", "media.ad.siteId": "XYZ", "media.ad.creativeURL": "https://xyz_creative.com", "media.ad.placementId": "sample_placement2" }, }

Aktion 8: Anzeigen-Pings

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Anwendung sendet Ping-Ereignis.
20
0
/api/v1/sessions/{sid}/events
Implementierungsdetails
Senden Sie jede Sekunde ein Ping-Ereignis an das Backend.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:ping }

Aktion 9: Abschluss der Anzeige

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Verfolgen des Abschlusses der Pre-Roll-Anzeige Nr. 2
22
0
/api/v1/sessions/{sid}/events
Implementierungsdetails
Verfolgen Sie das Ende der zweiten Pre-Roll-Anzeige.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:adComplete }

Aktion 10: Abschluss der Werbeunterbrechung

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Verfolgen des Abschlusses der Pre-Roll-Anzeigenunterbrechung
22
0
/api/v1/sessions/{sid}/events
Implementierungsdetails
Die Werbeunterbrechung ist vorüber. Während der Anzeigenunterbrechung blieb der Wiedergabestatus auf „Abspielen“.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:adBreakComplete }

Aktion 11: Inhalt abspielen

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Verfolgen des Wiedergabe-Ereignisses
22
0
/api/v1/sessions/{sid}/events
Implementierungsdetails
Versetzen Sie den Player nach dem Ereignis
adBreakComplete
mit dem Ereignis
play
-Ereignis in den Status „Playing“ (Wiedergabe).
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 0, ts: <timestamp> }, eventType:play }

Aktion 12: Ping

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Anwendung sendet Ping-Ereignis.
30
8
/api/v1/sessions/{sid}/events
Implementierungsdetails
Senden Sie alle 10 Sekunden Ping-Ereignisse an das Backend.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 8, ts: <timestamp> }, eventType:ping }

Aktion 13: Start der Pufferung

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Pufferstart-Ereignis aufgetreten
33
11
/api/v1/sessions/{sid}/events
Implementierungsdetails
Verfolgen Sie den Wechsel des Players zum Status „Buffering“ (Puffern).
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 11, ts: <timestamp> }, eventType:bufferStart }

Aktion 14: Ende der Pufferung

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Pufferung abgeschlossen, die App verfolgt die Wiederaufnahme des Inhalts
36
11
/api/v1/sessions/{sid}/events
Implementierungsdetails
Puffern endet nach 3 Sekunden, sodass der Player wieder zum Status „Playing“ (Wiedergabe) wechselt. Sie müssen am Ende des Puffervorgangs ein weiteres Ereignis zum Verfolgen der Wiedergabe senden.
Der
play
-Aufruf nach einem
bufferStart
stellt für das Backend einen „bufferEnd“-Aufruf dar
. Ein
bufferEnd
-Ereignis ist also nicht erforderlich.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 11, ts: <timestamp> }, eventType:play }

Aktion 15: Ping

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Anwendung sendet Ping-Ereignis.
40
15
/api/v1/sessions/{sid}/events
Implementierungsdetails
Senden Sie alle 10 Sekunden Ping-Ereignisse an das Backend.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 15, ts: <timestamp> }, eventType:ping }

Aktion 16: Start der Werbeunterbrechung

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Verfolgen des Starts der Mid-Roll-Anzeigenunterbrechung
46
21
/api/v1/sessions/{sid}/events
Implementierungsdetails
Mid-Roll-Anzeige mit einer Dauer von 8 Sekunden: Senden Sie
adBreakStart
.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 21, ts: <timestamp> }, eventType:adBreakStart, params: { "media.ad.podFriendlyName": "ad_pod2", "media.ad.podIndex": 1, "media.ad.podSecond": 21 } }

Aktion 17: Anzeigenstart

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Verfolgen des Starts der Mid-Roll-Anzeige Nr. 3
46
21
/api/v1/sessions/{sid}/events
Implementierungsdetails
Verfolgen Sie die Mid-Roll-Anzeige.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 21, ts: <timestamp> }, eventType:adStart, params: { "media.ad.podFriendlyName": "ad_pod2", "media.ad.name": "Ad 3", "media.ad.id": "003", "media.ad.length": 8, "media.ad.podPosition": 2, "media.ad.playerName": "Sample Player", "media.ad.advertiser": "Ad Guys", "media.ad.campaignId": "7", "media.ad.creativeId": "40", "media.ad.siteId": "XYZ", "media.ad.creativeURL": "https://xyz_creative.com", "media.ad.placementId": "sample_placement2" }, }

Aktion 18: Anzeigen-Ping

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Anwendung sendet Ping-Ereignis.
50
21
/api/v1/sessions/{sid}/events
Implementierungsdetails
Senden Sie alle 10 Sekunden Ping-Ereignisse an das Backend.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 21, ts: <timestamp> }, eventType:ping }

Aktion 19: Abschluss der Anzeige

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Verfolgen des Abschlusses der Mid-Roll-Anzeige Nr. 1
54
21
/api/v1/sessions/{sid}/events
Implementierungsdetails
Die Mid-Roll-Anzeige ist abgeschlossen.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 21, ts: <timestamp> }, eventType:adComplete }

Aktion 20: Abschluss der Werbeunterbrechung

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Verfolgen des Abschlusses der Mid-Roll-Anzeigenunterbrechung.
54
21
/api/v1/sessions/{sid}/events
Implementierungsdetails
Die Werbeunterbrechung ist abgeschlossen.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 21, ts: <timestamp> }, eventType:adBreakComplete }

Aktion 21: Ping

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Anwendung sendet Ping-Ereignis.
60
27
/api/v1/sessions/{sid}/events
Implementierungsdetails
Senden Sie alle 10 Sekunden Ping-Ereignisse an das Backend.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 27, ts: <timestamp> }, eventType:ping }

Aktion 22: Anhalten

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Benutzer hat Pause gedrückt
64
31
/api/v1/sessions/{sid}/events
Implementierungsdetails
Durch die Anwenderaktion wechselt der Wiedergabestatus zu „Paused“ (Pause).
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 31, ts: <timestamp> }, eventType:pauseStart }

Aktion 23: Ping

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Anwendung sendet Ping-Ereignis.
70
31
/api/v1/sessions/{sid}/events
Implementierungsdetails
Senden Sie alle 10 Sekunden Ping-Ereignisse an das Backend. Der Player befindet sich weiterhin im Status „buffering“ (Puffern); der Nutzer hängt bei 20 Sekunden des Inhalts fest und ist würtend.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 31, ts: <timestamp> }, eventType:ping }

Aktion 24: Abspielen

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Der Benutzer drückte „Play“, um mit dem Hauptinhalt fortzufahren
74
31
/api/v1/sessions/{sid}/events
Implementierungsdetails
Ändern Sie den Wiedergabestatus zu „playing“ (Wiedergabe).
Der
play
-Aufruf nach einem
pauseStart
stellt für das Backend einen „resume“-Aufruf dar
. Ein
resume
-Ereignis ist also nicht erforderlich.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 31, ts: <timestamp> }, eventType:play }

Aktion 25: Ping

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Anwendung sendet Ping-Ereignis.
80
37
/api/v1/sessions/{sid}/events
Implementierungsdetails
Senden Sie alle 10 Sekunden Ping-Ereignisse an das Backend.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 37, ts: <timestamp> }, eventType:ping }

Aktion 26: Abschluss der Sitzung

Aktion
Aktions-Timeline (Sekunden)
Abspielleistenposition (Sekunden)
Client-Anfrage
Der Benutzer sieht sich den Inhalt bis zum Ende an.
88
45
/api/v1/sessions/{sid}/events
Implementierungsdetails
Senden Sie
sessionComplete
an das Backend, um anzugeben, dass der Anwender den gesamten Inhalt abgespielt hat.
Beispiel-Anfrageinhalt
{ playerTime: { playhead: 45, ts: <timestamp> }, eventType:sessionComplete }
Keine Suchereignisse? -
Die Mediensammlungs-API unterstützt die Ereignisse
seekStart
und
seekComplete
nicht explizit. Das liegt daran, dass bestimmte Player eine große Anzahl solcher Ereignisse generieren, wenn der Anwender durch das Video springt. So können einige Hunderte von Anwendern schnell die Netzwerkbandbreite des Backend-Service überlasten. Adobe unterstützt explizite Suchvorgänge für Ereignisse, indem die Heartbeat-Dauer basierend auf dem Geräte-Zeitstempel und nicht auf der Abspielposition berechnet wird.