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.
Exemple 2 : répartition A/B du trafic
Scénario
Un service de streaming souhaite utiliser une fonction CUSTOM_OUTPUT pour répartir de manière aléatoire le trafic de demandes publicitaires entre deux URL de serveur de décision publicitaire (ADS) à des fins de test. A/B La moitié des demandes publicitaires sont destinées au point de terminaison v1 et l'autre moitié au point de terminaison v2.
Configuration
A/B répartition du trafic (CUSTOM_OUTPUT) :
{ "FunctionId": "abTestAdsUrl", "FunctionType": "CUSTOM_OUTPUT", "CustomOutputConfiguration": { "Runtime": "JSONATA", "Output": { "adsRequest.url": "{%$random() < 0.5 ? 'https://ads.example.com/v1/decision?session=' & session.id : 'https://ads.example.com/v2/decision?session=' & session.id%}" } } }
Dans cette configuration :
-
FunctionId— Nom unique pour cette fonction. -
FunctionType—CUSTOM_OUTPUTévalue les expressions sans effectuer d'appels HTTP. -
Output— CorrespondadsRequest.urlà une expression qui sélectionne de manière aléatoire l'une des deux URL ADS.
Cartographie des fonctions
{ "FunctionMapping": { "PRE_ADS_REQUEST": "abTestAdsUrl" } }
Que se passe-t-il lorsque la fonction s'exécute
Une interruption publicitaire se produit lors de la diffusion.
MediaTailor exécute le hook
PRE_ADS_REQUESTdu cycle de vie et s'exécuteabTestAdsUrl.La
$random()fonction renvoie une valeur comprise entre 0 et 1. Si la valeur est inférieure à 0,5, la fonction définit l'URL ADS sur le point de terminaison v1. Sinon, il définit l'URL du point de terminaison v2.
La $random() fonction est évaluée à chaque pause publicitaire, de sorte que la répartition se fait par demande publicitaire, et non par session.
Astuce
Pour ajuster le ratio de répartition du trafic, modifiez la valeur du seuil. Par exemple, $random() < 0.8 envoie 80 % du trafic vers la première URL et 20 % vers la seconde.
Note
L'écriture vers adsRequest.url remplace l'URL ADS par défaut configurée dans la configuration de diffusion pour la pause publicitaire en cours.
Pour plus d’informations, consultez SORTIE_PERSONNALISÉE, DEMANDE PRÉALABLE AUX ANNONCES et Référence d'expression JSonata.