Early ad break notification v1

Utiliser l'API Early Ad Break Notification

  • Identifiant de la diffusion en direct correspondante pour laquelle la coupure publicitaire est créée. Cet identifiant peut être l'un des suivants:
  • "Clé d'élément" de la diffusion en direct.
  • La "Clé d'élément personnalisée" de la diffusion en direct, qui vous permet de gérer votre propre espace de clés en spécifiant votre propre chaîne d'identifiant.
  • "ID de la source de contenu" et "ID de contenu" de la diffusion en direct.

Remarque: Vous devez être autorisé à utiliser ce type d'identifiant. Pour en savoir plus, contactez votre responsable de compte.

  • Durée prévue de la prochaine coupure publicitaire. La durée doit être aussi proche que possible de la durée réelle de la coupure publicitaire.

En plus de ces champs obligatoires, vous pouvez également envoyer des paramètres de ciblage personnalisés, le nom d'un modèle de série d'annonces à appliquer ou des données de cue-out SCTE35, le cas échéant.

Prérequis

Pour utiliser l'API EABN, vous devez créer un compte de service et l'ajouter à votre réseau Google Ad Manager.

Créer un compte de service

Pour créer un compte de service permettant d'appeler l'API EABN, procédez comme suit: - Si vous disposez d'un compte Google Cloud, utilisez le module IAM pour créer un compte de service. Pour en savoir plus, consultez Créer et gérer des comptes de service. - Si vous ne possédez pas de compte Google Cloud, suivez les étapes ci-dessous pour en créer un dans la console Google APIs:

  1. Créez un projet ou sélectionnez-en un.
  2. Sur la page Identifiants, cliquez sur Gérer les comptes de service.
  3. Sur la page Service accounts (Comptes de service), cliquez sur CREATE SERVICE ACCOUNT (CRÉER UN COMPTE DE SERVICE).
  4. Sur la page Créer un compte de service, saisissez les détails du compte. Cliquez ensuite sur CRÉER.

Une fois que vous avez créé un compte de service, copiez sa clé JSON, qui est utilisée pour l'authentification.

Ajouter votre compte de service à votre réseau Google Ad Manager

Pour ajouter votre compte de service à votre réseau, suivez la procédure décrite dans Ajouter un utilisateur à un compte de service afin d'accéder à l'API.

Activer l'API

Une fois le compte de service créé, fournissez les informations suivantes à votre responsable de compte pour activer l'API pour votre compte:

  • Adresse e-mail de votre compte Google Cloud
  • Votre compte de service
  • Code de réseau de votre réseau Google Ad Manager.

Une fois que votre responsable de compte a activé l'API, procédez comme suit pour l'activer:

  1. Dans la bibliothèque des API Google, recherchez "API Google Ad Manager Video".
  2. Cliquez sur ENABLE (ACTIVER).

Remarque: Si l'API n'apparaît pas dans les résultats de recherche, contactez votre responsable de compte pour vous assurer que l'API DAI a été activée dans votre compte.

Utilisation de l'API

Vous pouvez appeler l'API EABN à l'aide de requêtes JSON/REST.

Autorisation

Pour effectuer des appels autorisés à l'API EABN, vous devez générer des identifiants de compte de service OAuth2 à l'aide de la clé JSON de votre compte de service et de l'étendue https://www.googleapis.com/auth/video-ads. Pour en savoir plus, consultez Utiliser OAuth 2.0 pour l'authentification serveur à serveur.

Vous devez inclure le jeton d'autorisation obtenu en tant qu'en-tête d'autorisation pour chaque appel de l'API EABN.

Envoyer une notification anticipée de coupure publicitaire

Pour envoyer une notification de coupure publicitaire anticipée, envoyez une requête POST à l'une des trois URL EABN valides, selon la méthode de spécification de la diffusion en direct que vous préférez. Les sections suivantes expliquent les différences entre les URL et fournissent des exemples de requêtes et de réponses.

URL

