Lorsque vous utilisez la plate-forme d'insertion dynamique d'annonce de Google, vous pouvez fournir des données de ciblage pour la prochaine coupure publicitaire en direct/linéaire dans un flux. L'API EABN (Early Ad Break Notification) vous permet d'implémenter un ciblage spécifique aux coupures à l'aide de paires clé/valeur, ce qui permet une prise de décision évolutive dans les flux volumineux.
Les appels effectués à l'API EABN doivent inclure la clé d'élément à cibler et la durée prévue de la prochaine coupure publicitaire. Cette durée doit être aussi proche que possible de la durée réelle de la coupure publicitaire. Si la durée prévue envoyée est plus courte que la coupure publicitaire fournie, le type de remplissage de la coupure publicitaire en cas de remplissage partiel (par défaut, il est vide) est utilisé pour le reste de la coupure. Si la durée prévue est plus longue que celle indiquée pour la coupure publicitaire, celle-ci peut se terminer avant la fin de l'annonce.
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 SCTE35 Cue Out, le cas échéant.
Conditions préalables
Créer un compte de service
Pour accéder à l'API EABN, vous avez besoin d'un compte de service Google.
- Si vous possédez un compte Google Cloud, vous pouvez utiliser le module IAM pour créer un compte de service. Pour en savoir plus, consultez la page Créer et gérer des comptes de service.
- Si vous ne possédez pas de compte Google Cloud, vous pouvez en créer un depuis la console Google APIs en procédant comme suit :
- Créez un projet ou sélectionnez un projet existant.
- Sur la page Identifiants, cliquez sur Gérer les comptes de service.
- Sur la page Comptes de service, cliquez sur CRÉER UN COMPTE DE SERVICE.
- 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 la clé JSON du compte, qui sera utilisée pour l'authentification.
Activer l'API EABN
Une fois votre compte de service créé, demandez à votre responsable de compte d'activer l'API EABN pour ce compte.
Activer l'API d'insertion dynamique d'annonce
Une fois l'API EABN activée pour votre compte de service, activez-la sur le compte:
Dans la bibliothèque d'API Google, recherchez "API d'insertion dynamique d'annonce".
Sélectionnez et activez l'API d'insertion dynamique d'annonce.
Utiliser l'API EABN
Vous pouvez appeler l'API EABN à l'aide de requêtes JSON/REST.
Authentification
Pour effectuer des appels authentifié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 du champ d'application https://www.googleapis.com/auth/video-ads
. Pour en savoir plus, consultez la page Utiliser OAuth 2.0 pour l'authentification serveur à serveur.
Il doit inclure le jeton d'authentification obtenu sous la forme d'un en-tête d'authentification pour chaque appel à l'API EABN.
Envoyer une notification anticipée de coupure publicitaire
Pour envoyer une notification anticipée de coupure publicitaire, envoyez une requête POST à l'aide de l'URL et du corps de requête suivants:
POST dai.googleapis.com/v1/adBreaks
Corps de la requête
Objet | ||
---|---|---|
adBreak |
Obligatoire | Objet wrapper pour les propriétés adBreak |
assetKey |
Obligatoire | Identifiant unique de la LiveStreamEvent pour laquelle la coupure est créée |
expectedDuration |
Obligatoire | Durée de cette coupure publicitaire, au format de durée standard de Google (xx,xxx s, où xx,xxx correspond au nombre de secondes) |
scte35CueOut |
Facultatif | Données encodées en base64 à partir du point de sortie scte35. Peut inclure la commande splice_insert() ou time_signal() .
Exemples :
|
custParams |
Facultatif | Paires clé-valeur à inclure dans les demandes d'annonces pour cette coupure pour le ciblage par critères personnalisés dans AM360, séparées par = et jointes par & .Exemple: key=value&key2=value2,value3 Pour en savoir plus sur le ciblage, consultez Indiquer les paramètres de ciblage dans votre flux. |
ptpln |
Facultatif | Nom du modèle de série d'annonces |
En-tête de réponse
HTTP/1.1 200 OK
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 daiBreakId
supplémentaire, qui comporte l'identifiant interne d'insertion dynamique d'annonce pour la coupure publicitaire créée dans le flux.
Exemple
Requête
POST /v1/adBreaks HTTP/1.1
Content-Type: application/json
{
"adBreak": {
"assetKey": "asset1",
"expectedDuration": "30s",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"custParams": "param1=value1¶m2=value2",
"ptpln": "podtemplate"
}
}
Réponse
HTTP/1.1 200 OK
{
"assetKey": "asset1",
"expectedDuration": "30s",
"custParams": "param1=value1¶m2=value2",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"ptpln": "podtemplate",
"daiBreakId": 1
}
Exemple d'implémentation (Python)
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from absl import app
from google.auth.transport.requests import AuthorizedSession
from google.oauth2 import service_account
SERVICE_ACCOUNT_KEY_FILE = "~/eabn_key.json"
ASSET_KEY = "asset1"
SCOPES = ['https://www.googleapis.com/auth/video-ads']
EABN_API_URL = 'https://dai.googleapis.com/v1/adBreaks'
def main():
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_KEY_FILE, scopes=SCOPES)
authed_session = AuthorizedSession(credentials)
data = {
'assetKey': ASSET_KEY,
'expectedDuration': '120s',
'custParams': 'param1=value1¶m2=value2',
'scte35CueOut': '/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==',
}
r = authed_session.post(EABN_API_URL, json={'adBreak': data})
print(r.status_code)
print(r.headers)
print(r.text)
if __name__ == '__main__':
app.run(main)