View a markdown version of this page

Ejemplo 2: división A/B del tráfico - AWS Elemental MediaTailor

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Ejemplo 2: división A/B del tráfico

Escenario

Un servicio de streaming quiere usar una función CUSTOM_OUTPUT para dividir aleatoriamente el tráfico de solicitudes de anuncios entre dos URL de servidores de decisiones publicitarias (ADS) para realizar pruebas. A/B La mitad de las solicitudes de anuncios van al punto final de la versión 1 y la otra mitad al punto de enlace de la versión 2.

Configuración

A/B división del tráfico (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%}" } } }

En esta configuración:

  • FunctionId— Un nombre único para esta función.

  • FunctionType— CUSTOM_OUTPUT evalúa expresiones sin realizar llamadas HTTP.

  • Output— Se asigna adsRequest.url a una expresión que selecciona aleatoriamente una de las dos URL de ADS.

Mapeo de funciones

{ "FunctionMapping": { "PRE_ADS_REQUEST": "abTestAdsUrl" } }

¿Qué ocurre cuando se ejecuta la función

  1. Se produce una pausa publicitaria durante la reproducción.

  2. MediaTailor ejecuta el enlace PRE_ADS_REQUEST del ciclo de vida y se ejecutaabTestAdsUrl.

  3. La $random() función devuelve un valor entre 0 y 1. Si el valor es inferior a 0,5, la función establece la URL del ADS en el punto final v1. De lo contrario, establece la URL en el punto final de la versión 2.

La $random() función se evalúa en cada pausa publicitaria, por lo que se divide por solicitud de anuncio, no por sesión.

sugerencia

Para ajustar la ratio de división del tráfico, cambia el valor de umbral. Por ejemplo, $random() < 0.8 envía el 80% del tráfico a la primera URL y el 20% a la segunda.

nota

Escribir para adsRequest.url anular la URL del ADS predeterminada configurada en la configuración de reproducción para la pausa publicitaria actual.

Para obtener más información, consulte Salida personalizada, Pre-ads solicitud y JSONatareferencia de expresión.