Il existe trois URL valides pour la notification anticipée de coupure publicitaire. Vous pouvez utiliser les trois types pour créer une coupure publicitaire (POST) ou obtenir la liste des coupures publicitaires attribuées (GET).

Pour utiliser la clé de l'élément d'une diffusion en direct, utilisez:

POST admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/assets/{asset_key}/adBreaks

Pour utiliser la clé d'élément personnalisée d'une diffusion en direct, utilisez:

POST admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/customAssets/{custom_asset_key}/adBreaks

Pour utiliser l'approche de l'ID de la source du contenu et de Content ID, utilisez:

POST admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks
GET admanagervideo.googleapis.com/v1/networks/{network_code}/sources/{content_source_id}/content/{content_id}/adBreaks

Pour tous les paramètres:

  • network_code représente le code de réseau de votre réseau Google Ad Manager.
  • asset_key représente la clé d'élément affichée sur la page d'informations de votre diffusion en direct.
  • custom_asset_key représente la clé d'élément personnalisée de votre diffusion en direct.
  • content_source_id représente l'ID d'une source de contenu dans Google Ad Manager.
  • content_id représente l'ID d'un contenu dans Google Ad Manager.

Remarque: La paire content_source_id/content_id spécifiée doit être associée à un flux en direct dans Google Ad Manager.

Corps de la requête : uniquement utilisé pour créer une coupure publicitaire (POST)

Objet

expectedDuration

Obligatoire Durée de cette coupure publicitaire, au format Google standard (xx,xxxs, où xx,xxx correspond au nombre de secondes)

customParams

Facultatif Paires clé-valeur à inclure dans les demandes d'annonces liées à cette coupure publicitaire pour le ciblage par critères personnalisés dans AM360, séparées par

=

et rejoint par

&

.
Exemple:

key=value&key2=value2,value3


Pour en savoir plus sur le ciblage, consultez Indiquer des paramètres de ciblage dans votre flux.

podTemplateName

Facultatif Nom du modèle de série d'annonces

scte35CueOut

Facultatif Données encodées en base64 à partir du point de sortie scte35. Peut inclure les

splice_insert()

ou

time_signal()

en utilisant la commande gcloud,
Exemples:

  • time_signal():

    /DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==

  • splice_insert():

    /DAvAAAAAAAA///wFAVIAACPf+/+c2nALv4AUsz1AAAAAAAKAAhDVUVJAAABNWLbowo=

Exemples de requête

Créer une coupure publicitaire
POST admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks
Content-Type: application/json
Authorization: Bearer …
{
    "expectedDuration": "30s",
    "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
    "customParams": "param1=value1&param2=value2",
    "podTemplateName": "podtemplate"
}
Corps de la réponse

Le corps de la réponse contient tous les paramètres envoyés dans l'objet adBreak, ainsi qu'un champ name supplémentaire, qui contient l'ID standard Google de la coupure publicitaire créée. Ce champ est renvoyé au format suivant:

networks/{network_code}/assets/{asset_key}/adBreaks/{ad_break_id}
Exemple de réponse
HTTP/1.1 200 OK
{
  "name": "networks/.../assets/.../adBreaks/1",
  "expectedDuration": "30s",
  "scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
  "customParams": "param1=value1&param2=value2",
  "podTemplateName": "podtemplate"
}
Lister les coupures publicitaires attribuées
GET admanagervideo.googleapis.com/v1/networks/.../sources/.../content/.../adBreaks
Content-Type: application/json
Authorization: Bearer …
Corps de la réponse

Le corps de la réponse contient les coupures publicitaires avec un champ breakState supplémentaire pour chaque coupure publicitaire attribuée au flux. Le champ breakState accepte les valeurs suivantes:

 // Ad break decisioning has started.
BREAK_STATE_DECISIONED

// Break has started to be delivered to end users.
BREAK_STATE_COMPLETE
Exemple de réponse
HTTP/1.1 200 OK
{
  "name": "networks/.../assets/.../adBreaks/1",
  "expectedDuration": "30s",
  "breakState": "BREAK_STATE_COMPLETE"
}