View a markdown version of this page

예제 4: 보조 광고 서버 대체 - AWS Elemental MediaTailor

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

예제 4: 보조 광고 서버 대체

시나리오

기본 ADS가 광고 시간보다 적은 수의 광고를 반환하는 경우가 있습니다. 이 경우 보조 광고 서버에서 추가 광고를 가져와 광고 목록에 추가하면 추가 광고가 남은 시간을 채울 수 있습니다.

이 예제에서는 POST_ADS_RESPONSE 수명 주기 후크를 사용합니다. VAST_REQUEST 함수는 보조 광고를 가져오고 프로세스를 SEQUENTIAL_EXECUTOR 오케스트레이션합니다. 실행기의 출력 블록은 가져온 광고를 광고 목록에 추가하고 기본 응답에 이미 충분한 광고가 있는 경우 보조 가져오기를 완전히 RunCondition 건너뜁니다.

함수 구성

가져오기 함수(fetchBackupAds):

{ "FunctionId": "fetchBackupAds", "FunctionType": "VAST_REQUEST", "VastRequestConfiguration": { "Runtime": "JSONATA", "MethodType": "GET", "Url": "{%'https://backup-ads.example.com/vast?sid=' & session.uuid%}", "Headers": { "Accept": "application/xml" }, "RequestTimeoutMilliseconds": 1000, "Output": { "temp.backupAds": "{%response.parsedAds%}" } } }

시퀀스(backupAdsFallback):

{ "FunctionId": "backupAdsFallback", "FunctionType": "SEQUENTIAL_EXECUTOR", "SequentialExecutorConfiguration": { "Runtime": "JSONATA", "TimeoutMilliseconds": 2000, "FunctionList": [ { "FunctionId": "fetchBackupAds", "RunCondition": "{%$count(adsResponse.ads) < 3%}" } ], "Output": { "adsResponse.ads": "{%$count(adsResponse.ads) < 3 ? $append(adsResponse.ads, temp.backupAds)[] : adsResponse.ads[]%}" } } }

함수 매핑

{ "FunctionMapping": { "POST_ADS_RESPONSE": "backupAdsFallback" } }

실행 시간 작동

  1. MediaTailor는 기본 ADS 응답을 수신하고 구문 분석한 다음 POST_ADS_RESPONSE 수명 주기 후크를 실행합니다.

  2. 기본 응답에 3개 미만의 광고가 포함된 경우는 보조 광고 서버를 RunCondition 평가하고 true fetchBackupAds 호출합니다. 그런 다음 MediaTailor는 응답을 VAST로 구문 분석하고 래퍼 리디렉션을 확인하며 구문 분석된 광고를에 기록합니다temp.backupAds.

  3. 기본 응답에 이미 3개 이상의 광고가 있는 경우 가져오기는 건너뛰고 설정temp.backupAds되지 않습니다.

  4. 시퀀스의 출력 블록은 결합된 광고 목록을에 씁니다adsResponse.ads. 가져오기를 건너뛰면 조건은 else브랜치를 가져와서 원래 광고를 변경 없이 반환합니다. 보조 광고는 동일한 후크 호출에서 VAST_REQUEST 함수에 의해 구문 분석되었으므로 MediaTailor는 광고 선택 전에 추가된 각 광고의 전체 VAST 데이터를 복원합니다.

  5. 광고 선택은 결합된 목록으로 진행됩니다. 보조 가져오기에 실패한 경우 temp.backupAds는 빈 배열이며 원래 광고 목록은 변경되지 않고 사용됩니다.

참고

출력 표현식[]의 후행은 필수입니다. 배열 강제가 없으면 0개 또는 1개의 광고를 생성하는 표현식은 배열을 생성하지 않으며 출력이 삭제되거나 잘못 적용됩니다. 자세한 내용은 광고 후 응답 단원을 참조하십시오.

이 예제에서 사용되는 필드에 대한 자세한 내용은 VAST 요청 및 섹션을 참조하세요광고 후 응답.