클라이언트 측 광고 추적을 위한 플레이어 컨트롤 및 기능 - AWS Elemental MediaTailor

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

클라이언트 측 광고 추적을 위한 플레이어 컨트롤 및 기능

MediaTailor 클라이언트측 추적 메타데이터는 다양한 플레이어 컨트롤과 기능을 지원합니다. 다음 목록은 인기 있는 플레이어 컨트롤에 대해 설명합니다.

스크러빙

재생 경험을 향상시키기 위해 플레이어는 재생 타임라인에 광고 위치를 표시할 수 있습니다. MediaTailor 클라이언트 측 추적 응답에서 이러한 광고 포지션을 adStartTimeInSeconds 값 형태로 사용할 수 있도록 합니다.

참고

일부 스트리밍 제공업체는 광고 게재순위를 스크러빙하는 것을 막습니다.

광고가 재생되는 동영상 타임라인의 MediaTailor 표시 위치를 보여주는 스크린샷

다음 클라이언트측 추적 페이로드 JSON 응답은 avails 배열의 루트 JSON 객체 내 어베일 (광고 브레이크) 시작 시간을 보여줍니다. 플레이어는 이 데이터를 사용하여 플레이어 타임라인의 광고 브레이크 위치를 28초로 표시합니다.

{ "avails": [ { "adBreakTrackingEvents": [], "adMarkerDuration": null, "ads": [...], "availId": "7", "availProgramDateTime": null, "duration": "PT30S", "durationInSeconds": 30, "meta": null, "nonLinearAdsList": [], "startTime": "PT28S", "startTimeInSeconds": 28 } ], "dashAvailabilityStartTime": null, "hlsAnchorMediaSequenceNumber": null, "nextToken": "UFQxMk0zNC44NjhTXzIwMjMtMDctMjFUMjA6MjM6MDcuNzc1NzE2MzAyWl8x", "nonLinearAvails": [] }

광고 카운트다운 타이머

MediaTailor 이를 통해 광고 카운트다운 타이머를 사용하여 광고 중단 시간에도 시청자의 참여를 유지할 수 있습니다. 시청자는 타이머를 사용하여 광고 중단이 종료되고 프로그램이 재개되는 시점을 파악할 수 있습니다.

시청자에게 프로그램이 재개될 때까지 남은 시간을 알려주는 광고 카운트다운 타이머를 MediaTailor 표시하는 스크린샷

클라이언트측 추적 메타데이터에서 광고 카운트다운 타이머에서 역할을 하는 요소는,,, 입니다startTime. startTimeInSeonds duration durationInSeconds 플레이어는 이 메타데이터와 별도로 추적하는 세션 경과 시간을 사용하여 타이머를 표시할 시기와 카운트다운 대상 값을 결정합니다.

다음 클라이언트측 추적 페이로드 JSON 응답은 광고 카운트다운 타이머를 표시하는 데 필요한 정보를 보여줍니다.

{ "avails": [ { "adBreakTrackingEvents": [], "adMarkerDuration": null, "ads": [...], "availId": "7", "availProgramDateTime": null, "duration": "PT30S", "durationInSeconds": 30, "meta": null, "nonLinearAdsList": [], "startTime": "PT28S", "startTimeInSeconds": 28 } ], "dashAvailabilityStartTime": null, "hlsAnchorMediaSequenceNumber": null, "nextToken": "UFQxMk0zNC44NjhTXzIwMjMtMDctMjFUMjA6MjM6MDcuNzc1NzE2MzAyWl8x", "nonLinearAvails": [] }

세션 경과 시간이 어베일의 시작 시간에 도달하면 플레이어가 어베일의 지속 시간과 일치하는 값을 가진 카운트다운 타이머를 표시합니다. 경과 시간이 어베일의 시작 시간을 초과하면 카운트다운 타이머 값이 감소합니다.

예 공식: (라이브 및) 및 () 의 카운트다운 타이머 HLS VOD DASH VOD
  • session_start_time= 모든 EXT-INF 지속 시간 값의 합계 - 세 개의 최신 EXT-INF 미디어 시퀀스의 지속 시간 값

  • 타이머 값 = duration - (session_elapsed_time-startTime)

HLS(라이브 및) 및 (VOD) 매니페스트의 세션 시작 시간 및 가용 시작 시간을 기준으로 광고 카운트다운 타이머가 계산된 다이어그램입니다. DASH VOD
예 공식: (라이브) 용 카운트다운 타이머 DASH
  • session_start_time= (최신 세그먼트의 startTime +duration)/timescale- MPD@suggestedPresentationDelay

  • 타이머 값 = duration - (session_elapsed_time-startTime)

