기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
클라이언트 측 광고 추적을 위한 플레이어 제어 및 기능
MediaTailor 클라이언트 측 추적 메타데이터는 다양한 플레이어 제어 및 기능을 지원합니다. 다음 목록은 인기 있는 플레이어 컨트롤을 설명합니다.
스크러빙
재생 환경을 개선하기 위해 플레이어는 재생 타임라인에 광고 위치를 표시할 수 있습니다. MediaTailor 는 클라이언트 측 추적 응답의 adStartTimeInSeconds
값 형식으로 이러한 광고 위치를 사용할 수 있도록 합니다.
참고
일부 스트리밍 공급자는 광고 위치를 지나는 스크러빙을 방지합니다.
다음 클라이언트 측 추적 페이로드 JSON 응답은 가용 배열의 루트 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 수 있습니다. 대상은 타이머를 사용하여 광고 중단이 종료되고 프로그램이 재개되는 시기를 이해할 수 있습니다.
광고 카운트다운 타이머에서 역할을 수행하는 클라이언트 측 추적 메타데이터의 요소는 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
)
예 공식: DASH (실시간)에 대한 카운트다운 타이머
-
session_start_time
= (최신 세그먼트의startTime
+duration
) /timescale
-MPD@suggestedPresentationDelay
-
타이머 값 =
duration
- (session_elapsed_time
-startTime
)
건너뛸 수 있는 광고
건너뛸 수 있는 광고는 시청자가 일부 광고를 건너뛸 수 있는 광고 스팟으로, 프로그램 보기를 재개할 수 있습니다. 에서 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
배열 내의 광고 메타데이터를 보여줍니다. 배열에는 VAST 응답에서 얻은 skipOffset
값이 MediaTailor 포함됩니다.
{ "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 는 VAST 응답에 URLs 반환된 선형 비디오 클릭스루 이벤트를 구문 분석하고 사용할 수 있도록 할 수 있습니다. 다음 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 응답은 가 trackingEvents
배열 URLs 내에서 클릭 및 클릭 추적을 MediaTailor 표시하는 방법을 보여줍니다. 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) 코드와 클릭 가능한 영역이 있어 청중 참여를 촉진할 수 있습니다.
MediaTailor 는 VAST 응답의 동반 광고를 지원합니다. 각각 StaticResource
, iFrameResource
및 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)는 대화형 광고국()의 VAST 4.x 표준에 도입된 대화형 광고의 표준입니다IAB. SIMID 는 재생 환경을 유지하기 위해 기본 크리에이티브의 VAST response. MediaTailor stitches를 참조하여 플레이어의 기본 선형 크리에이티브에서 대화형 요소의 로드를 분리하고 클라이언트 측 추적 응답에 대화형 구성 요소의 메타데이터를 배치합니다.
다음 예제 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\">\n
https://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)
Video Player Ad Interface Definition(VPAID)은 광고 상호 작용 및 기타 기능을 활성화하는 광고와 비디오 플레이어 간의 프로토콜을 지정합니다. 라이브 스트림의 경우 는 가용 기간 동안 슬레이트 세그먼트를 에 연결하고 비디오 플레이어가 사용하는 클라이언트 측 추적 응답에 VPAID 크리에이티브 메타데이터를 배치하여 VPAID 형식을 MediaTailor 지원합니다. 플레이어는 VPAID 파일을 다운로드하고 선형 크리에이티브를 재생하고 클라이언트의 스크립트를 실행합니다. 플레이어는 슬레이트 세그먼트를 재생해서는 안 됩니다.
참고
VPAID 는 VAST 4.1 기준으로 더 이상 사용되지 않습니다.
다음 예제는 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 는 시청자에게 해당 광고를 대상으로 하는 방법을 포함하여 보는 광고에 대한 정보를 제공하는 업계 표준입니다.
MediaTailor 클라이언트 측 추적은 VAST 응답의 VAST 확장 노드에 있는 아이콘 메타데이터를 API 지원합니다. VAST 응답WTA의 에 대한 자세한 내용은 이 샘플 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": [] }