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.
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 |
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. Informationen zu Sitzungen finden Sie in der Dokumentation zur Mediensammlungs-API.
Am Backend generiert dieser Aufruf einen Adobe Analytics-Initiationsaufruf.
{
"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 | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
App startet Ping-Ereignis-Timer | 0 | 0 | /api/v1/sessions/{sid}/events |
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 | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Verfolgen des Starts der Pre-Roll-Anzeigenunterbrechung | 0 | 0 | /api/v1/sessions/{sid}/events |
Anzeigen können nur innerhalb einer Werbeunterbrechung verfolgt werden.
{
"playerTime": {
"playhead": 0,
"ts": "<timestamp>"
},
"eventType":"adBreakStart",
"params": {
"media.ad.podFriendlyName": "ad_pod1",
"media.ad.podIndex": 0,
"media.ad.podSecond": 0
}
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Verfolgen des Starts der Pre-Roll-Anzeige Nr. 1 | 0 | 0 | /api/v1/sessions/{sid}/events |
Beginnen Sie mit dem Tracking der ersten Pre-Roll-Anzeige, die 15 Sekunden dauert, einschließlich anwenderspezifischer Metadaten mit diesem adStart
.
{
"playerTime": {
"playhead": 0,
"ts": "<timestamp>"
},
"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://example.com",
"media.ad.placementId": "sample_placement"
},
"customMetadata": {
"myCustomData1": "CustomData1",
"myCustomData2": "CustomData2"
}
}
HINWEIS: Zwischen AdBreakStart- und AdStart-Ereignissen sollten keine zusätzlichen Wiedergabeereignisse auftreten.
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Anwendung sendet Ping-Ereignis. | 1 | 0 | /api/v1/sessions/{sid}/events |
Senden Sie innerhalb einer Anzeige jede Sekunde ein Ping-Ereignis an das Backend.
{
"playerTime": {
"playhead": 0,
"ts": "<timestamp>"
},
"eventType": "ping"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Anwendung sendet Ping-Ereignis. | 2 | 0 | /api/v1/sessions/{sid}/events |
Senden Sie innerhalb einer Anzeige jede Sekunde ein Ping-Ereignis an das Backend.
{
"playerTime": {
"playhead": 0,
"ts": "<timestamp>"
},
"eventType": "ping"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Anwendung sendet Ping-Ereignis. | 3 | 0 | /api/v1/sessions/{sid}/events |
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 …
{
"playerTime": {
"playhead": 0,
"ts": "<timestamp>"
},
"eventType": "ping"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Verfolgen des Abschlusses der Pre-Roll-Anzeige Nr. 1 | 15 | 0 | /api/v1/sessions/{sid}/events |
Verfolgen Sie das Ende der ersten Pre-Roll-Anzeige.
{
"playerTime": {
"playhead": 0,
"ts": "<timestamp>"
},
"eventType": "adComplete"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Verfolgen des Starts der Pre-Roll-Anzeige Nr. 2 | 15 | 0 | /api/v1/sessions/{sid}/events |
Verfolgen Sie den Start der zweiten Pre-Roll-Anzeige, die 7 Sekunden lang ist.
{
"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://example.com",
"media.ad.placementId": "sample_placement2"
},
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Anwendung sendet Ping-Ereignis. | 20 | 0 | /api/v1/sessions/{sid}/events |
Senden Sie jede Sekunde ein Ping-Ereignis an das Backend.
{
"playerTime": {
"playhead": 0,
"ts": "<timestamp>"
},
"eventType": "ping"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Verfolgen des Abschlusses der Pre-Roll-Anzeige Nr. 2 | 22 | 0 | /api/v1/sessions/{sid}/events |
Verfolgen Sie das Ende der zweiten Pre-Roll-Anzeige.
{
"playerTime": {
"playhead": 0,
"ts": "<timestamp>"
},
"eventType": "adComplete"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Verfolgen des Abschlusses der Pre-Roll-Anzeigenunterbrechung | 22 | 0 | /api/v1/sessions/{sid}/events |
Die Werbeunterbrechung ist vorüber. Während der Anzeigenunterbrechung blieb der Wiedergabestatus auf „Abspielen“.
{
"playerTime": {
"playhead": 0,
"ts": "<timestamp>"
},
"eventType": "adBreakComplete"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Verfolgen des Wiedergabe-Ereignisses | 22 | 0 | /api/v1/sessions/{sid}/events |
Versetzen Sie den Player nach dem Ereignis adBreakComplete
mit dem Ereignis play
in den Status „Playing“ (Wiedergabe).
{
"playerTime": {
"playhead": 0,
"ts": "<timestamp>"
},
"eventType": "play"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Anwendung sendet Ping-Ereignis. | 30 | 8 | /api/v1/sessions/{sid}/events |
Pingen Sie das Backend alle 10 Sekunden an.
{
"playerTime": {
"playhead": 8,
"ts": "<timestamp>"
},
"eventType": "ping"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Pufferstart-Ereignis aufgetreten | 33 | 11 | /api/v1/sessions/{sid}/events |
Verfolgen Sie den Wechsel des Players zum Status „Buffering“ (Puffern).
{
"playerTime": {
"playhead": 11,
"ts": "<timestamp>"
}, "eventType": "bufferStart"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Pufferung abgeschlossen, die App verfolgt die Wiederaufnahme des Inhalts | 36 | 11 | /api/v1/sessions/{sid}/events |
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.
{
"playerTime": {
"playhead": 11,
"ts": "<timestamp>"
},
"eventType": "play"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Anwendung sendet Ping-Ereignis. | 40 | 15 | /api/v1/sessions/{sid}/events |
Pingen Sie das Backend alle 10 Sekunden an.
{
"playerTime": {
"playhead": 15,
"ts": "<timestamp>"
}, "eventType": "ping"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Verfolgen des Starts der Mid-Roll-Anzeigenunterbrechung | 46 | 21 | /api/v1/sessions/{sid}/events |
Mid-Roll-Anzeige mit einer Dauer von 8 Sekunden: Senden Sie adBreakStart
.
{
"playerTime": {
"playhead": 21,
"ts": "<timestamp>"
},
"eventType": "adBreakStart",
"params": {
"media.ad.podFriendlyName": "ad_pod2",
"media.ad.podIndex": 1,
"media.ad.podSecond": 21
}
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Verfolgen des Starts der Mid-Roll-Anzeige Nr. 3 | 46 | 21 | /api/v1/sessions/{sid}/events |
Verfolgen Sie die Mid-Roll-Anzeige.
{
"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://example.com",
"media.ad.placementId": "sample_placement2"
},
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Anwendung sendet Ping-Ereignis. | 50 | 21 | /api/v1/sessions/{sid}/events |
Pingen Sie das Backend alle 10 Sekunden an.
{
"playerTime": {
"playhead": 21,
"ts": "<timestamp>"
}, "eventType": "ping"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Verfolgen des Abschlusses der Mid-Roll-Anzeige Nr. 1 | 54 | 21 | /api/v1/sessions/{sid}/events |
Die Mid-Roll-Anzeige ist abgeschlossen.
{
"playerTime": {
"playhead": 21,
"ts": "<timestamp>"
},
"eventType": "adComplete"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Verfolgen des Abschlusses der Mid-Roll-Anzeigenunterbrechung. | 54 | 21 | /api/v1/sessions/{sid}/events |
Die Werbeunterbrechung ist abgeschlossen.
{
"playerTime": {
"playhead": 21,
"ts": "<timestamp>"
},
"eventType": "adBreakComplete"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Anwendung sendet Ping-Ereignis. | 60 | 27 | /api/v1/sessions/{sid}/events |
Pingen Sie das Backend alle 10 Sekunden an.
{
"playerTime": {
"playhead": 27,
"ts": "<timestamp>"
},
"eventType": "ping"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Benutzer hat Pause gedrückt | 64 | 31 | /api/v1/sessions/{sid}/events |
Durch die Benutzeraktion wechselt der Wiedergabestatus zu „Paused“ (Pause).
{
"playerTime": {
"playhead": 31,
"ts": "<timestamp>"
},
"eventType": "pauseStart"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Anwendung sendet Ping-Ereignis. | 70 | 31 | /api/v1/sessions/{sid}/events |
Pingen Sie das Backend alle 10 Sekunden an. Der Player befindet sich weiterhin im Status „buffering“ (Puffern); der Nutzer hängt bei 20 Sekunden des Inhalts fest und ist würtend.
{
"playerTime": {
"playhead": 31,
"ts": "<timestamp>"
}, "eventType": "ping"
}
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 |
Ä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.
{
"playerTime": {
"playhead": 31,
"ts": "<timestamp>"
}, "eventType": "play"
}
Aktion | Aktions-Timeline (Sekunden) | Abspielleistenposition (Sekunden) | Client-Anfrage |
---|---|---|---|
Anwendung sendet Ping-Ereignis. | 80 | 37 | /api/v1/sessions/{sid}/events |
Pingen Sie das Backend alle 10 Sekunden an.
{
"playerTime": {
"playhead": 37,
"ts": "<timestamp>"
}, "eventType": "ping"
}
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 |
Senden Sie sessionComplete
an das Backend, um anzugeben, dass der Benutzer den gesamten Inhalt abgespielt hat.
{
"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.