라이브 DASH 매니페스트의 세션 시작 시간 및 사용 시작 시간을 기준으로 광고 카운트다운 타이머를 계산한 다이어그램입니다.

건너뛸 수 있는 광고

건너뛸 수 있는 광고란 시청자가 일부 광고를 건너뛰고 프로그램을 다시 시청할 수 있는 광고 스팟입니다. 에서 Linear@skipOffset 속성은 VAST 건너뛸 수 있는 광고를 식별합니다.

다음 VAST 응답은 건너뛰기 가능한 광고를 사용하는 방법을 보여줍니다.

<?xml version="1.0" encoding="UTF-8"?> <VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0"> <Ad> <InLine> ... <Creatives> <Creative id="1" sequence="1"> <Linear skipoffset="00:00:05"> <Duration>00:00:15</Duration> <MediaFiles> <MediaFile id="EMT" delivery="progressive" width="640" height="360" type="video/mp4" bitrate="143" scalable="true" maintainAspectRatio="true"><![CDATA[https://ads.com/file.mp4]]></MediaFile> </MediaFiles> </Linear> </Creative> </Creatives> ... </InLine> </Ad> </VAST>

다음 클라이언트측 추적 페이로드 JSON 응답은 배열 내의 광고 메타데이터를 보여줍니다. ads 배열에는 응답에서 MediaTailor 얻은 skipOffset 값이 포함됩니다. VAST

{ "avails": [ { "adBreakTrackingEvents": [], "adMarkerDuration": null, "ads": [ { "adId": "1", "adParameters": "", "adProgramDateTime": "2023-07-31T16:11:40.693Z", "adSystem": "2.0", "adTitle": "AD-skiing-15", "adVerifications": [], "companionAds": [...], "creativeId": "1", "creativeSequence": "1", "duration": "PT15.015S", "durationInSeconds": 15.015, "extensions": [], "mediaFiles": { "mediaFilesList": [], "mezzanine": "" }, "skipOffset": "00:00:05", "startTime": "PT9.943S", "startTimeInSeconds": 9.943, "trackingEvents": [ { "beaconUrls": [ "https://adserverbeaconing.com/v1/impression" ], "duration": "PT15.015S", "durationInSeconds": 15.015, "eventId": "2697726", "eventProgramDateTime": null, "eventType": "impression", "startTime": "PT9.943S", "startTimeInSeconds": 9.943 } ], "vastAdId": "" } ], "availId": "2697726", "availProgramDateTime": "2023-07-31T16:11:40.693Z", "duration": "PT15.015S", "durationInSeconds": 15.015, "meta": null, "nonLinearAdsList": [], "startTime": "PT9.943S", "startTimeInSeconds": 9.943 } ], "dashAvailabilityStartTime": null, "hlsAnchorMediaSequenceNumber": null, "nextToken": "", "nonLinearAvails": [] }

광고 클릭스루

광고주는 클릭스루를 URIs 통해 광고가 시청자의 관심을 얼마나 성공적으로 사로잡았는지 측정할 수 있습니다. 시청자가 진행 중인 광고의 활성 동영상 프레임을 클릭하면 웹 브라우저가 광고주의 홈페이지 또는 캠페인 랜딩 URI 페이지를 엽니다. 플레이어 개발자가 광고 동영상에 버튼이나 라벨을 오버레이하고 자세히 알아보기 위해 클릭하라는 메시지를 표시하는 등의 클릭 행동을 결정합니다. 플레이어 개발자는 시청자가 활성 동영상 프레임을 클릭한 후 광고 동영상을 일시 중지하는 경우가 많습니다.

동영상 플레이어의 광고 클릭스루 스크린샷 시청자가 동영상 프레임을 클릭합니다. 플레이어가 동영상을 일시 중지한 다음 웹 브라우저를 열어 시청자를 광고주의 홈페이지 또는 캠페인 랜딩 페이지로 안내합니다.

MediaTailor 응답에서 반환되는 선형 동영상 클릭스루 이벤트를 분석하여 사용할 수 있습니다. URLs VAST 다음 VAST 응답은 광고 클릭스루 예시를 보여줍니다.

