Les configurations publicitaires définissent divers aspects de la lecture SSAI, y compris les appels publicitaires, les balises et d'autres options de configuration. Un compte peut avoir plusieurs configurations et actuellement les configurations ne peuvent pas être partagées entre les comptes.
Informations générales
Les informations suivantes concernent toutes les demandes d'API SSAI.
URL de base
L'URL de base de l'API SSAI est :
https://ssai.api.brightcove.com/v1
Chemin du compte
Dans tous les cas, des demandes seront faites pour un Nuage vidéo Compte. Par conséquent, vous allez toujours ajouter le terme accounts
suivi de votre identifiant de compte à l'URL de base :
https://ssai.api.brightcove.com/v1/accounts/your account id
Authentification
L'authentification des demandes nécessite un en-tête d'autorisation :
Authorization: Bearer your access token
Le access_token
est un jeton d'accès OAuth2 temporaire qui doit être obtenu à partir du service Brightcove OAuth. Pour plus de détails sur la façon d'obtenir les informations d'identification client et de les utiliser pour récupérer des jetons d'accès, consultez le Présentation de Brightcove OAuth.
Opérations
Lorsque vous demandez des informations d'identification du client, vous devez spécifier le type d'accès au compte ou d'opérations que vous souhaitez. Voici une liste des opérations actuellement prises en charge pour l'API SSAI :
- Données SSAI :
video-cloud/ssai/read
video-cloud/ssai/all
Gérer les configurations d'annonces
L'API prend en charge les requêtes GET et PUT suivantes :
- Répertorier les configurations d'annonces
- Créer une configuration d'annonce
- Obtenir les détails de la configuration des annonces
- Mettre à jour une configuration d'annonce
Répertorier les configurations d'annonces
Répertoriez les configurations d'annonces définies pour un compte.
Méthode | AVOIR |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/votre identifiant de compte/ssai_configs |
Headers | Authorization: Porteur votre jeton d'accès |
Type de contenu : application/json |
Réponse de l'échantillon :
[
{
"name": "VMAP Ad Server",
"vmap_response_namespace": "bc",
"config_id": "2ecc6beb-d6a4-4deb-a78e-37ac27e0f883",
"account_id": "57838016001",
"created_timestamp": "2017-07-24T19:28:34.976878586Z",
"updated_timestamp": "2017-07-24T19:28:34.976878586Z",
"ad_config": {
"expected_ad_response": "dfp_ad_rules",
"disable_server_beacons": false,
"template_url": {
"template": "http://solutions.brightcove.com/bcls/ads/simple-ad-rules?ip={{ system.ip_address }}&vid={{ metadata.video_id }}&ppid={{ system.unique_user_id }}&p_vmap={{ url.p_vmap }}"
}
}
}
]
Créer une configuration d'annonce
Créez une configuration d'annonce pour un compte.
Méthode | POST |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/votre identifiant de compte/ssai_configs |
Headers | Authorization: Porteur votre jeton d'accès |
Type de contenu : application/json |
Exemple de corps :
{
"name": "VMAP Ad Server",
"vmap_response_namespace": "bc",
"ad_config": {
"expected_ad_response": "vast_3_0",
"disable_server_beacons": false,
"round_up_cue_points": false,
"template_url": {
"template": "http://solutions.brightcove.com/bcls/ads/simple-ad-rules?ip={{ system.ip_address }}&vid={{ metadata.video_id }}&ppid={{ system.unique_user_id }}&p_vmap={{ url.p_vmap }}"
}
},
"discontinuities": {
"hls": [ "*" ]
}
}
Obtenir les détails de la configuration des annonces
Pour un compte, obtenez les détails de configuration de l'annonce par Id de configuration.
Méthode | AVOIR |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/votre identifiant de compte/ssai_configs/votre identifiant de configuration d'annonce |
Headers | Authorization: Porteur votre jeton d'accès |
Type de contenu : application/json |
Réponse de l'échantillon :
{
"name": "VMAP Ad Server",
"vmap_response_namespace": "bc",
"config_id": "2ecc6beb-d6a4-4deb-a78e-37ac27e0f883",
"account_id": "57838016001",
"created_timestamp": "2017-07-24T19:28:34.976878586Z",
"updated_timestamp": "2017-07-24T19:28:34.976878586Z",
"ad_config": {
"expected_ad_response": "dfp_ad_rules",
"disable_server_beacons": false,
"template_url": {
"template": "http://solutions.brightcove.com/bcls/ads/simple-ad-rules?ip={{ system.ip_address }}&vid={{ metadata.video_id }}&ppid={{ system.unique_user_id }}&p_vmap={{ url.p_vmap }}"
}
},
"beacon_templates": [
{
"type": "content_start",
"template_url": {
"template": "https://myserver.com/beaconRX/{{metadata.video_id}}/load?position=load&sid={{system.xfp.unique_user_id}}&jid={{metadata.video_id}}&rnd32={{sytem.random_number_32}}&bid={{system.uuid}}&t={{system.timestamp_utc}}&ua={{system.user_agent}}&ip={{system.ip_address}}&ref={{system.referer}}"
}
},
{
"type": "content_midpoint",
"template_url": {
"template": "https://myserver.com/beaconRX/{{metadata.video_id}}/load?position=load&sid={{system.xfp.unique_user_id}}&jid={{metadata.video_id}}&rnd32={{sytem.random_number_32}}&bid={{system.uuid}}&t={{system.timestamp_utc}}&ua={{system.user_agent}}&ip={{system.ip_address}}&ref={{system.referer}}"
}
},
{
"type": "ad_start",
"template_url": {
"template": "https://myserver.com/beaconRX/{{metadata.video_id}}/load?position=load&sid={{system.xfp.unique_user_id}}&jid={{metadata.video_id}}&rnd32={{sytem.random_number_32}}&bid={{system.uuid}}&t={{system.timestamp_utc}}&ua={{system.user_agent}}&ip={{system.ip_address}}&ref={{system.referer}}"
}
},
{
"type": "content_complete",
"template_url": {
"template": "https://myserver.com/beaconRX/{{metadata.video_id}}/load?position=load&sid={{system.xfp.unique_user_id}}&jid={{metadata.video_id}}&rnd32={{sytem.random_number_32}}&bid={{system.uuid}}&t={{system.timestamp_utc}}&ua={{system.user_agent}}&ip={{system.ip_address}}&ref={{system.referer}}"
}
}
],
"discontinuities": {
"dash": [
"*"
],
"hls": [
"*"
]
},
"extend_beacon_guard_ttl": true
}
}
Mettre à jour une configuration d'annonce
Mettre à jour une configuration d'annonce par l'ID de configuration.
Méthode | METTRE |
---|---|
URL | https://ssai.api.brightcove.com/v1/accounts/votre identifiant de compte/ssai_configs/votre identifiant de configuration d'annonce |
Headers | Authorization: Porteur votre jeton d'accès |
Type de contenu : application/json | |
Corps de l'échantillon |
|
Réponse de l'échantillon :
{
"name": "VMAP Ad Server - updated",
"vmap_response_namespace": "bc",
"config_id": "2ecc6beb-d6a4-4deb-a78e-37ac27e0f883",
"account_id": "57838016001",
"created_timestamp": "2017-07-24T19:28:34.976878586Z",
"updated_timestamp": "2017-07-24T19:28:34.976878586Z",
"ad_config": {
"expected_ad_response": "dfp_ad_rules",
"disable_server_beacons": false,
"template_url": {
"template": "http://solutions.brightcove.com/bcls/ads/simple-ad-rules?ip={{ system.ip_address }}&vid={{ metadata.video_id }}&ppid={{ system.unique_user_id }}&p_vmap={{ url.p_vmap }}"
}
}
}
Détails du champ de configuration
Ce tableau définit les champs de configuration d'annonce utilisés dans la section corps d'une demande.
Champ | Type | Description |
---|---|---|
name |
Chaîne | Nom lisible par l'homme |
vmap_response_namespace |
Chaîne | Ajuste la sortie VMAP pour utiliser l'ancien format d'espace de noms Unicorn Once ou pour utiliser le nouveau format d'espace de noms Brightcove. Valeurs : uo , bc Par défaut : bc |
description |
Chaîne | Description lisible par l'homme |
ad_config.expected_ad_response |
Chaîne | Quelle technologie utiliser pour analyser la réponse. [ 1] Valeurs :
|
ad_config.disable_server_beacons |
Booléen | Indique si le déclenchement côté serveur des impressions/balises publicitaires doit être désactivé. Lorsqu'il est défini sur true , SSAI ne déclenche pas de balises côté serveur et inclura toutes les balises dans la sortie VMAPLorsqu'il est défini sur false , SSAI déclenche les balises qu'il est capable de côté serveur et inclut tout ce qu'il n'est pas en mesure de faire dans la sortie VMAP |
ad_config.round_up_cue_points |
Booléen | Indique s'il faut arrondir à l'image clé suivante lors du choix d'une position à proximité pour l'insertion d'annonces. Par défaut : false , qui choisit l'image-clé la plus proche de la position d'annonce souhaitée. |
ad_config.template_url.template |
Chaîne | Modèle de tag d'emplacement publicitaire. Variables disponibles décrites dans une section ultérieure. |
ad_config.template_url.defaults |
Objet | Mappage de String à String définissant la valeur par défaut à utiliser dans le cas où un paramètre d'URL n'est pas fourni. Peut être un littéral { "url.foo": "SomeString" } Ou référencer une autre variable { "url.foo": "{{ metadata.title_id }}" } |
discontinuities.dash [ 2] |
[]Chaîne de caractères | Contrôle les versions de Dash pour fournir des manifestes Multi Period Dash. Définie ["*"] sur pour fournir un tiret multipériode pour toutes les versions Listevide pour jamais Exemple : ["live-timeline"] à livrer pour live timeline mais pas pour hbbtv |
discontinuities.hls [ 2] |
[]Chaîne de caractères | Contrôle les versions de hls à livrer avec des discontinuités.["*"] Définir sur livraison avec discontinuités dans toutes les versions de HLS Listevide pour jamais Exemple : ["v4","v5"] à livrer pour v4 et v5 mais pas pour v3 |
beacon_templates |
baie | Un tableau de balises à tirer (exemple : balises tierces) |
beacon_templates[].type |
Chaîne |
Type de balise à tirer. Valeurs:
|
beacon_templates[].template_url.template |
Chaîne | Modèle d'URL de balise |
extend_beacon_guard_ttl |
Booléen | Définit la durée de la durée de vie de Beacon Guard TTL (Time to live) à la durée de la session TTL du contenu. Sinon, la valeur par défaut est 1 minute. |
Variables publicitaires
Les variables de l'URL du modèle sont identifiées par des accolades doubles ({{ … }}
) avec des espaces blancs optionnels avant et après le chemin d'accès à la variable. Toutes les variables sont préfixées par l'un des trois espaces de noms :
Variables système
Les variables système sont fournies par le système SSAI et peuvent être des informations sur l'utilisateur final ou des variables auxiliaires pour générer des valeurs aléatoires. Les valeurs doivent être codées en URI avant d'être insérées dans les modèles d'URL.
Les variables système sont identifiées comme : {{system.*}}
Champ | Description |
---|---|
ip_address |
Adresse IP de l'utilisateur final |
random_number_32 |
Entier aléatoire de 32 bits |
random_guid |
UUID aléatoire |
referer |
Valeur de l'en-tête Référent de l'utilisateur final |
timestamp_utc |
Heure actuelle sous forme d'horodatage Unix |
unique_user_id |
MD5 (adresse_ip + agent_utilisateur) |
unix_timestamp |
Heure actuelle sous forme d'horodatage Unix (secondes) |
user_agent |
Valeur d'en-tête User-Agent de l'utilisateur final |
uuid |
Uuid aléatoire |
x_forwarded_for |
Valeur d'en-tête X-Forwarded-For de l'utilisateur final |
xfp.correlator |
Entier aléatoire 64 bits |
xfp.ip_address |
Adresse IP de l'utilisateur final |
xfp.unique_user_id |
MD5 (adresse_ip + agent_utilisateur) |
xfp.scor |
Entier aléatoire 64 bits |
Variables d'URL
Les paramètres de requête fournis sur le point d'entrée VMAP/Manifest sont disponibles sous le url
espace de noms. Contrairement aux variables sous d'autres espaces de noms, ces paramètres ne sont pas codés en URL lors de l'insertion dans le modèle. Si les valeurs des variables doivent être encodées en URL pour aller au fournisseur de publicité, elles devront être encodées en double sur l'url du point d'entrée.
Les variables d'URL sont identifiées comme : {{url.*}}
Variables de métadonnées
Les variables de métadonnées sont celles qui décrivent le contenu vidéo, dérivées des sources de données Video Cloud et Dynamic Delivery. Les valeurs sont codées en URL avant d'être insérées dans les modèles d'URL.
Les variables de métadonnées sont identifiées comme : {{metadata.*}}
Champ | Description |
---|---|
ad_keys |
Chaîne de texte de forme libre qui peut être ajoutée et modifiée dans le module Media de Video Cloud Studio |
custom_fields.{field_name} |
Champs personnalisés de Video Cloud |
long_description |
Description longue de Video Cloud |
name |
Nom de la vidéo Video Cloud |
reference_id |
Identifiant de référence Video Cloud |
tags |
Liste séparée par des virgules des balises Video Cloud pour la vidéo |
title.duration |
Durée du contenu en secondes |
title.id |
Identifiant du titre de la diffusion dynamique |
title.name |
Nom du titre de la diffusion dynamique |
video_id |
Identifiant vidéo Video Cloud |
D' autres paires clé/valeur Video Cloud seraient également là |
Paramètres d'URL du point d'entrée
Il existe une poignée de paramètres de requête qui peuvent être ajoutés à l'URL du point d'entrée SSAI (VMAP ou manifeste) afin de modifier certains comportements :
Paramètre | Description |
---|---|
?rule=sd-only |
Filtre tout rendu vidéo dont la hauteur est inférieure au seuil défini dans la configuration du compte |
?rule=discos-enabled |
Activez la lecture avec discontinuités dans HLS et multipériodes dans Dash. A la priorité sur le réglage des discontinuités dans la configuration de lecture |
?rule=discos-disabled |
Désactivez la lecture avec discontinuités dans HLS et multipériodes dans Dash. A la priorité sur le réglage des discontinuités dans la configuration de lecture |
Notes de configuration
- Le préchargement des annonces ne doit pas être effectué avec SSAI. La raison en est que si vous préchargez, le lecteur signalera une impression publicitaire et probablement les balises du premier quartile avant la lecture de la vidéo. Cela pourrait conduire à des analyses publicitaires inexactes. Si vous configurez SSAI dans Studio, cela se fera automatiquement, mais si vous configurez SSAI manuellement, vous devez être conscient de ce problème.
- Si le lecteur Web utilise SSAI et que l'une de vos motivations est de contourner les bloqueurs de publicités, vous devez utiliser des balises côté serveur. Les balises côté client ne doivent pas être utilisées car elles seront bloquées.
Macros côté client
Utilisez le page
préfixe lorsque vous souhaitez utiliser des macros publicitaires côté client. Ces macros vous permettent d'utiliser des variables dans les URL de VMAP et de serveur. Pour plus de détails sur les macros publicitaires, reportez-vous à la section Macros Ad et ServerURL du document Advertising with the IMA3 Plugin.
Les macros côté client sont préfixées par : {{page.*}}
Par exemple, pour ajouter le document.referrer
et un pageVariable
variable de fenêtre DOM, vous les préfixeriez avec page
dans le modèle d'annonce comme suit :
https://adserver.com/{{page.document.referrer}}/{{page.pageVariable.whateverIwant}}
L'API de lecture revient document.referrer
et pageVariable.whateverIwant
ajouté aux URL VMAP et SRC. Le lecteur Brightcove exécute ensuite sa logique de remplacement de macro côté client pour remplacer les valeurs appropriées, avant d'envoyer la demande :
https://bolt-prefix/blah.vmap?document.referrer={document.referrer}&pageVariable.whateverIwant={pageVariable.whateverIwant}
Balises d'erreur publicitaire
Les balises d'erreur publicitaire VAST lors de l'utilisation de SSAI peuvent être utiles pour rechercher et résoudre de manière proactive les problèmes liés à votre flux de travail publicitaire. Pour plus de détails, consultez le Balises d'erreur publicitaire avec SSAI document.