Suivi des publicités côté client - AWS Elemental MediaTailor

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Suivi des publicités côté client

À l'aide de l'API de suivi AWS Elemental MediaTailor côté client, vous pouvez intégrer des contrôles aux joueurs pendant les pauses publicitaires dans les flux de streaming. Dans le cadre du suivi côté client, le joueur ou le client transmet des événements de suivi, tels que le balisage publicitaire par impression et par quartile, au serveur de décision publicitaire (ADS) et à d'autres entités de vérification des publicités. Ces événements permettent de suivre à la fois le statut général des interruptions publicitaires et les avantages individuels des annonces pendant chaque pause. Pour plus d'informations sur les impressions et les quartiles (ADS) et les autres entités de vérification des publicités. Pour plus d'informations sur les impressions et le balisage publicitaire par quartile, consultez. Balisage côté client Pour plus d'informations sur ADS et les autres entités de vérification des publicités, consultezIntégrations de suivi publicitaire côté client.

Pour plus d'informations sur la transmission des paramètres du joueur et des données de session à l'ADS pour le suivi côté client, consultez MediaTailor variables du joueur et. MediaTailor variables de session

Le suivi côté client permet des fonctionnalités telles que les suivantes :

À l'aide de l'API de suivi MediaTailor côté client, vous pouvez envoyer des métadonnées au périphérique de lecture qui active des fonctionnalités en plus du suivi côté client :

Flux de production de rapports côté client

Le schéma suivant montre l'ensemble du flux de production de rapports côté client, depuis l'initialisation de la session jusqu'à la diffusion de publicités et au beaconing :

MediaTailor diagramme de séquence de rapports côté client montrant l'interaction entre le lecteur vidéo, le serveur Ad Decision MediaTailor, l'origine du contenu et les services de vérification des publicités pendant tout le flux de travail, depuis l'initialisation de la session jusqu'à la diffusion des publicités et au beaconing.

Le flux de production de rapports côté client comprend les étapes suivantes :

  1. Initialisation de session - Le lecteur vidéo envoie une requête POST au point de terminaison de MediaTailor session avec des métadonnées JSONadsParams, notamment des jetons d'origine et des fonctionnalités de session. MediaTailor répond avec manifestUrl et trackingUrl pour la session.

  2. Demande de manifeste et décision publicitaire - Le joueur demande le manifeste personnalisé à MediaTailor. MediaTailor demande le manifeste du contenu original depuis l'origine, envoie une demande publicitaire au serveur de décision publicitaire (ADS) en utilisant les paramètres du joueur, reçoit une réponse VASTE avec des métadonnées publicitaires et fournit un manifeste personnalisé avec des marqueurs publicitaires au joueur.

  3. Récupération des données de suivi - Le joueur interroge l'URL de suivi à intervalles réguliers (durée cible pour le HLS ou période de mise à jour minimale pour DASH). MediaTailor renvoie des métadonnées de suivi JSON contenant des informations, des publicités, des événements de suivi, des balises URLs et des données de vérification des publicités.

  4. Diffusion des publicités et balisage : pendant les pauses publicitaires, le lecteur analyse les métadonnées de suivi, déclenche des balises d'impression lorsque les publicités commencent à s'afficher, déclenche des balises de quartile (start, firstQuartile, midpoint, thirdQuartile, complete) au moment opportun, charge et exécute la vérification des publicités si nécessaire, et envoie les événements à des services de vérification tiers. JavaScript viewability/verification

  5. Sondage continu : le joueur continue de sonder l'URL de suivi tout au long de la session afin de recevoir des métadonnées mises à jour pour les prochaines annonces et le contenu dynamique.

Ce flux de travail intègre des fonctionnalités avancées telles que le compte à rebours des publicités, la fonctionnalité de clics, les publicités associées, les publicités ignorables et l'affichage d'icônes VAST pour garantir le respect de la confidentialité.

Activation du suivi côté client

Vous activez le suivi côté client pour chaque session. Le joueur envoie un HTTP POST au point de terminaison du MediaTailor préfixe d'initialisation de session de la configuration. Le joueur peut éventuellement envoyer des métadonnées supplémentaires MediaTailor à utiliser lorsqu'il passe des appels publicitaires, appelle l'origine d'un manifeste et invoque ou désactive des MediaTailor fonctionnalités au niveau de la session.