<?xml version="1.0" encoding="UTF-8"?> <VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0"> <Ad> <InLine> ... <Creatives> <Creative id="1" sequence="1"> <Linear> <Duration>00:00:15</Duration> <MediaFiles> <MediaFile id="EMT" delivery="progressive" width="1280" height="720" type="video/mp4" bitrate="143" scalable="true" maintainAspectRatio="true"><![CDATA[https://ads.com/file.mp4]]></MediaFile> </MediaFiles> <VideoClicks> <ClickThrough id="EMT"><![CDATA[https://aws.amazon.com]]></ClickThrough> <ClickTracking id="EMT"><![CDATA[https://myads.com/beaconing/event=clicktracking]]></ClickTracking> </VideoClicks> </Linear> </Creative> </Creatives> ... </InLine> </Ad> </VAST>

다음 클라이언트측 추적 페이로드 JSON 응답은 배열 내에서 클릭스루 및 클릭추적이 어떻게 MediaTailor 표시되는지를 보여줍니다. URLs trackingEvents clickThrough이벤트 유형은 클릭스루 광고를 나타내고, 이벤트 유형은 클릭추적을 나타냅니다. clickTracking URL

{ "avails": [ { "adBreakTrackingEvents": [], "adMarkerDuration": null, "ads": [ { "adId": "1", "adParameters": "", "adProgramDateTime": "2023-07-31T16:53:40.577Z", "adSystem": "2.0", "adTitle": "1", "adVerifications": [], "companionAds": [], "creativeId": "00006", "creativeSequence": "1", "duration": "PT14.982S", "durationInSeconds": 14.982, "extensions": [], "mediaFiles": { "mediaFilesList": [], "mezzanine": "" }, "skipOffset": null, "startTime": "PT39.339S", "startTimeInSeconds": 39.339, "trackingEvents": [ { "beaconUrls": [ "https://myads.com/beaconing/event=impression" ], "duration": "PT14.982S", "durationInSeconds": 14.982, "eventId": "2698188", "eventProgramDateTime": null, "eventType": "impression", "startTime": "PT39.339S", "startTimeInSeconds": 39.339 }, { "beaconUrls": [ "https://aws.amazon.com" ], "duration": "PT14.982S", "durationInSeconds": 14.982, "eventId": "2698188", "eventProgramDateTime": null, "eventType": "clickThrough", "startTime": "PT39.339S", "startTimeInSeconds": 39.339 }, { "beaconUrls": [ "https://myads.com/beaconing/event=clicktracking" ], "duration": "PT14.982S", "durationInSeconds": 14.982, "eventId": "2698795", "eventProgramDateTime": null, "eventType": "clickTracking", "startTime": "PT39.339S", "startTimeInSeconds": 39.339 } ], "vastAdId": "" } ], "availId": "2698188", "availProgramDateTime": "2023-07-31T16:53:40.577Z", "duration": "PT14.982S", "durationInSeconds": 14.982, "meta": null, "nonLinearAdsList": [], "startTime": "PT39.339S", "startTimeInSeconds": 39.339 } ], "dashAvailabilityStartTime": null, "hlsAnchorMediaSequenceNumber": null, "nextToken": "UFQzOS4zMzlTXzIwMjMtMDctMzFUMTY6NTQ6MDQuODA1Mzk2NTI5Wl8x", "nonLinearAvails": [] }

컴패니언 광고

컴패니언 광고는 선형 크리에이티브와 함께 표시됩니다. 컴패니언 광고를 사용하면 제품, 로고, 브랜드 정보를 표시하여 광고 스팟의 효과를 높일 수 있습니다. 디스플레이 광고에는 QR (Quick Response) 코드와 클릭 가능한 영역을 포함시켜 시청자 참여를 촉진할 수 있습니다.

MediaTailor 응답 시 컴패니언 광고를 지원합니다. VAST 각각 StaticResourceiFrameResource, 및 HTMLResource 노드의 메타데이터를 통과할 수 있습니다.

다음 VAST 응답은 선형 광고 및 컴패니언 광고의 위치 및 형식 예시를 보여줍니다.

