Guide de la DCO avec Displayce

Guide du module DCO de Displayce Le module de dynamic creative optimization (DCO) de Displayce permet aux annonceurs de diffuser des messages publicitaires dont le contenu varie d’une diffusion à la suivante, selon des informations de flux récupérées depuis un de nos adserver. Principes des contenus dynamiques Nous décrivons l'exemple DCO_package_BET_1080x1920-online-FR utilisé pour nos tests techniques. Cette publicité exemple fait la promotion d’un site factice bet.com

L’objectif est d’afficher des cotes de pari sportif selon des informations récupérées sur nos serveurs. Le principe général est de venir superposer sur une video mp4 de 10s des informations légères (éléments de textes ou petites images) afin de dynamiser et de contextualiser la vidéo. Sur notre exemple les informations dynamiques sont affichées à partir de la 3e seconde sous cette forme :

Ces informations peuvent varier d’une diffusion à la suivante. Cet exemple couvre la DCO dite "simple", dans laquelle la création publicitaire s'adapte en temps réel en fonction d'évènements extérieurs. Fichiers fournis Le media à diffuser est fourni sous forme d’un fichier HTML avec ses dépendances, archivées sous forme d’une archive .zip appelée DCO package. Dans cette archive vous trouverez:

  • ./css/* : feuilles de style CSS
  • ./js/moment.min.js : dépendance javascript
  • ./assets/images/empty.png : image sur fond blanc pour sur-impression
  • ./assets/videos/template.mp4 : video mp4 avec encarts vides à partir de la 3e seconde
  • ./assets/videos/backup.mp4 : video mp4 sans encarts vides, pouvant être jouée lorsque le player est offline
  • ./assets/font/* : dépendances de polices
Cette créa est prévue pour s’afficher sur un résolution 1080*1920 full screen, orientation portrait. Lors de la diffusion de cette créa, il est attendu que le player rafraichisse le fichier html à chaque boucle. Ce rafraîchissement entraîne un appel à notre adserver afin de récupérer des informations de flux légères. Dans notre exemple, l'appel équivaut à :
curl 'http://unsecured.datahub.dev.preprod.displayce.com/live-feed/a7cd0acb-e338-4a4f-bc02-d4c0fa66ac72/status.json?access_token=XXXXX' \
 -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:84.0) Gecko/20100101 Firefox/84.0' \
 -H 'Accept: */*' \
 -H 'Accept-Language: en-US,en;q=0.5' --compressed \
 -H 'Origin: null' \
 -H 'DNT: 1' \
 -H 'Connection: keep-alive' \
 -H 'Pragma: no-cache' \
 -H 'Cache-Control: no-cache'
→ qui retourne ce payload
{"match_date":"2021-01-22","match_hour":20,"home_team":"Juventus","visiting_team":"Schalke 04","odds_home":1.18,"odds_draw":1.3,"odds_visiting":1.24}

Ces informations de flux sont ensuite interprétées pour être affichées dans les encarts vides de la créa :

 

Pré-visualisation des medias vidéo

Dans le répertoire assets/videos se trouve deux vidéos :

  • ./assets/videos/template.mp4 : video mp4 avec encarts vides à partir de la 3e seconde
  • ./assets/videos/backup.mp4 : video mp4 sans encarts vides, pouvant être jouée lorsque le player est offline

Test du media sur un navigateur de machine de bureau

La créa HTML est prévue pour pouvoir s’afficher dans un navigateur. Pour prévisualiser le rendu au bon format. Une fois la créa ouverte dans un navigateur, activer le mode développeur → responsive et positionner la résolution du rendu à 1080 * 1920 : Les informations de match devraient alors correctement se positionner dans les encarts prévus. Terminologie
  • Adserver : service hébergée sur les serveurs de Displayce fournissant un flux de données au format json
  • Flux de données : jeu de donnée servi au format json et évoluant en temps réel
  • DCO : Dynamic Creative Optimization
  • DCO Package: Archive au format .zip encapsulant le fichier html5, les videos template et backup
  • Template data, que nous appelerons plutôt Flux. Le format est souvent json. Ce flux peut être : directement sourcé par Displayce si générique (embouteillage, météo, épidemie... ) ou sourcé par le Trading desk s'il s'agit d'un flux client.
  • Template créa : Il s’agit de la vidéo, préparée pour recevoir des informations variabilisées et encapsulée dans un html5 qui l'affiche. Cet html consomme, via notre adserver, le flux de donnée et l’affiche.
  • Video backup : Vidéo pouvant s’affichant sans accès à notre adserver, utilisée en cas de coupure réseau définitive pour le player
Configuration technique A chaque diffusion, le fichier HTML tente d’établir une connexion avec notre adserver. Lors des phases de test, l’endpoint appelé est :
http://unsecured.datahub.dev.preprod.displayce.com/live-feed/a7cd0acb-e338-4a4f-bc02-d4c0fa66ac72/status.json?access_token=XXXXXX
Pour des raisons de compatibilité, cet endpoint est proposé en mode non sécurisé (http) et accepte toutes les origines. Des versions https sont disponibles sur demande. Cet endpoint est optimisé de notre côté pour avoir un temps de réponse garanti sous les 100ms. Si besoin de whitelister l’adserver, cet endpoint est servi par la machine ayant l’ip :
147.135.193.225
En cas d’impossibilité de se connecter a l’adserver, deux situations peuvent se produire :
  • Si le player à pu se connecter à l’ad-server récemment: Nous exploitons la mise en cache du navigateur et la dernière configuration de flux est utilisée. Ceci permet au player de se connecter a internet de manière ponctuelle si besoin.
  • Si le player n’a jamais pu se connecter à internet ou au-delà de la durée de vie du cache: Dans ce cas le fichier html est configuré pour afficher la video backup, qui contient un message générique
  Packages DCO pour les tests
  1. DCO_package_BET_1080x1920-online-EN : Package DCO pour players connectés, en anglais
  2. DCO_package_BET_1080x1920-offline-EN : Package DCO pour players non connectés, en anglais
  3. DCO_package_BET_1080x1920-online-FR : Package DCO pour players connectés, en français
Références supplémentaires