Événements vidéo

La spécification vidéo de Commanders Act vous permet de définir comment un client interagit avec vos vidéos et le contenu publicitaire associé.

Cette documentation détaille les conventions et les bonnes pratiques pour l'envoi d'événements lors du suivi des vidéos. Le document clarifie la structure et la classification de ces événements, qui se répartissent en quatre catégories : Lecture, Contenu, Publicités et Paramètres vidéo.

Lecture

Les événements de lecture sont liés à la lecture effective du contenu vidéo et suivent des informations sur le lecteur vidéo.

Par exemple, lorsqu'un client lance une vidéo sur une application, un événement Video Playback Started est envoyé avec un session_id unique. Tous les événements ultérieurs générés à partir de cette session sont liés au même session_id.

Si une page web comporte deux lecteurs vidéo, il y aura deux sessions distinctes et des session_ids associés. Cependant, si deux vidéos distinctes sont lues sur le même lecteur vidéo, elles seront toujours considérées comme une seule session avec deux contenus associés.

Propriétés des événements de lecture

Tous les événements de lecture partagent les mêmes propriétés qui décrivent l'état actuel du lecteur vidéo.

Le tableau suivant répertorie en détail toutes les propriétés de cet objet d'événement de lecture :

Propriété
Type
Requis
Description

video_session_id

String

Oui

Un ID unique qui relie tous les événements générés à partir d'une session de lecture spécifique. Ces événements incluent la lecture, le contenu et les événements publicitaires.

video_title

String

Non

Indique le titre du contenu vidéo.

video_category

String

Non

Indique le genre de l'actif de contenu vidéo.

publisher

String

Non

Indique l'éditeur / créateur / auteur de l'

actif de contenu vidéo.

content_asset_id

String

Array [String]

Oui

ID(s) d'actif(s) de contenu de la/les vidéo(s) en cours de lecture ou

sur le point d'être lue(s).

Pour Video Playback Started événements, un tableau

d'ID d'actifs uniques doit être envoyé. Pour les autres

événements de lecture, un ID d'actif de contenu unique au moment de l'événement doit être envoyé.

content_pod_id

String

Array [String]

Non

ID(s) de pod de contenu de la/les vidéo(s) en cours de lecture ou

sur le point d'être lue(s).

Pour Video Playback Started événements, un tableau

d'ID de pod uniques doivent être envoyés. Pour les autres

événements de lecture, un ID de pod de contenu unique associé au pod de contenu en cours au moment de l'événement doit être envoyé.

ad_asset_id

String

Array [String]

Non

ID(s) d'actif(s) publicitaire(s) de la/les vidéo(s) en cours de lecture ou

sur le point d'être lue(s).

Pour Video Playback Started événements, un tableau

d'ID d'actifs publicitaires uniques doivent être envoyés. Pour les autres

événements de lecture, un ID d'actif publicitaire unique au moment de l'événement doit être envoyé.

ad_pod_id

String

Array [String]

Non

ID(s) de pod publicitaire de la/les vidéo(s) en cours de lecture ou

sur le point d'être lue(s).

Pour Video Playback Started événements, un tableau

d'ID de pod publicitaire uniques doivent être envoyés. Pour les autres

événements de lecture, un ID de pod de contenu unique associé au pod publicitaire en cours au moment de l'événement doit être envoyé.

ad_type

String

Non

Indique le type de publicité en cours de lecture au moment de l'

événement. Les valeurs peuvent être 'pre-roll', ' mid-roll', ou

'post-roll'.

cursor_position

Integer

Oui

Indique la position actuelle de la tête de lecture en secondes. Elle inclut la durée de toutes les publicités vues. Non requis dans video_buffer_start et video_buffer_complete événements Si la lecture est une diffusion en direct, référez-vous à la documentation de la destination concernée pour les étapes sur la façon de transmettre correctement la position de la tête de lecture.

seek_position

Integer

Non

Indique la position de la tête de lecture vers laquelle l'

utilisateur effectue une recherche.

Applicable uniquement sur les video_seek_start et video_seek_complete événements. Sur les video_seek_complete événements,

le seek_position doit être égal à cursor_position.

total_length

Integer

Oui

Indique la durée totale de la lecture vidéo

en secondes. Inclut la durée totale de tout

le contenu et les publicités inclus dans la session.

Définir à null en cas de lecture en direct.

bitrate

Integer

Non

Débit binaire de la lecture vidéo, indiqué en kbps

framerate

Float

Non

Indique la fréquence d'images moyenne de la lecture vidéo en fps.

video_player

String

Non

Indique le nom du lecteur vidéo utilisé pour la

lecture. Exemple : youtube, vimeo, etc.

sound

Integer

Non

Indique le niveau sonore de la lecture vidéo.

La plage va de 0 à 100, où 0 représente muet

et 100 le volume maximal.

full_screen

Boolean

Non

Définir à true si la lecture est en mode plein écran.

ad_enabled

Boolean

Non

Définir à false si l'utilisateur utilise un bloqueur de publicités.

Si l'utilisateur peut voir vos publicités vidéo, il est défini sur

true.

image_quality

String

Non