<?xml version="1.0" encoding="UTF-8"?> <VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0"> <Ad> <InLine> ... <Creatives> <Creative id="1" sequence="1"> <Linear> <Duration>00:00:10</Duration> <MediaFiles> <MediaFile id="EMT" delivery="progressive" width="640" height="360" type="video/mp4" bitrate="143" scalable="true" maintainAspectRatio="true"><![CDATA[https://ads.com/file.mp4]]></MediaFile> </MediaFiles> </Linear> </Creative> <Creative id="2" sequence="1"> <CompanionAds> <Companion id="2" width="300" height="250"> <StaticResource creativeType="image/png"><![CDATA[https://emt.com/companion/9973499273]]></StaticResource> <TrackingEvents> <Tracking event="creativeView"><![CDATA[https://beacon.com/1]]></Tracking> </TrackingEvents> <CompanionClickThrough><![CDATA[https://beacon.com/2]]></CompanionClickThrough> </Companion> <Companion id="3" width="728" height="90"> <StaticResource creativeType="image/png"><![CDATA[https://emt.com/companion/1238901823]]></StaticResource> <TrackingEvents> <Tracking event="creativeView"><![CDATA[https://beacon.com/3]]></Tracking> </TrackingEvents> <CompanionClickThrough><![CDATA[https://beacon.com/4]]></CompanionClickThrough> </Companion> </CompanionAds> </Creative> </Creatives> ... </InLine> </Ad> </VAST>

데이터는 목록의 클라이언트 측 추적 응답에 /avail/x/ads/y/companionAds 표시됩니다. 각 리니어 크리에이티브에는 최대 6개의 컴패니언 광고가 포함될 수 있습니다. 아래 예시와 같이 컴패니언 광고가 목록에 표시됩니다.

참고

애플리케이션 개발자는 크리에이티브 종료 시 컴패니언 광고를 명시적으로 삭제하거나 언로드하는 로직을 구현하는 것이 좋습니다.

{ "avails": [ { "adBreakTrackingEvents": [], "adMarkerDuration": null, "ads": [ { "adId": "0", "adParameters": "", "adProgramDateTime": null, "adSystem": "EMT", "adTitle": "sample", "adVerifications": [], "companionAds": [ { "adParameters": null, "altText": null, "attributes": { "adSlotId": null, "apiFramework": null, "assetHeight": null, "assetWidth": null, "expandedHeight": null, "expandedWidth": null, "height": "250", "id": "2", "pxratio": null, "renderingMode": null, "width": "300" }, "companionClickThrough": "https://beacon.com/2", "companionClickTracking": null, "htmlResource": null, "iFrameResource": null, "sequence": "1", "staticResource": "https://emt.com/companion/9973499273", "trackingEvents": [ { "beaconUrls": [ "https://beacon.com/1" ], "eventType": "creativeView" } ] }, { "adParameters": null, "altText": null, "attributes": { "adSlotId": null, "apiFramework": null, "assetHeight": null, "assetWidth": null, "expandedHeight": null, "expandedWidth": null, "height": "90", "id": "3", "pxratio": null, "renderingMode": null, "width": "728" }, "companionClickThrough": "https://beacon.com/4", "companionClickTracking": null, "htmlResource": null, "iFrameResource": null, "sequence": "1", "staticResource": "https://emt.com/companion/1238901823", "trackingEvents": [ { "beaconUrls": [ "https://beacon.com/3" ], "eventType": "creativeView" } ] } ], "creativeId": "1", "creativeSequence": "1", "duration": "PT10S", "durationInSeconds": 10, "extensions": [], "mediaFiles": { "mediaFilesList": [], "mezzanine": "" }, "skipOffset": null, "startTime": "PT0S", "startTimeInSeconds": 0, "trackingEvents": [ { "beaconUrls": [ "https://beacon.com/impression/1" ], "duration": "PT10S", "durationInSeconds": 10, "eventId": "0", "eventProgramDateTime": null, "eventType": "impression", "startTime": "PT0S", "startTimeInSeconds": 0 } ], "vastAdId": "" } ], "availId": "0", "availProgramDateTime": null, "duration": "PT10S", "durationInSeconds": 10, "meta": null, "nonLinearAdsList": [], "startTime": "PT0S", "startTimeInSeconds": 0 } ], "dashAvailabilityStartTime": null, "hlsAnchorMediaSequenceNumber": null, "nextToken": "UFQxMFNfMjAyMy0wNy0wNlQyMToxMDowOC42NzQ4NDA1NjJaXzE%3D", "nonLinearAvails": [] }

인터랙티브 광고 () SIMID

