L'insertion guidée d'annonces par le serveur (SGAI) fournit un fichier manifeste de série d'annonces prêt pour sur les appareils clients. Si vous avez activé l'insertion dynamique d'annonces de séries d'annonces dans votre compte réseau Ad Manager, vous pouvez utiliser la SGAI. Si l'option "Diffusion de séries d'annonces" n'est pas disponible L'insertion dynamique d'annonce est activée. Contactez votre responsable de compte.
Avec SGAI, vous utilisez les points de terminaison de l'API de livraison de pods pour créer un flux récupérer les métadonnées d'annonce et les fichiers manifestes de la série d'annonces.
Si vous disposez d'un serveur de manipulation du fichier manifeste, vous pouvez générer la série d'annonces URL des fichiers manifestes et insérer des marqueurs d'annonces qui contiennent les informations du fichier manifeste de la série d'annonces dans votre flux de contenu, en fonction de vos spécifications préférées.
Vous pouvez aussi planifier une coupure publicitaire à l'aide d'un autre mécanisme, que ceux du fichier manifeste de flux. Dans ce cas, votre application peut écouter à d'autres événements, comme l'interaction de l'utilisateur avec le flux, l'application elle-même ou une notification push. Après ces événements, l'application peut générer l'annonce les URL des fichiers manifestes des séries d'annonces et indiquer au lecteur de commencer à charger le fichier manifeste de la série d'annonces.
Prérequis
Avant de continuer, assurez-vous de disposer des éléments suivants:
- La diffusion de séries d'annonces pour l'insertion dynamique d'annonces est activée sur votre réseau Google Ad Manager.
- Un événement de diffusion en direct de type Fichier manifeste de diffusion de pods Pour créer l'événement : voir Configurez une diffusion en direct pour l'insertion dynamique d'annonce.
Suivre les recommandations
Avant de générer l'URL du fichier manifeste de la série d'annonces, nous vous recommandons d'appeler l'API EABN (Early Ad Break Notification) pour spécifier la durée prévue, les informations de ciblage et d'autres paramètres de chaque coupure publicitaire.
Pour les flux de production et de test, appelez l'API EABN, surtout si votre annonce toutes les campagnes programmatiques. Pour en savoir plus, consultez Fonctionnalités et consignes concernant le programmatique direct
Envoyer une demande d'enregistrement d'un flux
Lorsqu'un utilisateur démarre un flux de contenu dans votre application de lecteur vidéo, vous créez un flux demande d'inscription avec des paramètres de ciblage pour créer une session de streaming dans Ad Manager. Pour savoir comment envoyer une demande d'enregistrement de flux, consultez Method:stream Ensuite, vous recevez données de réponse de la requête.
Les exemples suivants effectuent une requête d'enregistrement de flux:
HTTP en texte brut
- Requête :
authority: dai.google.com
method: POST
path: /ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream
scheme: https
content-type: application/x-www-form-urlencoded
cust_params=customID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2
- Response:
{
"manifest_format": "hls",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"polling_frequency": 10,
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}
Coquille Rose
- Ligne de commande :
curl \
-H "Host: dai.google.com" \
-H "content-type: application/x-www-form-urlencoded" \
--data-binary "cust_params=channelID%253D1543216789%2526anotherKey%253Dvalue1%252Cvalue2" \
--compressed "https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream"
- Sortie :
{
"manifest_format": "hls",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
"polling_frequency": 10,
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL"
}
JavaScript
- Avec l'API Fetch:
const response = await fetch("https://dai.google.com/ssai/pods/api/v1/network/51636543/custom_asset/hls-podserving-manifest/stream", {
"headers": {
"content-type": "application/x-www-form-urlencoded",
},
"body": "cust_params=channelID%3D1543216789%26anotherKey%3Dvalue1%2Cvalue2",
"method": "POST",
});
const stream = await response.json();
console.log(stream);
- Journal de la console:
{
"stream_id": "24fd4e7c-95a0-42be-8874-00625139b9db:TUL",
"media_verification_url": "https://dai.google.com/view/p/service/linear/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/loc/TUL/network/51636543/event/TFyZF0IoSpqvCLtLv8JdCw/media/",
"metadata_url": "https://dai.google.com/linear/pods/hls/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/metadata",
"session_update_url": "https://dai.google.com/linear/v1/pa/event/TFyZF0IoSpqvCLtLv8JdCw/stream/24fd4e7c-95a0-42be-8874-00625139b9db:TUL/session",
"polling_frequency": 10,
"pod_manifest_url": "https://dai.google.com/linear/pods/v1/hls/event/TFyZF0IoSpqvCLtLv8JdCw/pod/$pod-id$.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db%3ATUL",
"manifest_format": "hls"
}
Interroger les métadonnées de la coupure publicitaire
Après avoir effectué une demande d'enregistrement de flux, sondez les métadonnées de l'annonce. À
vous définissez un minuteur à l'aide de polling_frequence
dans la réponse du flux à
l'étape d'inscription pour appeler l'annonce
métadonnées.
Pour chaque sondage, vous pouvez recevoir une liste partielle des annonces avec les métadonnées,
sont mises à disposition.
Générer l'URL du fichier manifeste de la série d'annonces
Créez une URL pour ressource de pod de l'API Pod Serving. Ensuite, transmettez l'URL à un lecteur vidéo lors du chargement de la série d'annonces.
L'exemple suivant illustre la structure de l'URL du fichier manifeste de la série d'annonces:
https://dai.google.com/linear/pods/v1/hls/network/51636543/custom_asset/pod_serving_hls_manifest_mp4/pod/101.m3u8?stream_id=24fd4e7c-95a0-42be-8874-00625139b9db:TUL&pd=120000
Vous pouvez calculer les paramètres d'URL du fichier manifeste de la série d'annonces en fonction de la coupure publicitaire des informations extraites du lecteur vidéo ou une notification du serveur. Pour les exigences de ces paramètres, consultez Méthode: fichier manifeste du pod
Lire le fichier manifeste de la série d'annonces
Dans l'application de lecteur vidéo cliente, lancez la lecture du flux de contenu avec un et consultez la documentation de votre lecteur vidéo pour savoir comment observer la lecture et le calendrier de diffusion des annonces, le cas échéant.
Si vous générez les URL du fichier manifeste de la série d'annonces et que vous les insérez dans le fichier manifeste côté serveur, observer les événements de coupure publicitaire à venir du lecteur vidéo et veiller à s'abonnent à des événements id3 lors de la lecture de chaque coupure publicitaire. Si vous planifiez l'annonce pour interrompre les événements côté client et s'abonner aux événements id3 lors de la création.
Créer des rapports sur les impressions et les événements d'annonce
Lorsqu'un lecteur vidéo lit la série d'annonces et rencontre les métadonnées associées à un code temporel ID3, écouter les événements d'annonce déclenchés par le lecteur vidéo, envoyer des pings de validation multimédia.