Spécifie la qualité de la vidéo. Exemples : 'hd1080', 'highres'

interruption_method

String

Non

Pour les Video Playback Interrupted événements, vous pouvez envoyer cette propriété indiquant comment la

lecture a été interrompue.

Quelques exemples incluent 'device_lock', 'call' et

'browser_redirect'.

livestream

Boolean

Non

Définir à true en cas de lecture en direct, sinon définir sur false.

Événements de lecture

Cette section détaille tous les événements de lecture vidéo.

Pour plus d'informations sur chacune des propriétés associées à ces événements, référez-vous à la Playback Event Properties Records

Video Playback Started

Cet événement est associé à l'action de l'utilisateur consistant à appuyer sur le bouton play du lecteur vidéo pour démarrer la lecture.

Un exemple d'événement est présenté ci-dessous :

{
    "event_name": "video_start",
    "user": {},
    "video_session_id": "98765",
    "content_asset_id": ["0133370", "123456"],
    "content_pod_id": ["CAA", "CAB", "CAD"],
    "ad_asset_id": ["ad1", "ad0", "ad2"],
    "ad_pod_id": ["adCAA", "adCAB", "adCAD"],
    "ad_type": "pre-roll",
    "cursor_position": 0,
    "total_length": 600,
    "bitrate": 128,
    "framerate": 60.00,
    "video_player": "vimeo",
    "sound": 100,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Video Playback Paused

Cet événement correspond à l'action de l'utilisateur consistant à mettre la lecture vidéo en pause.

Un exemple d'événement est présenté comme suit :

{
    "event_name": "video_pause",
    "user": {},
    "video_session_id": "98765",
    "content_asset_id": ["0123370", "123456"],
    "content_pod_id": ["CAA", "CAB", "CAD"],
    "cursor_position": 10,
    "total_length": 600,
    "bitrate": 256,
    "framerate": 60.00,
    "video_player": "vimeo",
    "sound": 100,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Video Playback Interrupted

Cet événement est envoyé lorsque la lecture vidéo s'arrête involontairement. Perte de réseau, fermeture du navigateur par l'utilisateur, redirection, etc. sont quelques raisons courantes. Vous pouvez transmettre la cause dans la propriété interruption_method.

Un exemple d'événement est présenté comme suit :

{
    "event_name": "video_error",
    "user": {},
    "video_session_id": "12345",
    "content_asset_id": ["0144370"],
    "content_pod_id": ["CAA", "CAB"],
    "cursor_position": 0,
    "total_length": 300,
    "bitrate": 128,
    "framerate": 30.00,
    "video_player": "youtube",
    "sound": 68,
    "full_screen": true,
    "ad_enabled": true,
    "image_quality": "hd1080",
    "livestream": false,
    "interruption_method":"network_loss"
}

Video Playback Buffer Started

Ceci correspond à l'événement de mise en mémoire tampon du contenu ou d'une publicité.

Un exemple d'événement est présenté comme suit :

{
    "event_name": "video_buffer_start",
    "user": {},
    "video_session_id": "54321",
    "content_asset_id": ["098765"],
    "content_pod_id": ["CAD", "CAE"],
    "cursor_position": 10,
    "total_length": 600,
    "bitrate": 256,
    "framerate": 60.00,
    "video_player": "vimeo",
    "sound": 100,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Video Playback Buffer Completed

Ceci correspond à l'événement lorsque la lecture termine la mise en mémoire tampon du contenu ou d'une publicité.

Un exemple d'événement est présenté comme suit :

{
    "event_name": "video_buffer_complete",
    "user": {},
    "video_session_id": "56789",
    "content_asset_id": ["123456"],
    "content_pod_id": ["CAF", "CAG"],
    "cursor_position": 20,
    "total_length": 400,
    "bitrate": 512,
    "framerate": 60.00,
    "video_player": "dailymotion",
    "sound": 100,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Video Playback Seek Started

Cet événement est envoyé lorsqu'un utilisateur effectue manuellement une recherche vers une certaine position de curseur du contenu vidéo ou d'une publicité pendant la lecture. La cursor_position propriété indique d'où l'utilisateur effectue la recherche (temps en secondes) et la seek_position indique la position du curseur dans la lecture vers laquelle l'utilisateur recherche.

Un exemple d'événement est présenté comme suit :

{
    "event_name": "video_seek_start",
    "user": {},
    "video_session_id": "abcdef",
    "content_asset_id": ["123456"],
    "content_pod_id": ["XYZ", "XYA"],
    "cursor_position": 59,
    "seek_position": 150,
    "total_length": 360,
    "bitrate": 256,
    "framerate": 60.00,
    "video_player": "vimeo",
    "sound": 80,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Video Playback Seek Completed

Cet événement est envoyé après qu'un utilisateur ait recherché manuellement une certaine position de curseur de la vidéo ou de la publicité dans la lecture. La cursor_position propriété indique où l'utilisateur reprend la lecture.

Un exemple d'événement est présenté comme suit :

{
    "event_name": "video_seek_complete",
    "user": {},
    "video_session_id": "abcdef",
    "content_asset_id": ["123456"],
    "content_pod_id": ["XYZ", "XYA"],
    "cursor_position": 59,
    "seek_position": 150,
    "total_length": 360,
    "bitrate": 256,
    "framerate": 60.00,
    "video_player": "vimeo",
    "sound": 80,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Video Playback Resumed

Cet événement est envoyé après que l'utilisateur ait repris la lecture vidéo après l'avoir mise en pause.

Un exemple d'événement est présenté comme suit :

{
    "event_name": "video_resume",
    "user": {},
    "video_session_id": "abcdef",
    "content_asset_id": ["123456"],
    "content_pod_id": ["XYZ", "XYA"],
    "cursor_position": 150,
    "total_length": 360,
    "bitrate": 256,
    "framerate": 60.00,
    "video_player": "vimeo",
    "sound": 80,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Video Playback Completed

Cet événement est envoyé une fois la lecture terminée et lorsque la session de pod est achevée. Notez que la cursor_position propriété a la même valeur que la total_length utilisateur.

Un exemple d'événement est présenté comme suit :

{
    "event_name": "video_complete",
    "user": {},
    "video_session_id": "abcdef",
    "content_asset_id": ["123456"],
    "content_pod_id": ["XYZ", "XYA"],
    "cursor_position": 150,
    "total_length": 360,
    "bitrate": 256,
    "framerate": 60.00,
    "video_player": "vimeo",
    "sound": 80,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Contenu

Un pod fait référence à une partie / groupe / segment du contenu vidéo ou de la publicité au sein de la lecture.

Supposons qu'une session de lecture vidéo comporte une vidéo et une publicité mid-roll. Cela signifie que la publicité mid-roll divise la lecture en deux pods de contenu distincts. La publicité mid-roll est incluse dans un seul pod publicitaire.

Le flux est le suivant :

  • L'utilisateur démarre et complète le premier pod de contenu

  • L'utilisateur démarre et complète la publicité

  • L'utilisateur démarre et complète le second pod de contenu

Tous ces événements dans le flux se déroulent au sein d'une même lecture vidéo.

Propriétés des événements de contenu

Tous les événements de contenu partagent les mêmes propriétés qui décrivent l'état actuel du contenu vidéo visionné par l'utilisateur pendant la lecture.

Le tableau suivant répertorie en détail toutes les propriétés de cet objet d'événement de lecture :

Propriété
Type
Requis
Description

video_session_id

String

Oui

Un ID unique qui relie tous les événements générés à partir d'une session de lecture spécifique. Ces événements incluent la lecture, le contenu et les événements publicitaires.

content_asset_id

String

Oui

Indique l'ID unique de l'actif de contenu vidéo.

content_pod_id

String

Non

Indique l'ID unique du pod de contenu vidéo.

video_title

String

Non

Indique le titre du contenu vidéo.

video_description

String

Non

Décrit brièvement l'actif de contenu vidéo.

keywords

Array [String]

Non

Indique les mots-clés pertinents associés à la

catégorisation du contenu vidéo

season

String

Non

Indique le numéro de saison, si applicable.

episode

String

Non

Indique le numéro d'épisode, si applicable.

video_category

String

Non

Indique le genre de l'actif de contenu vidéo.

program

String

Non

Indique le nom du programme / spectacle dont

le contenu vidéo fait partie.

publisher

String

Non

Indique l'éditeur / créateur / auteur de l'

actif de contenu vidéo.

channel

String

Non

Indique la chaîne sur laquelle le contenu vidéo

est diffusé.

full_episode

Boolean

Non

Définir à true l'actif de contenu vidéo est un épisode complet.

livestream

Boolean

Non

Si le contenu vidéo est une diffusion en direct, ceci est défini sur

true.

airdate

ISO 8601

Chaîne de date

Non

Indique la date originale de diffusion / publication

du contenu vidéo.

cursor_position

Integer

Oui

Indique la position actuelle de la tête de lecture dans le

contenu vidéo en secondes. Cela n'inclut pas

les publicités lues pendant cette durée.

En cas de diffusions en direct, référez-vous à la documentation de la destination concernée pour des détails sur la manière de transmettre cette propriété.

total_length

Integer

Oui

La durée totale du contenu vidéo en

secondes. Cela n'inclut pas les publicités incluses

dans la lecture de cet actif de contenu.

Pour la lecture en livestream, cela doit être défini sur null.

bitrate

Integer

Non

Indique le débit binaire actuel en kbps.

framerate

Float

Non

Indique la fréquence d'images en fps.

Événements de contenu

Cette section détaille tous les événements de contenu vidéo.

Pour plus d'informations sur chacune des propriétés associées à ces événements, référez-vous à la Propriétés des événements de contenu Records

Video Content Started

Cet événement est envoyé une fois que l'utilisateur commence à lire un segment de contenu vidéo au sein d'une lecture.

Un exemple d'événement est présenté comme suit :

{
    "event_name": "video_content_start",
    "video_session_id": "98765",
    "content_asset_id": "456",
    "content_pod_id": "XYZ",
    "program": "The Lion King",
    "video_title": "Act 1",
    "video_description": "Invented description",
    "season": "1",
    "episode":"14",
    "channel":"NBC",
    "livestream":false,
    "airdate":"2022-12-20",
    "cursor_position": 5,
    "total_length": 200,
    "video_category": "Animation",
    "publisher": "Disney",
    "full_episode": false,
    "keywords": ["lion", "savannah", "circle of life"],
    "user": {}
}

Video Content Playing

Ces événements sont envoyés périodiquement comme des heartbeats pour indiquer la durée de vidéo regardée par l'utilisateur, déterminée par le cursor_position utilisateur.

Un exemple d'événement est présenté comme suit :

{
    "event_name": "video_content_playing",
    "video_session_id": "56789",
    "content_asset_id": "789",
    "content_pod_id": "ABC",
    "program": "The Jungle Book",
    "video_title": "Act 2",
    "video_description": "Invented description",
    "season": "2",
    "cursor_position": 123,
    "total_length": 400,
    "video_category": "Adventure",
    "publisher": "Disney",
    "full_episode": false,
    "framerate": 60,
    "bitrate": 4500,
    "keywords": ["jungle", "animals", "mowgli"],
    "user": {}
}

Video Content Quarter Reached

Ces événements sont envoyés lorsqu'un quart de la vidéo est atteint, déterminé par le cursor_position utilisateur.

Un exemple d'événement est présenté comme suit :

{
    "event_name": "video_content_quarter_reached",
    "video_session_id": "56789",
    "content_asset_id": "789",
    "content_pod_id": "ABC",
    "program": "The Jungle Book",
    "video_title": "Act 2",
    "video_description": "Invented description",
    "season": "2",
    "cursor_position": 123,
    "total_length": 400,
    "video_category": "Adventure",
    "publisher": "Disney",
    "full_episode": false,
    "keywords": ["jungle", "animals", "mowgli"],
    "user": {}
}

Video Content Completed

Cet événement est envoyé une fois le segment vidéo au sein de la lecture terminé. Notez que le cursor_position propriété a la même valeur que la total_length utilisateur.

Un exemple d'événement est présenté comme suit :

{
    "event_name": "video_content_complete",
    "video_session_id": "01234",
    "content_asset_id": "111",
    "content_pod_id": "DEF",
    "program": "Tarzan",
    "video_title": "Finale",
    "video_description": "Invented description",
    "season": "4",
    "cursor_position": 300,
    "total_length": 300,
    "video_category": "Adventure",
    "publisher": "Disney",
    "full_episode": true,
    "keywords": ["jungle", "apes", "tarzan"],
    "user": {}
}

Publicités

Propriétés des événements publicitaires

Tous les événements publicitaires partagent les mêmes propriétés qui décrivent l'état actuel du contenu publicitaire vidéo avec lequel un utilisateur interagit pendant la lecture.

Le tableau suivant répertorie en détail toutes les propriétés de cet objet d'événement publicitaire :

Propriété
Type
Requis
Description

video_session_id

String

Oui

Un ID unique qui relie tous les événements générés à partir d'une session de lecture spécifique. Ces événements incluent la lecture, le contenu et les événements publicitaires.

ad_asset_id

String

Oui

Indique l'ID unique de l'actif publicitaire.

ad_pod_id

String

Oui

Indique l'ID unique du pod publicitaire.

pod_position

Integer

Non

Indique la position de l'actif publicitaire par rapport

aux autres publicités dans le même pod.

ad_type

String

Non

Indique le type de publicité en cours de lecture au moment de l'

événement. Les valeurs peuvent être 'pre-roll', ' mid-roll', ou

'post-roll'.

pod_length

Integer

Non

Indique le nombre d'actifs publicitaires dans le

pod publicitaire en cours.

video_title

String

Non

Indique le titre de la publicité.

publisher

String

Non

Indique l'auteur / créateur / éditeur de la publicité.

cursor_position

Integer

Oui

La position actuelle de la tête de lecture par rapport à la

durée totale de la publicité, en secondes.

total_length

Integer

Oui

Indique la durée totale de l'actif publicitaire en secondes.

load_type

Enum

Non

Indique si les publicités sont chargées dynamiquement ou si

elles sont les mêmes pour tous les utilisateurs. Les valeurs peuvent être soit 'dynamic' ou ' linear '.

ad_quartile

Integer

Non

Pour les Video Ad Playing événement, cette propriété

peut être utilisée pour indiquer quand un quart spécifique de la publicité

est atteint.

Si vous utilisez une bibliothèque client-side pour suivre vos

événements vidéo, cette propriété est optionnelle car Commanders Act

suit automatiquement les quartiles publicitaires.

Événements publicitaires

Cette section détaille tous les événements publicitaires.

Pour plus d'informations sur chacune des propriétés associées à ces événements, référez-vous à la Propriétés des événements publicitaires Records

Video Ad Started

Cet événement est envoyé lorsqu'une séquence publicitaire commence à être lue dans la lecture vidéo.

Un exemple d'événement est présenté comme suit :

{
  "event_name": "video_ad_start",
  "user": {},
  "video_session_id": "abcdef",
  "ad_asset_id": "456",
  "ad_pod_id": "XYA",
  "ad_type": "pre-roll",
  "video_title": "SmackDown!",
  "cursor_position": 0,
  "total_length": 30,
  "publisher": "WWE",
  "load_type": "linear"
}

Video Ad Playing

Cet événement est envoyé à intervalles définis lorsque la publicité vidéo est en cours de lecture et est déterminé par le cursor_position utilisateur.

Un exemple d'événement est présenté comme suit :

{
  "event_name": "video_ad_playing",
  "user": {},
  "video_session_id": "abcdef",
  "ad_asset_id": "456",
  "ad_pod_id": "XYA",
  "ad_type": "pre-roll",
  "video_title": "SmackDown!",
  "cursor_position": 10,
  "total_length": 30,
  "publisher": "WWE",
  "load_type": "linear"
}

Annonce vidéo arrêtée

Cet événement est envoyé après que l'utilisateur a visionné complètement une annonce vidéo. Notez que le cursor_position propriété a la même valeur que la total_length utilisateur.

{
  "event_name": "video_ad_stop",
  "user": {},
  "video_session_id": "abcdef",
  "ad_asset_id": "456",
  "ad_pod_id": "XYA",
  "ad_type": "pre-roll",
  "video_title": "SmackDown!",
  "cursor_position": 30,
  "total_length": 30,
  "publisher": "WWE",
  "load_type": "linear"
}

Annonce vidéo terminée

Cet événement est envoyé après que l'utilisateur a visionné complètement la séquence d'annonces vidéo. Notez que le cursor_position propriété a la même valeur que la total_length utilisateur.

{
  "event_name": "video_ad_complete",
  "user": {},
  "video_session_id": "abcdef",
  "ad_asset_id": "456",
  "ad_pod_id": "XYA",
  "ad_type": "pre-roll",
  "video_title": "SmackDown!",
  "cursor_position": 30,
  "total_length": 30,
  "publisher": "WWE",
  "load_type": "linear"
}

Annonce vidéo ignorée

Cet événement est envoyé lorsque l'utilisateur clique sur le bouton ignorer l'annonce.

{
  "event_name": "video_ad_skip",
  "user": {},
  "video_session_id": "abcdef",
  "ad_asset_id": "456",
  "ad_pod_id": "XYA",
  "ad_type": "pre-roll",
  "video_title": "SmackDown!",
  "cursor_position": 20,
  "total_length": 30,
  "publisher": "WWE",
  "load_type": "linear"
}

Début de la pause publicitaire

Cet événement est envoyé lorsqu'une pause publicitaire commence à jouer pendant la lecture de la vidéo.

Un exemple d'événement est présenté comme suit :

{
  "event_name": "video_ad_break_start",
  "user": {},
  "video_session_id": "abcdef",
  "ad_asset_id": "456",
  "ad_pod_id": "XYA",
  "ad_type": "pre-roll",
  "video_title": "SmackDown!",
  "cursor_position": 0,
  "total_length": 30,
  "publisher": "WWE",
  "load_type": "linear"
}

Fin de la pause publicitaire

Cet événement est envoyé après que l'utilisateur a visionné complètement le pod de pauses publicitaires. Notez que le cursor_position propriété a la même valeur que la total_length utilisateur.

{
  "event_name": "video_ad_break_complete",
  "user": {},
  "video_session_id": "abcdef",
  "ad_asset_id": "456",
  "ad_pod_id": "XYA",
  "ad_type": "pre-roll",
  "video_title": "SmackDown!",
  "cursor_position": 30,
  "total_length": 30,
  "publisher": "WWE",
  "load_type": "linear"
}

Clic sur l'annonce vidéo

Cet événement est envoyé lorsque l'utilisateur clique sur l'annonce.

{
  "event_name": "video_ad_click",
  "user": {},
  "video_session_id": "abcdef",
  "ad_asset_id": "456",
  "ad_pod_id": "XYA",
  "ad_type": "pre-roll",
  "video_title": "SmackDown!",
  "cursor_position": 20,
  "total_length": 30,
  "publisher": "WWE",
  "load_type": "linear"
}

Paramètres

Définition des propriétés des événements

Tous les événements de réglages partagent les mêmes propriétés qui décrivent l'état actuel du contenu vidéo avec lequel un utilisateur interagit pendant la lecture.

Propriété
Type
Requis
Description

video_session_id

String

Oui

Un ID unique qui relie tous les événements générés à partir d'une session de lecture spécifique. Ces événements incluent la lecture, le contenu et les événements publicitaires.

content_asset_id

String

Oui

Indique l'ID unique de l'actif de contenu vidéo.

content_pod_id

String

Non

Indique l'ID unique du pod de contenu vidéo.

ad_asset_id

String

Non

Indique l'ID unique de l'actif publicitaire.

ad_pod_id

String

Non

Indique l'ID unique du pod publicitaire.

ad_type

String

Non

Indique le type de publicité en cours de lecture au moment de l'

événement. Les valeurs peuvent être 'pre-roll', ' mid-roll', ou

'post-roll'.

video_title

String

Non

Indique le titre du contenu vidéo.

video_description

String

Non

Décrit brièvement l'actif de contenu vidéo.

keywords

Array [String]

Non

Indique les mots-clés pertinents associés à la

catégorisation du contenu vidéo

season

String

Non

Indique le numéro de saison, si applicable.

episode

String

Non

Indique le numéro d'épisode, si applicable.

video_category

String

Non

Indique le genre de l'actif de contenu vidéo.

program

String

Non

Indique le nom du programme / spectacle dont

le contenu vidéo fait partie.

publisher

String

Non

Indique l'éditeur / créateur / auteur de l'

actif de contenu vidéo.

channel

String

Non

Indique la chaîne sur laquelle le contenu vidéo

est diffusé.

full_episode

Boolean

Non

Définir à true l'actif de contenu vidéo est un épisode complet.

livestream

Boolean

Non

Si le contenu vidéo est une diffusion en direct, ceci est défini sur

true.

airdate

ISO 8601

Chaîne de date

Non

Indique la date originale de diffusion / publication

du contenu vidéo.

cursor_position

Integer

Oui

Indique la position actuelle de la tête de lecture dans le

contenu vidéo en secondes. Cela n'inclut pas

les publicités lues pendant cette durée.

En cas de diffusions en direct, référez-vous à la documentation de la destination concernée pour des détails sur la manière de transmettre cette propriété.

total_length

Integer

Oui

La durée totale du contenu vidéo en

secondes. Cela n'inclut pas les publicités incluses

dans la lecture de cet actif de contenu.

Pour la lecture en livestream, cela doit être défini sur null.

bitrate

Integer

Oui

Indique le débit binaire actuel en kbps.

framerate

Float

Non

Indique la fréquence d'images en fps.

sound

Integer

Oui

Indique le niveau sonore actuel de la vidéo

Requis dans video_volume méthode

full_screen

Boolean

Oui

Indique le mode d'écran actuel de la vidéo. Requis dans video_fullscreen_on et video_full_screen_off événements

ad_enabled

Boolean

Non

Indique si les publicités étaient activées

image_quality

String

Oui

Indique la résolution de qualité actuelle de la vidéo. Requis dans video_quality méthode

Reprise de la lecture

Événements de réglage

Cette section détaille tous les événements de réglages vidéo.

Pour plus d'informations sur chacune des propriétés associées à ces événements, référez-vous à la Propriétés de l'événement de réglage Records

Volume vidéo

Cet événement est envoyé lorsque l'utilisateur modifie le volume audio du lecteur vidéo.

Un exemple d'événement est présenté ci-dessous :

{
    "event_name": "video_volume",
    "user": {},
    "video_session_id": "98765",
    "content_asset_id": ["0133370", "123456"],
    "content_pod_id": ["CAA", "CAB", "CAD"],
    "ad_asset_id": ["ad1", "ad0", "ad2"],
    "ad_pod_id": ["adCAA", "adCAB", "adCAD"],
    "ad_type": "mid-roll",
    "cursor_position": 420,
    "total_length": 600,
    "bitrate": 128,
    "framerate": 60.00,
    "video_player": "vimeo",
    "sound": 120,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Vitesse vidéo

Cet événement est envoyé lorsque l'utilisateur modifie la vitesse du lecteur vidéo.

Un exemple d'événement est présenté ci-dessous :

{
    "event_name": "video_speed",
    "user": {},
    "video_session_id": "98765",
    "content_asset_id": ["0133370", "123456"],
    "content_pod_id": ["CAA", "CAB", "CAD"],
    "ad_asset_id": ["ad1", "ad0", "ad2"],
    "ad_pod_id": ["adCAA", "adCAB", "adCAD"],
    "ad_type": "mid-roll",
    "cursor_position": 420,
    "total_length": 600,
    "bitrate": 128,
    "framerate": 60.00,
    "video_player": "vimeo",
    "sound": 120,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Sous-titres activés

Cet événement est envoyé lorsque l'utilisateur active les sous-titres du lecteur vidéo.

Un exemple d'événement est présenté ci-dessous :

{
    "event_name": "video_subtitle_on",
    "user": {},
    "video_session_id": "98765",
    "content_asset_id": ["0133370", "123456"],
    "content_pod_id": ["CAA", "CAB", "CAD"],
    "ad_asset_id": ["ad1", "ad0", "ad2"],
    "ad_pod_id": ["adCAA", "adCAB", "adCAD"],
    "ad_type": "pre-roll",
    "cursor_position": 420,
    "total_length": 600,
    "bitrate": 128,
    "framerate": 60.00,
    "video_player": "vimeo",
    "sound": 120,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Sous-titres désactivés

Cet événement est envoyé lorsque l'utilisateur désactive les sous-titres du lecteur vidéo.

Un exemple d'événement est présenté ci-dessous :

{
    "event_name": "video_subtitle_off",
    "user": {},
    "video_session_id": "98765",
    "content_asset_id": ["0133370", "123456"],
    "content_pod_id": ["CAA", "CAB", "CAD"],
    "ad_asset_id": ["ad1", "ad0", "ad2"],
    "ad_pod_id": ["adCAA", "adCAB", "adCAD"],
    "ad_type": "post-roll",
    "cursor_position": 420,
    "total_length": 600,
    "bitrate": 128,
    "framerate": 60.00,
    "video_player": "vimeo",
    "sound": 120,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Plein écran activé

Cet événement est envoyé lorsque l'utilisateur active la vue plein écran du lecteur vidéo.

Un exemple d'événement est présenté ci-dessous :

{
    "event_name": "video_fullscreen_on",
    "user": {},
    "video_session_id": "98765",
    "content_asset_id": ["0133370", "123456"],
    "content_pod_id": ["CAA", "CAB", "CAD"],
    "ad_asset_id": ["ad1", "ad0", "ad2"],
    "ad_pod_id": ["adCAA", "adCAB", "adCAD"],
    "ad_type": "post-roll",
    "cursor_position": 420,
    "total_length": 600,
    "bitrate": 128,
    "framerate": 60.00,
    "video_player": "vimeo",
    "sound": 120,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Plein écran désactivé

Cet événement est envoyé lorsque l'utilisateur désactive la vue plein écran du lecteur vidéo.

Un exemple d'événement est présenté ci-dessous :

{
    "event_name": "video_fullscreen_off",
    "user": {},
    "video_session_id": "98765",
    "content_asset_id": ["0133370", "123456"],
    "content_pod_id": ["CAA", "CAB", "CAD"],
    "ad_asset_id": ["ad1", "ad0", "ad2"],
    "ad_pod_id": ["adCAA", "adCAB", "adCAD"],
    "ad_type": "pre-roll",
    "cursor_position": 420,
    "total_length": 600,
    "bitrate": 128,
    "framerate": 60.00,
    "video_player": "vimeo",
    "sound": 120,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Qualité vidéo

Cet événement est envoyé lorsque la qualité vidéo du lecteur est modifiée.

Un exemple d'événement est présenté ci-dessous :

{
    "event_name": "video_quality",
    "user": {},
    "video_session_id": "98765",
    "content_asset_id": ["0133370", "123456"],
    "content_pod_id": ["CAA", "CAB", "CAD"],
    "ad_asset_id": ["ad1", "ad0", "ad2"],
    "ad_pod_id": ["adCAA", "adCAB", "adCAD"],
    "ad_type": "mid-roll", 
    "cursor_position": 420,
    "total_length": 600,
    "bitrate": 128,
    "framerate": 60.00,
    "video_player": "vimeo",
    "sound": 120,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Partage de la vidéo

Cet événement est envoyé lorsque la vidéo est partagée par l'utilisateur.

Un exemple d'événement est présenté ci-dessous :

{
    "event_name": "video_share",
    "user": {},
    "video_session_id": "98765",
    "content_asset_id": ["0133370", "123456"],
    "content_pod_id": ["CAA", "CAB", "CAD"],
    "cursor_position": 420,
    "total_length": 600,
    "bitrate": 128,
    "framerate": 60.00,
    "video_player": "vimeo",
    "sound": 120,
    "full_screen": false,
    "ad_enabled": false,
    "image_quality": "hd720",
    "livestream": true
}

Reprise de la lecture

Chaque Video Playback Resumed l'événement doit être suivi par un événement Video Content Playing ou un Video Ad Playing événement, selon l'actif sur lequel la lecture reprend.

Qualité vidéo

Commanders Act vous permet également de suivre et d'analyser la performance et la qualité de vos contenus vidéo pendant la lecture.

Chaque fois qu'un utilisateur change la qualité vidéo pendant la lecture, vous pouvez suivre un événement Video Quality Updated avec les propriétés suivantes :

  • bitrate: Indique le débit binaire mis à jour en kbps.

  • framerate: Indique la fréquence d'images mise à jour en fps.

  • startupTime: Indique le moment où la qualité vidéo a été modifiée par l'utilisateur.

  • droppedFrames: Indique si des images ont été perdues lors du changement de qualité vidéo.

Cycle de vie des événements

Le flux d'événements suivant montre comment vous pouvez implémenter la spécification vidéo de Commanders Act :

1. L'utilisateur appuie sur lecture sur un lecteur vidéo

cact("trigger","video_start", {
  video_session_id: "12345",
  content_asset_id: ["123"],
  content_pod_id: ["BAA"],
  ad_asset_id: ["ad1"],
  ad_pod_id: ["adCAA"],
  ad_type: "mid-roll",
  cursor_position: 0,
  total_length: 300,
  bitrate: 128,
  video_player: "youtube",
  sound: 67,
  full_screen: true,
  ad_enabled: false,
  image_quality: "hd1080",
});

2. La lecture de la vidéo commence à jouer le contenu

cact("trigger","video_content_start", {
  video_session_id: "12345",
  content_asset_id: "123",
  content_pod_id: "CAA",
  video_title: "Raw is War!!",
  video_description: "Sample description",
  keywords: ["wrestling", "entertainment"],
  season: "1",
  episode: "90",
  video_category: "entertainment",
  program: "WWE",
  publisher: "WWE",
  cursor_position: 0,
  total_length: 300,
  channel: "ten",
  full_episode: true,
  livestream: false,
  airdate: "2020-04-23",
});

3. L'utilisateur regarde le contenu pendant 10 secondes suivi d'un heartbeat de 10 secondes

cact("trigger","video_content_playing", {
  video_session_id: "12345",
  content_asset_id: "123",
  content_pod_id: "CAA",
  video_title: "Raw is War!!",
  video_description: "Sample description",
  keywords: ["wrestling", "entertainment"],
  season: "1",
  episode: "90",
  video_category: "entertainment",
  program: "WWE",
  publisher: "WWE",
  cursor_position: 10,
  total_length: 300,
  channel: "ten",
  full_episode: true,
  livestream: false,
  airdate: "2020-04-23",
})

4. La lecture de la vidéo est mise en pause

cact("trigger","video_pause", {
  video_session_id: "12345",
  content_asset_id: "123",
  content_pod_id: "CAA",
  ad_asset_id: null,
  ad_pod_id: null,
  ad_type: null,
  cursor_position: 11,
  total_length: 300,
  video_player: "youtube",
  sound: 66,
  bitrate: 128,
  full_screen: true,
  ad_enabled: false,
  image_quality: "hd1080",
});

5. L'utilisateur reprend la lecture de la vidéo.

cact("trigger","video_resume", {
  video_session_id: "12345",
  content_asset_id: "123",
  content_pod_id: "CAA",
  ad_asset_id: null,
  ad_pod_id: null,
  ad_type: null,
  cursor_position: 11,
  total_length: 300,
  video_player: "youtube",
  sound: 66,
  bitrate: 128,
  full_screen: true,
  ad_enabled: false,
  image_quality: "hd1080",
});

6. L'annonce (mid-roll) commence à jouer après que l'utilisateur a repris la lecture

cact("trigger","video_ad_start", {
  video_session_id: "12345",
  ad_asset_id: "ad1",
  ad_pod_id: "adCAA",
  ad_type: "mid-roll",
  video_title: "Thums Up",
  publisher: "Coca Cola",
  cursor_position: 0,
  total_length: 15,
  load_type: "linear",
});

7. L'utilisateur regarde entièrement la publicité de 15 secondes. Commanders Act suit également les heartbeats toutes les 10 secondes.

cact("trigger","video_ad_playing", {
  video_session_id: "12345",
  ad_asset_id: "ad1",
  ad_pod_id: "adCAA",
  ad_type: "mid-roll",
  video_title: "Thums Up",
  publisher: "Coca Cola",
  cursor_position: 10,
  total_length: 15,
  load_type: "linear",
});

8. L'annonce vidéo se termine complètement.

cact("trigger","video_ad_complete", {
  video_session_id: "12345",
  ad_asset_id: "ad1",
  ad_pod_id: "adCAA",
  ad_type: "mid-roll",
  video_title: "Thums Up",
  publisher: "Coca Cola",
  cursor_position: 15,
  total_length: 15,
  load_type: "linear",
})

9. La lecture du contenu vidéo reprend. Des heartbeats sont envoyés toutes les 10 secondes.

cact("trigger","video_content_playing", {
  video_session_id: "12345",
  content_asset_id: "123",
  content_pod_id: "CAA",
  video_title: "Raw is War!!",
  video_description: "Sample description",
  keywords: ["wrestling", "entertainment"],
  season: "1",
  episode: "90",
  video_category: "entertainment",
  program: "WWE",
  publisher: "WWE",
  cursor_position: 11,
  total_length: 300,
  channel: "ten",
  full_episode: true,
  livestream: false,
  airdate: "2020-04-23",
})

10. L'utilisateur a fini de regarder l'intégralité du contenu vidéo.

cact("trigger","video_content_complete", {
  video_session_id: "12345",
  content_asset_id: "123",
  content_pod_id: "CAA",
  video_title: "Raw is War!!",
  video_description: "Sample description",
  keywords: ["wrestling", "entertainment"],
  season: "1",
  episode: "90",
  video_category: "entertainment",
  program: "WWE",
  publisher: "WWE",
  cursor_position: 300,
  total_length: 300,
  channel: "ten",
  full_episode: true,
  livestream: false,
  airdate: "2020-04-23",
})

11. La lecture vidéo se termine.

cact("trigger","video_complete", {
  video_session_id: "12345",
  content_asset_id: null,
  content_pod_id: null,
  ad_asset_id: "ad1",
  ad_pod_id: "adCAA",
  ad_type: null,
  cursor_position: 300,
  total_length: 300,
  sound: 66,
  bitrate: 128,
  full_screen: true,
  video_player: "youtube",
  ad_enabled: false,
  image_quality: "hd1080",
})

FAQ

Que sont les annonces pre-roll, mid-roll et post-roll ?

  • Les annonces qui apparaissent avant le début de la lecture vidéo sont appelées pre-roll ads.

  • Les annonces qui apparaissent au milieu de la lecture sont des mid-roll ads.

  • Les annonces qui apparaissent après la lecture vidéo sont appelées post-roll ads.

Ces annonces peuvent être une vidéo promotionnelle par les sponsors ou un morceau de contenu proposé par le fournisseur de contenu.

Mis à jour

Ce contenu vous a-t-il été utile ?