SecureInteractive 미디어 인터페이스 정의 (SIMID) 는 인터랙티브 광고국 (IAB) 의 VAST 4.x 표준에 도입된 인터랙티브 광고 표준입니다. SIMID플레이어의 주요 선형 크리에이티브와 인터랙티브 요소의 로딩을 분리하여 응답에서 두 요소를 모두 참조합니다. VAST MediaTailor 기본 크리에이티브를 통합하여 재생 환경을 유지하고 인터랙티브 구성 요소에 대한 메타데이터를 클라이언트 측 추적 응답에 배치합니다.

다음 예제 VAST 4 응답에서는 SIMID 페이로드가 노드 내부에 있습니다. InteractiveCreativeFile

<?xml version="1.0"?> <VAST xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0"> <Ad id="1234567"> <InLine> <AdSystem>SampleAdSystem</AdSystem> <AdTitle>Linear SIMID Example</AdTitle> <Description>SIMID example</Description> <Error>https://www.beacons.com/error</Error> <Impression>https://www.beacons.com/impression</Impression> <Creatives> <Creative sequence="1"> <Linear> <Duration>00:00:15</Duration> <TrackingEvents> ... </TrackingEvents> <VideoClicks> <ClickThrough id="123">https://aws.amazon.com</ClickThrough> <ClickTracking id="123">https://www.beacons.com/click</ClickTracking> </VideoClicks> <MediaFiles> <MediaFile delivery="progressive" type="video/mp4"> https://interactive-ads.com/interactive-media-ad-sample/media/file.mp4 </MediaFile> <InteractiveCreativeFile type="text/html" apiFramework="SIMID" variableDuration="true"> https://interactive-ads.com/interactive-media-ad-sample/sample_simid.html </InteractiveCreativeFile> </MediaFiles> </Linear> </Creative> </Creatives> </InLine> </Ad> </VAST>

다음 VAST 3개의 응답에서는 SIMID 페이로드가 노드 내부에 있습니다. Extensions

<?xml version="1.0"?> <VAST xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0"> <Ad id="1234567"> <InLine> <AdSystem>SampleAdSystem</AdSystem> <AdTitle>Linear SIMID Example</AdTitle> <Description>SIMID example</Description> <Impression>https://www.beacons.com/impression</Impression> <Creatives> <Creative id="1" sequence="1"> <Linear> <Duration>00:00:15</Duration> <TrackingEvents> ... </TrackingEvents> <VideoClicks> <ClickThrough id="123">https://aws.amazon.com</ClickThrough> <ClickTracking id="123">https://myads.com/beaconing/event=clicktracking</ClickTracking> </VideoClicks> <MediaFiles> <MediaFile delivery="progressive" type="video/mp4"> https://interactive-ads.com/interactive-media-ad-sample/media/file.mp4 </MediaFile> </MediaFiles> </Linear> </Creative> </Creatives> <Extensions> <Extension type="InteractiveCreativeFile"> <InteractiveCreativeFile type="text/html" apiFramework="SIMID" variableDuration="true"> https://interactive-ads.com/interactive-media-ad-sample/sample_simid.html </InteractiveCreativeFile> </Extension> </Extensions> </InLine> </Ad> </VAST>

다음 클라이언트측 추적 응답에서는 SIMID 데이터가 목록에 표시됩니다. /avails/x/ads/y/extensions

{ "avails": [ { "adBreakTrackingEvents": [], "adMarkerDuration": null, "ads": [ { "adId": "1", "adParameters": "", "adProgramDateTime": "2023-07-31T16:53:40.577Z", "adSystem": "2.0", "adTitle": "Linear SIMID Example", "adVerifications": [], "companionAds": [], "creativeId": "1", "creativeSequence": "1", "duration": "PT14.982S", "durationInSeconds": 14.982, "extensions": [ { "content": "<InteractiveCreativeFile type=\"text/html\" apiFramework=\"SIMID\" variableDuration=\"true\">\nhttps://interactive-ads.com/interactive-media-ad-sample/sample_simid.html</InteractiveCreativeFile>", "type": "InteractiveCreativeFile" } ], "mediaFiles": { "mediaFilesList": [], "mezzanine": "" }, "skipOffset": null, "startTime": "PT39.339S", "startTimeInSeconds": 39.339, "trackingEvents": [ { "beaconUrls": [ "https://myads.com/beaconing/event=impression" ], "duration": "PT14.982S", "durationInSeconds": 14.982, "eventId": "2698188", "eventProgramDateTime": null, "eventType": "impression", "startTime": "PT39.339S", "startTimeInSeconds": 39.339 }, { "beaconUrls": [ "https://aws.amazon.com" ], "duration": "PT14.982S", "durationInSeconds": 14.982, "eventId": "2698188", "eventProgramDateTime": null, "eventType": "clickThrough", "startTime": "PT39.339S", "startTimeInSeconds": 39.339 }, { "beaconUrls": [ "https://myads.com/beaconing/event=clicktracking" ], "duration": "PT14.982S", "durationInSeconds": 14.982, "eventId": "2698795", "eventProgramDateTime": null, "eventType": "clickTracking", "startTime": "PT39.339S", "startTimeInSeconds": 39.339 } ], "vastAdId": "" } ], "availId": "2698188", "availProgramDateTime": "2023-07-31T16:53:40.577Z", "duration": "PT14.982S", "durationInSeconds": 14.982, "meta": null, "nonLinearAdsList": [], "startTime": "PT39.339S", "startTimeInSeconds": 39.339 } ], "dashAvailabilityStartTime": null, "hlsAnchorMediaSequenceNumber": null, "nextToken": "UFQzOS4zMzlTXzIwMjMtMDctMzFUMTY6NTQ6MDQuODA1Mzk2NTI5Wl8x", "nonLinearAvails": [] }

