Timeline 2: utente abbandona la sessione

VOD, annunci pre-roll e mid-roll, l’utente abbandona i contenuti in anticipo

I seguenti diagrammi illustrano la tempistica della testina di riproduzione e la corrispondenza con le azioni di un utente. Di seguito sono riportati i dettagli di ciascuna azione e le relative richieste.

Dettagli azione

Azione 1 - Avvia sessione

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
Pulsante di riproduzione o riproduzione automatica premuto 0 0 /api/v1/sessions

Dettagli di implementazione

Questa chiamata segnala l’intenzione dell’utente di riprodurre un video. Restituisce un ID sessione ({sid}) al client utilizzato per identificare tutte le chiamate di tracciamento successive all’interno della sessione. Lo stato del lettore non è ancora “in riproduzione”, ma è “in avvio”. Parametri di sessione obbligatori devono essere inclusi nella mappa params nel corpo della richiesta. Nel backend, questa chiamata genera una chiamata di avvio Adobe Analytics.

Corpo della richiesta di esempio

{
    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
    }
}

Azione 2 - Avvio timer del ping

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
L’app avvia il timer dell’evento ping 0 0

Dettagli di implementazione

Avvia il timer ping dell’app. Il primo evento ping dovrebbe quindi attivarsi in 1 secondo se ci sono annunci pre-roll, 10 secondi in caso contrario.

Azione 3 - Avvio dell’interruzione pubblicitaria

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
Tracciamento inizio dell’interruzione pubblicitaria pre-roll 0 0 /api/v1/sessions/{sid}/events

Dettagli di implementazione

Gli annunci pre-roll devono essere tracciati. Gli annunci possono essere tracciati solo all’interno di un’interruzione pubblicitaria.

Corpo della richiesta di esempio

{
    playerTime: {
        playhead: 0,
        ts: <timestamp>
    },
    eventType:adBreakStart, params: {
        "media.ad.podFriendlyName": "ad_pod1",
        "media.ad.podIndex": 0,
        "media.ad.podSecond": 0
    }
}

Azione 4 - Avvio dell’annuncio

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
Tracciamento dell’inizio dell’annuncio pre-roll n.1 0 0 /api/v1/sessions/{sid}/events

Dettagli di implementazione

Inizia un annuncio di 12 secondi.

Corpo della richiesta di esempio

{
    playerTime: {
        playhead: 0,
        ts: <timestamp>
    },
    eventType:adStart, params: {
        "media.ad.podFriendlyName": "ad_pod1",
        "media.ad.name": "Ad 1",
        "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": "1",
        "media.ad.creativeId": "42",
        "media.ad.siteId": "XYZ",
        "media.ad.creativeURL": "https://xyz-creative.com",
        "media.ad.placementId": "sample-placement2"
    },
}

Azione 5: ping annuncio

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
L’app invia un evento ping 1 0 /api/v1/sessions/{sid}/events

Dettagli di implementazione

Esegui il ping del backend ogni 1 secondo. (I successivi ping degli annunci non vengono visualizzati per brevità.)

Corpo della richiesta di esempio

{
    playerTime: {
        playhead: 0,
        ts: <timestamp>
    },
    eventType:ping
}

Azione 6 - Annuncio completato

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
Traccia il completamento del 1° annuncio pre-roll 12 0 /api/v1/sessions/{sid}/events

Dettagli di implementazione

Il primo annuncio pre-roll è finito.

Corpo della richiesta di esempio

{
    playerTime: {
        playhead: 0,
        ts: <timestamp>
    },
    eventType:adComplete
}

Azione 7: pausa annuncio completata

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
Tracciamento dell’annuncio pre-roll completato 12 0 /api/v1/sessions/{sid}/events

Dettagli di implementazione

L’interruzione pubblicitaria è terminata. Durante la pausa annuncio, il lettore è rimasto in stato di “riproduzione”.

Corpo della richiesta di esempio

{
    playerTime: {
        playhead: 0,
        ts: <timestamp>
    },
    eventType:adBreakComplete
}

