L'API d'insertion dynamique d'annonces de Google vous permet d'implémenter des flux compatibles avec l'insertion dynamique d'annonce dans les environnements lorsque l'implémentation du SDK IMA n'est pas acceptée. Nous vous recommandons de continuer à utiliser IMA sur les plates-formes où le SDK IMA est accepté.
Nous vous recommandons d'utiliser l'API d'insertion dynamique d'annonce sur les plates-formes suivantes:
- Smart TV Samsung (Tizen)
- LG TV
- HbbTV
- Xbox (applications JavaScript)
- KaiOS
L'API est compatible avec les fonctionnalités de base fournies par le SDK IMA DAI. Pour des questions sur la compatibilité ou les fonctionnalités compatibles, contactez votre responsable de compte Google Cloud.
Implémenter l'API d'insertion dynamique d'annonce pour les flux de vidéo à la demande
L'API d'insertion dynamique d'annonce est compatible avec les flux de vidéo à la demande qui utilisent les protocoles HLS et DASH. Procédure décrits dans ce guide s'appliquent aux deux protocoles.
Pour intégrer l'API dans votre application pour les flux de vidéo à la demande, effectuez la en suivant les étapes ci-dessous:
Demandez un flux en effectuant un appel POST au point de terminaison du flux:
Exemple de corps de la requête :
https://dai.google.com/ondemand/v1/dash/content/2559737/vid/tos-dash/stream { key1 : "value1", stream_parameter1 : "value2" }
Exemple de corps de réponse:
{ "stream_id":"d32f8920-612a-4d46-8bc7-d73fd6c17c85", "total_duration":636.458, "content_duration":596.458, "valid_for":"8h0m0s", "valid_until":"2020-06-04T20:39:41.274707306-07:00", "stream_manifest":"https://dai.google.com/ondemand/dash/content/2559737/vid/tos-dash/ATL/streams/d32f8920-612a-4d46-8bc7-d73fd6c17c85/manifest.mpd", "media_verification_url":"https://dai.google.com/view/p/service/vod/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/loc/ATL/network/124319096/content/2559737/vid/tos-dash/media/", "ad_breaks":[ { "type":"pre", "start":0, "duration":10, "ads":[ { "seq":1, "duration":10, "title":"External NCA1C1L1 Preroll", "description":"External NCA1C1L1 Preroll ad", "clickthrough_url":"https://dai.google.com/ondemand/v1/dash/content/2474148/vid/bbb-clear/location/ATL/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/videoclick/5489259204425938365", "events":[ { "time":0.1, "type":"start" }, { "time":2.5, "type":"firstquartile" }, { "time":4.75, "type":"midpoint" }, { "time":7.5, "type":"thirdquartile" }, { "time":9, "type":"complete" } ] } ] }, { "type":"mid", "start":45, "duration":10, "ads":[ {.... } ] } ] }, { "type":"post", "start":626.458, "duration":10, "ads":[...] } ] }
Réponse d'erreur
En cas d'erreurs, les codes d'erreur HTTP standards sont renvoyés sans code corps de la réponse.
Analysez la réponse JSON et stockez les valeurs suivantes:
stream_id
stream_manifest
media_verification_url
ad_breaks
Pour effectuer une validation multimédia, écoutez les événements ID3:
- Stockez les événements multimédias dans une file d'attente, en enregistrant chaque ID multimédia avec ses code temporel (s'il est présenté par le joueur).
- À chaque mise à jour depuis le lecteur, ou à une fréquence définie (recommandé 500 ms), recherchez dans la file d'attente des événements multimédias les événements lus récemment en en comparant les codes temporels des événements avec ceux de la tête de lecture.
- Pour les événements multimédias dont la lecture est confirmée, suivez la lecture en en ajoutant l'ID multimédia au point de terminaison de validation des médias et en effectuant une GET.
Exemple de corps de la requête :
https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/
Exemples de réponses:
Accepted for asynchronous verification - HTTP/1.1 202 Accepted Successful empty response - HTTP/1.1 204 No Content Media verification not found - HTTP/1.1 404 Not Found Media verification sent by someone else - HTTP/1.1 409 Conflict
Vous pouvez vérifier les événements de suivi dans la section Activité du flux Surveillance.
Facultatif: Utilisez les données
ad_breaks
de la réponse de création de flux pour rechercher quel type d'événement a été déclenché.Supprimez l'événement multimédia de la file d'attente.
Limites
Si vous utilisez l'API dans des WebViews, les limites suivantes s'appliquent concernant au ciblage:
- UserAgent: le paramètre user-agent est transmis en tant que valeur spécifique au navigateur. au lieu de la plate-forme sous-jacente.
rdid
idtype
,is_lat
: l'ID de l'appareil est n'est pas correctement effectuée, ce qui limite les fonctionnalités suivantes:- Limitation de la fréquence d'exposition
- Rotation séquentielle des annonces
- Segmentation et ciblage de l'audience
Bonnes pratiques
Le mappage des tags ID3 avec le type d'événement approprié est fastidieux en cas de vidéo à la demande. Utilisez les
renvoyé des informations ad_breaks
dans le fichier JSON pour rechercher directement l'événement, par exemple :
que pour le contenu en direct.