인터랙티브 광고 () VPAID

동영상 플레이어 광고 인터페이스 정의 (VPAID) 는 광고 상호작용 및 기타 기능을 활성화하는 광고와 동영상 플레이어 간의 프로토콜을 지정합니다. 실시간 스트림의 경우 광고 기간 동안 슬레이트 세그먼트를 연결하고 동영상 플레이어가 소비하는 클라이언트 측 추적 응답에 VPAID 크리에이티브를 위한 메타데이터를 삽입하여 VPAID 형식을 MediaTailor 지원합니다. 플레이어가 VPAID 파일을 다운로드하고 선형 크리에이티브를 재생한 다음 클라이언트의 스크립트를 실행합니다. 플레이어는 절대 슬레이트 세그먼트를 재생해서는 안 됩니다.

참고

VPAID4.1부터 더 이상 사용되지 않습니다. VAST

VPAID광고 재생 다이어그램. MediaTailor 콘텐츠 타임라인의 사용 기간 동안 슬레이트 세그먼트를 스티치합니다. 플레이어는 사용 기간 동안 VPAID 에셋으로 전환합니다.

다음 예제는 VAST 응답의 VPAID 콘텐츠를 보여줍니다.

<?xml version="1.0"?> <VAST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="vast.xsd" version="3.0"> <Ad id="1234567"> <InLine> <AdSystem>GDFP</AdSystem> <AdTitle>VPAID</AdTitle> <Description>Vpaid Linear Video Ad</Description> <Error>http://www.example.com/error</Error> <Impression>http://www.example.com/impression</Impression> <Creatives> <Creative sequence="1"> <Linear> <Duration>00:00:00</Duration> <TrackingEvents> <Tracking event="start">http://www.example.com/start</Tracking> <Tracking event="firstQuartile">http://www.example.com/firstQuartile</Tracking> <Tracking event="midpoint">http://www.example.com/midpoint</Tracking> <Tracking event="thirdQuartile">http://www.example.com/thirdQuartile</Tracking> <Tracking event="complete">http://www.example.com/complete</Tracking> <Tracking event="mute">http://www.example.com/mute</Tracking> <Tracking event="unmute">http://www.example.com/unmute</Tracking> <Tracking event="rewind">http://www.example.com/rewind</Tracking> <Tracking event="pause">http://www.example.com/pause</Tracking> <Tracking event="resume">http://www.example.com/resume</Tracking> <Tracking event="fullscreen">http://www.example.com/fullscreen</Tracking> <Tracking event="creativeView">http://www.example.com/creativeView</Tracking> <Tracking event="acceptInvitation">http://www.example.com/acceptInvitation</Tracking> </TrackingEvents> <AdParameters><![CDATA[ {"videos":[ {"url":"https://my-ads.com/interactive-media-ads/media/media_linear_VPAID.mp4","mimetype":"video/mp4"}]} ]]></AdParameters> <VideoClicks> <ClickThrough id="123">http://google.com</ClickThrough> <ClickTracking id="123">http://www.example.com/click</ClickTracking> </VideoClicks> <MediaFiles> <MediaFile delivery="progressive" apiFramework="VPAID" type="application/javascript" width="640" height="480"> https://googleads.github.io/googleads-ima-html5/vpaid/linear/VpaidVideoAd.js </MediaFile> </MediaFiles> </Linear> </Creative> </Creatives> </InLine> </Ad> </VAST>