L'exemple suivant montre la structure des métadonnées JSON :

{ "adsParams": { # 'adsParams' is case sensitive "param1": "value1", # key is not case sensitive "param2": "value2", # Values can contain spaces. For example, 'value 2' is an allowed value. }, "origin_access_token":"abc123", # this is an example of a query parameter designated for the origin "overlayAvails":"on" # 'overlayAvails' is case sensitive. This is an example of a feature that is enabled at the session level. }

Utilisez la MediaTailor console ou l'API pour configurer l'URL du modèle de demande ADS afin de référencer ces paramètres. Dans l'exemple suivant, player_params.param1 sont les paramètres du joueur pourparam1, et player_params.param2 sont les paramètres du joueur pourparam2.

https://my.ads.com/path?param1=[player_params.param1]&param2=[player_params.param2]

Paramètres du serveur publicitaire

Au niveau supérieur de la structure JSON se trouve un objet adsParams JSON. À l'intérieur de cet objet key/value se trouvent des paires qui MediaTailor peuvent lire et envoyer au serveur publicitaire pour toutes les demandes de session. MediaTailor prend en charge les serveurs publicitaires suivants :

  • Gestionnaire de publicités Google

  • SpringServe

  • FreeWheel

  • Publica

Paramètres de requête d'interaction avec Origin

Les key/value paires réservées situées au niveau supérieur de la structure JSON, telles que, et adsParams availSuppressionoverlayAvails, ne sont pas ajoutées à l'URL de la demande d'origine sous forme de paramètres de requête. Chaque demande de manifeste de session MediaTailor envoyée à l'origine contient ces paramètres de requête. L'origine ignore les paramètres de requête superflus. Par exemple, MediaTailor vous pouvez utiliser les key/value paires pour envoyer des jetons d'accès à l'origine.

Fonctionnalités configurées par session

Utilisez la structure JSON d'initialisation de session pour activer, désactiver ou remplacer des MediaTailor fonctionnalités telles que, et. overlayAvails availSuppression adSignaling Toutes les configurations de fonctionnalités transmises lors de l'initialisation de la session remplacent le paramètre au niveau de la MediaTailor configuration.

Note

Les métadonnées soumises MediaTailor lors de l'initialisation de la session sont immuables, et les métadonnées supplémentaires ne peuvent pas être ajoutées pendant toute la durée de la session. Utilisez les marqueurs SCTE-35 pour transporter les données qui changent au cours de la session. Pour de plus amples informations, veuillez consulter MediaTailor variables de session.

Exemple : Réalisation du suivi des publicités côté client pour HLS
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.m3u8 { "adsParams": { "deviceType": "ipad" # This value does not change during the session. "uid": "abdgfdyei-2283004-ueu" } }
Exemple : Réalisation du suivi des publicités côté client pour DASH
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd { "adsParams": { "deviceType": "androidmobile", "uid": "xjhhddli-9189901-uic" } }

Paramètre du mode de rapport

Vous pouvez spécifier le mode de rapport lors de l'initialisation d'une session en incluant le reportingMode paramètre dans le corps de la demande. Ce paramètre détermine si le suivi MediaTailor des publicités est effectué côté client ou côté serveur pour la session.

  • client- Le joueur effectue le suivi des publicités et envoie des balises au serveur publicitaire. Il s'agit du mode par défaut si aucun n'reportingModeest spécifié.

  • server- MediaTailor effectue un suivi publicitaire côté serveur et envoie des balises directement au serveur publicitaire.

Exemple Initialisation de session avec mode de reporting côté serveur
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.m3u8 { "adsParams": { "deviceType": "ipad", "uid": "abdgfdyei-2283004-ueu" }, "reportingMode": "server" }
Exemple Initialisation de session avec mode de reporting côté client (explicite)
POST mediatailorURL/v1/session/hashed-account-id/origin-id/asset-id.mpd { "adsParams": { "deviceType": "androidmobile", "uid": "xjhhddli-9189901-uic" }, "reportingMode": "client" }
Note

Le reportingMode paramètre est défini lors de l'initialisation de la session et ne peut pas être modifié pendant la session. Si non reportingMode est spécifié, les rapports côté client sont utilisés MediaTailor par défaut pour maintenir la rétrocompatibilité.

Une réponse réussie est un HTTP 200 avec un corps de réponse. Le corps contient un objet JSON avec une clé manifestUrl et une trackingUrl clé. Les valeurs sont relatives et le lecteur peut URLs les utiliser à la fois à des fins de lecture et de suivi des événements publicitaires.

{ "manifestUrl": "/v1/dashmaster/hashed-account-id/origin-id/asset-id.m3u8?aws.sessionId=session-id", "trackingUrl": "/v1/tracking/hashed-account-id/origin-id/session-id" }

Pour plus d'informations sur le schéma de suivi côté client, consultez. Schéma et propriétés de suivi des publicités côté client

Bonnes pratiques en matière de suivi côté client

Cette section décrit les meilleures pratiques en matière de suivi côté client pour les flux de travail en MediaTailor direct et de VOD.

Flux de travail en direct

Interrogez le terminal de suivi à un intervalle correspondant à chaque durée cible pour le HLS ou à la période de mise à jour minimale pour DASH, afin de toujours disposer des métadonnées de suivi publicitaire les plus récentes. Il est particulièrement important de faire correspondre cet intervalle dans les flux de travail où les créations peuvent comporter un composant interactif ou superposé.

Note

Certains joueurs soutiennent les auditeurs d'événements, ce qui pourrait être utilisé comme alternative aux sondages. Par exemple, la fonctionnalité de décoration de l'identifiant MediaTailor publicitaire doit être activée pour chaque session. Pour de plus amples informations, veuillez consulter Décoration d'identification publicitaire. L'utilisation de cette fonctionnalité place un identifiant de plage de dates (HLS) ou d'élément d'événement (DASH) sur chaque annonce disponible. Les joueurs peuvent utiliser ces balises de manifeste pour appeler le point de terminaison MediaTailor de suivi de la session.

Flux de travail VOD

Après une initialisation de session réussie et après avoir MediaTailor reçu le premier manifeste contenant du contenu multimédia, vous n'avez qu'à appeler le point de terminaison de suivi une seule fois.

Flux d'appels pour les flux de travail VOD. Appelez le point de terminaison de suivi côté client après l'initialisation de la session et la MediaTailor réception du premier manifeste contenant du contenu multimédia.

Pagination par le biais de balises publicitaires avec GetTracking

Utilisez le GetTracking point de terminaison pour réduire le nombre de publicités renvoyées à un joueur. Par exemple, si une fenêtre de manifeste est large et s'étend sur une longue période, le nombre de balises publicitaires renvoyées peut avoir un impact sur les performances des joueurs.

GetTrackingrenvoie une NextToken valeur que vous pouvez utiliser pour réduire le nombre de balises renvoyées en parcourant la liste des balises renvoyées. Vous pouvez parcourir les NextToken valeurs pour trouver la valeur souhaitée dans le StartTimeInSeconds champ d'une balise publicitaire.

  • Lors du premier appel àGetTracking, toutes les publicités possibles figurant dans la fenêtre du manifeste sont renvoyées, y compris la valeur NextToken et de chacune.

  • Si une GetTracking demande n'inclut pas deNextToken, toutes les annonces de la fenêtre du manifeste sont renvoyées.

  • Si une GetTracking demande contient un NextToken mais qu'il n'y a aucune nouvelle balise à renvoyer, MediaTailor renvoie la même valeur que celle NextToken que vous avez envoyée lors de la demande initiale.

  • Lorsqu'il n'y a plus de beacons correspondant à une annonce, GetTracking elle est supprimée de sa réponse.

  • Les jetons GetTracking expirent au bout de 24 heures. Si une NextToken valeur date de plus de 24 heures, l'appel suivant GetTracking renvoie une valeur nulle. NextToken

Séquence d'appel généralisée GetTracking du joueur

De la part du joueur client, une GetTracking demande est un POST dont le corps contient les publicités NextToken et les balises associées au jeton.

https://YouMediaTailorUrl/v1/tracking { "NextToken": "value" . . . }

La séquence générale d'utilisation GetTracking avec NextToken est la suivante :

  1. Passez le premier appel àGetTracking.

    Toutes les publicités et les balises, ainsi que les premières NextToken pour les appels suivants, sont renvoyées.

  2. Si la valeur de NextToken est nulle, MediaTailor renvoie toutes les balises publicitaires.

  3. Si le NextToken est expiré, MediaTailor renvoie un message d'erreur du code de retour HTTP 400.

    Passez un nouvel appel à GetTracking pour récupérer des NextToken s valides.

  4. Scannez l'intégralité StartTimeInSeconds de la réponse pour trouver une balise publicitaire se situant dans la plage souhaitée.

  5. Passez un nouvel appel à GetTracking avec la valeur NextToken associée à la valeur souhaitéeStartTimeInSeconds.

  6. Si nécessaire, parcourez à nouveau les publicités renvoyées jusqu'à ce que vous trouviez exactement celles auxquelles vous souhaitez jouer.

Exemple étendu

Cet exemple montre comment utiliser GetTracking les balises NextToken pour limiter le nombre de balises publicitaires renvoyées à un joueur.

MediaTailor reçoit une GetTracking demande. La réponse contient une annonce avec l'ID 9935407 et deux balises avec des StartTimeInSeconds valeurs 52,286 et 48,332 secondes.

MediaTailor envoie la réponse JSON NextToken comme suit :

{ "NextToken": JF57ITe48t1441mv7TmLKuZLroxDzfIslp6BiSNL1IJmzPVMDN0lqrBYycgMbKEb "avails": [ { "ads": [ { "adId": "9935407", "adVerifications": [], "companionAds": [], "creativeId": "", "creativeSequence": "", "duration": "PT15S", "durationInSeconds": 15, "extensions": [], "mediaFiles": { "mediaFilesList": [], "mezzanine": "" }, "startTime": "PT30S", "StartTimeInSeconds": 45, "trackingEvents": [ { "beaconUrls": [ "http://adserver.com/tracking?event=Impression " ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "9935414", "eventType": "secondQuartile", "startTime": "PT52.286S", "StartTimeInSeconds": 52.286 }, { "beaconUrls": [ "http://adserver.com/tracking?event=firstQuartile" ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "9935412", "eventType": "firstQuartile", "startTime": "PT48.332S", "StartTimeInSeconds": 48.332 } ], "vastAdId": "" } ], "startTime": "PT46.47S", "StartTimeInSeconds": 46.47 } ] }

À la GetTracking demande suivante, MediaTailor répond avec la NextToken valeur : JF57 ITe48t1441mv7 Tm LKu ZLrox DzfIslp 6Bi SNL1 IJmz BYycg PVMDn0LQR Mb. KEb

MediaTailor répond avec des publicités et des balises correspondant à StartTimeInSeconds celles définies lors NextToken de l'appel précédent.

Supposons que la réponse inclut maintenant une autre annonce portant l'ID 9235407 en plus de l'annonce précédente portant l'ID 9935407. Les balises portant l'identifiant publicitaire 9235407 ont les numéros 132.41 et 70.339StartTimeInSeconds.

MediaTailor parcourt toutes les balises de la session pour sélectionner celles dont la durée est StartTimeInSeconds supérieure à 52,286 secondes, à savoir les balises 3 et 4 de l'annonce portant l'ID 9235407 :

{ "NextToken": ZkfknvbfsdgfbsDFRdffg12EdffecFRvhjyjfhdfhnjtsg5SDGN "avails": [ { "ads": [ { "adId": "9235407", "adVerifications": [], "companionAds": [], "creativeId": "", "creativeSequence": "", "duration": "PT15.816S", "durationInSeconds": 19.716, "extensions": [], "mediaFiles": { "mediaFilesList": [], "mezzanine": "" }, "startTime": "PT2M0S", "StartTimeInSeconds": 120.0, "trackingEvents": [ { "beaconUrls": [ "http://adserver.com/tracking?event=complete" ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "8935414", "eventType": "firstQuartile", "startTime": "PT1M10.330S", "StartTimeInSeconds": 70.339 }, { "beaconUrls": [ "http://adserver.com/tracking?event=thirdQuartile" ], "duration": "PT0S", "durationInSeconds": 0, "eventId": "8935412", "eventType": "secondQuartile", "startTime": "PT2M12.41S", "StartTimeInSeconds": 132.41 } ], "vastAdId": "" }, ], "startTime": "PT36.47S", "StartTimeInSeconds": 36.47 } ] }