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

Utilisation de AWS Elemental MediaTailor avec le suivi côté clientAPI, vous pouvez intégrer le contrôle des joueurs pendant les pauses publicitaires dans les flux de travail 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. Pour plus d'informations sur les impressions et le balisage publicitaire par quartile, consultez. Balisage côté client Pour plus d'informations sur les entités de vérification des publicités ADS et les autres, consultezIntégrations de suivi publicitaire côté client.

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

À l'aide du suivi MediaTailor côté clientAPI, 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 :

Activation du suivi côté client

Vous activez le suivi côté client pour chaque session. Le joueur accède au point HTTP POST 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 JSON métadonnées :

{ "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 API configurez le modèle de ADS demande URL 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 le plus élevé de la JSON structure se trouve un adsParams JSON objet. À l'intérieur de cet objet se trouvent des paires clé/valeur qui MediaTailor peuvent être lues et envoyées au serveur publicitaire dans 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 paires clé/valeur réservées au niveau supérieur de la JSON structure, telles que, et adParams availSuppressionoverlayAvails, ne sont pas ajoutées à la demande d'origine sous forme de URL 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 paires clé/valeur pour envoyer des jetons d'accès à l'origine.

Fonctionnalités configurées par session

Utilisez la JSON structure 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 des marqueurs SCTE -35 pour transporter les données qui changent au cours de la session. Pour de plus amples informations, veuillez consulter Utilisation de variables de session.

Exemple : Effectuer un 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 : Effectuer un 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" } }

Une réponse réussie est une réponse HTTP 200 dotée d'un corps de réponse. Le corps contient un JSON objet muni d'une clé manifestUrl et d'une trackingUrl touche. 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, à la fois en direct et VOD dans MediaTailor les flux de travail.

Flux de travail en direct

Interrogez le terminal de suivi à un intervalle correspondant à chaque durée cible ou à chaque période de mise à jour minimale pourDASH, afin de toujours disposer des métadonnées de suivi publicitaire les plus récentes. HLS 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 (HLSDASH) ou d'élément d'événement () sur chaque annonce disponible. Les joueurs peuvent utiliser ces balises de manifeste pour appeler le point de terminaison MediaTailor de suivi de la session.

VODflux de travail

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 VOD flux de travail. 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 POST une demande dont le corps contient les publicités NextToken et les balises lié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 HTTP retour 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 portant l'ID 9935407 et deux balises d'une StartTimeInSeconds valeur de 52,286 et 48,332 secondes, comme le montre ce schéma.

Exemple d'annonce unique avec plusieurs balises publicitaires à traiter par GetTracking API point de terminaison

MediaTailor envoie la JSON réponse 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 : JF57ITe48t1441mv7TmLKuZLroxDzfIslp6BiSNL1IJmzPVMDN 0 lqrBYycg bKEb M.

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'ID d'annonce 9235407 ont les valeurs 132.41 et StartTimeInSeconds 70.339, comme le montre ce schéma.

Exemple de plusieurs publicités, chacune comportant plusieurs balises publicitaires, à traiter par GetTracking API point de terminaison

MediaTailor parcourt toutes les balises de la session pour sélectionner celles dont la durée est StartTimeInSeconds supérieure à 52,286 secondes, à savoir la balise 3 et la balise 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 } ] }