기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
예제 2: A/B 트래픽 분할
시나리오
스트리밍 서비스는 CUSTOM_OUTPUT 함수를 사용하여 A/B 테스트를 위해 두 광고 결정 서버(ADS) URLs 간에 광고 요청 트래픽을 무작위로 분할하려고 합니다. 광고 요청의 절반은 v1 엔드포인트로 이동하고 절반은 v2 엔드포인트로 이동합니다.
구성
A/B 트래픽 분할(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%}" } } }
이 구성의 경우:
-
FunctionId-이 함수의 고유한 이름입니다. -
FunctionType- HTTP 호출 없이 표현식을CUSTOM_OUTPUT평가합니다. -
Output- 두 ADS URL 중 하나를 임의로 선택하는adsRequest.url표현식에 매핑됩니다. URLs
함수 매핑
{ "FunctionMapping": { "PRE_ADS_REQUEST": "abTestAdsUrl" } }
함수 실행 시 발생하는 일
재생 중에 광고가 중단됩니다.
MediaTailor는
PRE_ADS_REQUEST수명 주기 후크를 실행하고를 실행합니다abTestAdsUrl.$random()함수는 0에서 1 사이의 값을 반환합니다. 값이 0.5 미만인 경우 함수는 ADS URL을 v1 엔드포인트로 설정합니다. 그렇지 않으면 URL을 v2 엔드포인트로 설정합니다.
$random() 함수는 각 광고 시간에 평가되므로 분할은 세션이 아닌 광고 요청당입니다.
작은 정보
트래픽 분할 비율을 조정하려면 임계값을 변경합니다. 예를 들어는 트래픽의 80%를 첫 번째 URL로 보내고 20%를 두 번째 URL로 $random() < 0.8 보냅니다.
참고
에 쓰면 현재 광고 시간에 대한 재생 구성에 구성된 기본 ADS URL이 adsRequest.url 재정의됩니다.
자세한 내용은 사용자 지정_출력, PRE_ADS_REQUEST, JSONata 표현식 참조 섹션을 참조하세요.