Azione 8: riproduzione contenuto

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
Tracciamento dell’evento di riproduzione 12 0 /api/v1/sessions/{sid}/events

Dettagli di implementazione

Sposta il lettore sullo stato di “riproduzione”; inizia il tracciamento dell’avvio della riproduzione del contenuto.

Corpo della richiesta di esempio

{
    playerTime: {
        playhead: 0,
        ts: <timestamp>
    },
    eventType:play,
    qoeData: { bitrate: 10000 }
}

Azione 9: ping

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
L’app invia un evento ping 20 8 /api/v1/sessions/{sid}/events

Dettagli di implementazione

Esegui il ping del backend ogni 10 secondi.

Corpo della richiesta di esempio

{
    playerTime: {
        playhead: 8ß,
        ts: <timestamp>
    },
    eventType:ping
}

Azione 10: ping

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
L’app invia un evento ping 30 18 /api/v1/sessions/{sid}/events

Dettagli di implementazione

Esegui il ping del backend ogni 10 secondi.

Corpo della richiesta di esempio

{
    playerTime: {
        playhead: 18,
        ts: <timestamp>
    },
    eventType:ping
}

Azione 11: errore

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
Si verifica un errore, l’app invia informazioni sull’errore. 32 20 /api/v1/sessions/{sid}/events

Dettagli di implementazione

Corpo della richiesta di esempio

{
    playerTime: {
        playhead: 20,
        ts: <timestamp>
    },
    eventType:error
}

Azione 12: riproduzione del contenuto

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
L’app si ripristina dopo l’errore, l’utente preme Riproduci 37 20 /api/v1/sessions/{sid}/events

Dettagli di implementazione

Corpo della richiesta di esempio

{
    playerTime: {
        playhead: 18,
        ts: <timestamp>
    },
    eventType:play, qoeData: { bitrate: 10000 }
}

Azione 13: ping

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
L’app invia un evento ping 40 28 /api/v1/sessions/{sid}/events

Dettagli di implementazione

Esegui il ping del backend ogni 10 secondi.

Corpo della richiesta di esempio

{
    playerTime: {
        playhead: 28,
        ts: <timestamp>
    },
    eventType:ping
}

Azione 14: avvio dell’interruzione dell’annuncio

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
Tracciamento avvio interruzione pubblicitaria mid-roll 45 33 /api/v1/sessions/{sid}/events

Dettagli di implementazione

Annuncio mid-roll con una durata di 8 secondi: invia adBreakStart.

Esempio di corpo della richiesta

{
    playerTime: {
        playhead: 33,
        ts: <timestamp>
    },
    eventType:adBreakStart, params: {
        "media.ad.podFriendlyName": "ad_pod2",
        "media.ad.podIndex": 1,
        "media.ad.podSecond": 33
    }
}

Azione 15: avvio dell’annuncio

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
Avvio tracciamento annuncio mid-roll n.1 45 33 /api/v1/sessions/{sid}/events

Dettagli di implementazione

Tracciamento dell’annuncio mid-roll.

Esempio di corpo della richiesta

{
    playerTime: { playhead: 33, ts: <timestamp>
    },
    eventType:adStart, params: {
        "media.ad.podFriendlyName": "ad_pod1",
        "media.ad.name": "Ad 1",
        "media.ad.id": "002",
        "media.ad.length": 8,
        "media.ad.podPosition": 1,
        "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"
    },
}

Azione 16: chiusura dell’app

Azione Timeline di azioni (secondi) Posizione della testina di riproduzione (secondi) Richiesta del client
L’utente chiude l’app. L’app determina che l’utente ha abbandonato la visualizzazione e non ritorna alla sessione. 48 33 /api/v1/sessions/{sid}/events

Dettagli di implementazione

Invia sessionEnd al backend VA per indicare che la sessione deve essere chiusa immediatamente, senza ulteriore elaborazione.

Corpo della richiesta di esempio

{
    playerTime: {
        playhead: 33,
        ts: <timestamp>
    },
    eventType:sessionEnd
}

In questa pagina