다음 예는 추적 정보를 보여줍니다.

{ "avails": [ { "adBreakTrackingEvents": [], "adMarkerDuration": null, "ads": [ { "adId": "1", "adParameters": "", "adProgramDateTime": "2023-07-31T16:53:40.577Z", "adSystem": "2.0", "adTitle": "1", "adVerifications": [], "companionAds": [], "creativeId": "00006", "creativeSequence": "1", "duration": "PT14.982S", "durationInSeconds": 14.982, "extensions": [], "mediaFiles": { "mediaFilesList": [], "mezzanine": "" }, "skipOffset": null, "startTime": "PT39.339S", "startTimeInSeconds": 39.339, "trackingEvents": [ { "beaconUrls": [ "https://myads.com/beaconing/event=impression" ], "duration": "PT14.982S", "durationInSeconds": 14.982, "eventId": "2698188", "eventProgramDateTime": null, "eventType": "impression", "startTime": "PT39.339S", "startTimeInSeconds": 39.339 }, { "beaconUrls": [ "https://aws.amazon.com" ], "duration": "PT14.982S", "durationInSeconds": 14.982, "eventId": "2698188", "eventProgramDateTime": null, "eventType": "clickThrough", "startTime": "PT39.339S", "startTimeInSeconds": 39.339 }, { "beaconUrls": [ "https://myads.com/beaconing/event=clicktracking" ], "duration": "PT14.982S", "durationInSeconds": 14.982, "eventId": "2698795", "eventProgramDateTime": null, "eventType": "clickTracking", "startTime": "PT39.339S", "startTimeInSeconds": 39.339 } ], "vastAdId": "" } ], "availId": "2698188", "availProgramDateTime": "2023-07-31T16:53:40.577Z", "duration": "PT14.982S", "durationInSeconds": 14.982, "meta": null, "nonLinearAdsList": [], "startTime": "PT39.339S", "startTimeInSeconds": 39.339 } ], "dashAvailabilityStartTime": null, "hlsAnchorMediaSequenceNumber": null, "nextToken": "UFQzOS4zMzlTXzIwMjMtMDctMzFUMTY6NTQ6MDQuODA1Mzk2NTI5Wl8x", "nonLinearAvails": [] }{ "avails": [ { "adBreakTrackingEvents": [], "adMarkerDuration": null, "ads": [ { "adId": "2922274", "adParameters": "", "adProgramDateTime": "2023-08-14T19:49:53.998Z", "adSystem": "Innovid Ads", "adTitle": "VPAID", "adVerifications": [], "companionAds": [], "creativeId": "", "creativeSequence": "", "duration": "PT16.016S", "durationInSeconds": 16.016, "extensions": [], "mediaFiles": { "mediaFilesList": [ { "apiFramework": "VPAID", "bitrate": 0, "codec": null, "delivery": "progressive", "height": 9, "id": "", "maintainAspectRatio": false, "maxBitrate": 0, "mediaFileUri": "http://my-ads.com/mobileapps/js/vpaid/1h41kg?cb=178344c0-8e67-281a-58ca-962e4987cd60&deviceid=&ivc=", "mediaType": "application/javascript", "minBitrate": 0, "scalable": false, "width": 16 } ], "mezzanine": "http://my-ads.com/mobileapps/js/vpaid/1h41kg?cb=178344c0-8e67-281a-58ca-962e4987cd60&deviceid=&ivc=" }, "skipOffset": null, "startTime": "PT8M42.289S", "startTimeInSeconds": 522.289, "trackingEvents": [ { "beaconUrls": [ "about:blank" ], "duration": "PT16.016S", "durationInSeconds": 16.016, "eventId": "2922274", "eventProgramDateTime": null, "eventType": "impression", "startTime": "PT8M42.289S", "startTimeInSeconds": 522.289 } ], "vastAdId": "1h41kg" } ], "availId": "2922274", "availProgramDateTime": "2023-08-14T19:49:53.998Z", "duration": "PT16.016S", "durationInSeconds": 16.016, "meta": null, "nonLinearAdsList": [], "startTime": "PT8M42.289S", "startTimeInSeconds": 522.289 } ], "dashAvailabilityStartTime": null, "hlsAnchorMediaSequenceNumber": null, "nextToken": "UFQ4TTQyLjI4OVNfMjAyMy0wOC0xNFQxOTo1MDo0MS4zOTc5MjAzODVaXzE%3D", "nonLinearAvails": [] }

