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 sur les 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 ADS et les autres entités de vérification des publicités, consultezIntégrations de suivi publicitaire côté client.

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 :

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 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 structure JSON, telles que, et adParams 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 paires clé/valeur 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 Utilisation de 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" } }

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 d'entre elles.

  • 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 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 } ] }