Google Why This Ad (WTA) 용 아이콘

AdChoices시청자에게 광고가 타겟팅된 방식을 비롯하여 시청자에게 게재되는 광고에 대한 정보를 제공하는 업계 표준입니다.

Google Why This Ad (WTA) 로고 WTA시청자에게 광고가 타겟팅된 방식을 포함하여 시청자에게 표시되는 광고에 대해 알려줍니다.

MediaTailor 클라이언트측 추적은 응답의 VAST 확장 노드에 전달되는 아이콘 메타데이터를 API 지원합니다. VAST WTAVAST응답에 대한 자세한 내용은 이 샘플 VAST XML 응답을 참조하십시오.

참고

MediaTailor 현재는 VAST 버전 3만 지원합니다.

<VAST> <Ad> <InLine> ... <Extensions> <Extension type="IconClickFallbackImages"> <IconClickFallbackImages program="GoogleWhyThisAd"> <IconClickFallbackImage width="400" height="150"> <AltText>Alt icon fallback</AltText> <StaticResource creativeType="image/png"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png]]></StaticResource> </IconClickFallbackImage> </IconClickFallbackImages> <IconClickFallbackImages program="AdChoices"> <IconClickFallbackImage width="400" height="150"> <AltText>Alt icon fallback</AltText> <StaticResource creativeType="image/png"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=1x]]></StaticResource> </IconClickFallbackImage> <IconClickFallbackImage width="800" height="300"> <AltText>Alt icon fallback</AltText> <StaticResource creativeType="image/png"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=2x]]></StaticResource> </IconClickFallbackImage> </IconClickFallbackImages> </Extension> </Extensions> </InLine> </Ad> </VAST>

다음 예제는 목록에 있는 클라이언트 측 추적 응답을 보여줍니다. /avails/x/ads/y/extensions

{ "avails": [ { "adBreakTrackingEvents": [], "adMarkerDuration": null, "ads": [ { "adId": "0", "adParameters": "", "adProgramDateTime": null, "adSystem": "GDFP", "adTitle": "Google Why This Ad VAST 3 Sample", "adVerifications": [], "companionAds": [], "creativeId": "7891011", "creativeSequence": "1", "duration": "PT10S", "durationInSeconds": 10, "extensions": [ { "content": "<IconClickFallbackImages program=\"GoogleWhyThisAd\"> <IconClickFallbackImage height=\"150\" width=\"400\"> <AltText>Alt icon fallback</AltText> <StaticResource creativeType=\"image/png\"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png]]> </StaticResource> </IconClickFallbackImage> </IconClickFallbackImages> <IconClickFallbackImages program=\"AdChoices\"> <IconClickFallbackImage height=\"150\" width=\"400\"> <AltText>Alt icon fallback</AltText> <StaticResource creativeType=\"image/png\"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=1x]]> </StaticResource> </IconClickFallbackImage> <IconClickFallbackImage height=\"300\" width=\"800\"> <AltText>Alt icon fallback</AltText> <StaticResource creativeType=\"image/png\"><![CDATA[https://storage.googleapis.com/interactive-media-ads/images/wta_dialog.png?size=2x]]> </StaticResource> </IconClickFallbackImage> </IconClickFallbackImages>", "type": "IconClickFallbackImages" } ], "mediaFiles": { "mediaFilesList": [], "mezzanine": "" }, "skipOffset": "00:00:03", "startTime": "PT0S", "startTimeInSeconds": 0, "trackingEvents": [ { "beaconUrls": [ "https://example.com/view" ], "duration": "PT10S", "durationInSeconds": 10, "eventId": "0", "eventProgramDateTime": null, "eventType": "impression", "startTime": "PT0S", "startTimeInSeconds": 0 } ], "vastAdId": "123456" } ], "availId": "0", "availProgramDateTime": null, "duration": "PT10S", "durationInSeconds": 10, "meta": null, "nonLinearAdsList": [], "startTime": "PT0S", "startTimeInSeconds": 0 } ], "dashAvailabilityStartTime": null, "hlsAnchorMediaSequenceNumber": null, "nextToken": "UFQxMFNfMjAyMy0wNy0wNlQyMDo0MToxNy45NDE4MDM0NDhaXzE%3D", "nonLinearAvails": [] }