# 동영상 광고

> Unity Exchange를 통해 동영상 광고를 게재하여 품질 성능을 보장합니다.

Video Ad Serving Template([VAST](https://www.iab.com/wp-content/uploads/2016/04/VAST4.0_Updated_April_2016.pdf))은 디지털 비디오 플레이어에게 광고를 게재하기 위한 범용 XML 스키마입니다. Unity는 VAST 4.0(Internet Advertising Bureau([IAB](https://www.iab.com/))에서 개발 및 유지 관리하는 표준)을 지원하며 일부 기능을 제외하고 이전 버전과 호환됩니다.

Unity SDK는 VAST XML을 파싱하여 동영상 미디어 파일 및 트래킹 URL을 검색합니다.

다음 요구 사항을 준수해야 합니다.

* VAST `<InLine>`에는 동영상 광고를 렌더링하는 데 필요한 모든 요소가 포함되어야 합니다. 자세한 내용은 [VAST 가이드라인](https://www.iab.com/wp-content/uploads/2016/04/VAST4.0_Updated_April_2016.pdf)의 **섹션 3.4**를 참조하십시오.
* 지원되는 `<MediaFile>` 유형은 `video/mp4`입니다. 여기에는 `bitrate`, `delivery`, `width`, `height` 속성이 포함되어야 합니다. 자세한 내용은 [VAST 가이드라인](https://www.iab.com/wp-content/uploads/2016/04/VAST4.0_Updated_April_2016.pdf)의 **섹션 3.9**을 참조하십시오.
* 동영상 기간 5\~30초여야 합니다.
* VAST 태그를 최대 5번 래핑 수 있습니다.
* 초기 동영상 광고가 끝나거나 건너뛰면 컴패니언이 전체 화면에 표시되어야 합니다.
* 모든 HTML 마크업은 `https://`와 도메인을 포함하는 절대 URL 경로로 외부 호스팅 에셋을 레퍼런스해야 합니다. `file://` 또는 상대 URL 경로에서 에셋을 가리키는 것은 작동하지 않습니다.

다양한 환경에 다양한 동영상 크기를 포함합니다.

* 최대 동영상 파일 크기는 20MB입니다.
* WIFI 연결 시 비디오 플레이어 5MB와 10MB 사이의 파일을 선택합니다.
* 셀룰러 연결 시 비디오 플레이어 0.5MB와 3MB 사이의 파일을 선택합니다.
* 가능하면 세로 및 랜드스케이프 모드에 비디오 크기를 포함합니다.

## 스키핑 가능한 비디오 광고##skippable-video-ads

퍼블리셔는 사용자 앱에서 동영상 광고를 건너뛰을 수 있는지 여부를 제어합니다. 대부분의 건너뛰기 가능한 광고는 사용자 엔드카드 건너뛰기 전에 퍼블리셔 결정한 일정 시간 동안 시청해야 합니다. 대부분의 건너뛰기 가능한 인벤토리를 사용자 엔드카드 건너뛰도록 허용하므로 Unity 동영상 요구 사항에 포함하는 것을 적극 권장합니다. 파트너 담당자에게 도달률 건너뛰기 가능 및 건너뛰기 불가 인벤토리에 대해 자세히 알아보기.

## 비디오 컨트롤##video-controls

Unity 비디오 컨트롤 오버레이는 비디오가 재생되는 동안 뷰에 페이드인됩니다. 사용자는 화면을 탭하여 숨기거나 다시 표시할 수 있습니다. 오버레이에는 화면 하단에 진행 표시줄, 개인정보 보호 아이콘, 행동 호출(CTA)이 있습니다. 오른쪽 상단에 닫기 버튼이나 왼쪽 상단에 건너뛰기 아이콘이 있을 수 있습니다.

### 동영상 클릭 지원##video-click-support

VAST 태그는 `<ClickThrough>` 노드에서 하나의 동영상 클릭을 포함해야 하며 각각의 `<ClickTracking>` 노드에 여러 개의 클릭 트래킹 URL을 포함할 수 있습니다. 자세한 내용은 [VAST 가이드라인](https://www.iab.com/wp-content/uploads/2016/04/VAST4.0_Updated_April_2016.pdf)의 **섹션 3.10**을 참조하십시오.

다음 요구 사항을 준수해야 합니다.

* 클릭 URL은 각 플랫폼에서 `https://`, `market://`,` itunes://` 또는 `itms://` 접두사를 사용해야 합니다.
* Unity 긴 첨부된 URL 대신 서버 측 리디렉션을 적극 권장합니다.
* Unity는 `tel://` 접두사를 사용하는 클릭 투 호출 광고를 지원하지 않습니다.
* 클릭 래퍼에는 추가적인 클릭 트래킹 포함될 수 있습니다.

### 동영상 CTA##video-ctas

동영상 재생 중에 화면 오른쪽 하단에 행동 호출(CTA) 버튼이 나타납니다. 사용자는 클릭 이벤트를 트리거하고 `<ClickThrough>` URL을 열려면 버튼을 누르십시오. 기본적으로 CTA 버튼은 " 자세히 알아보기"입니다. 소재 단가 리스폰스에 번들 ID가 있는 경우 CTA 버튼에 "Install Now"가 표시됩니다.

![동영상 광고의 호출 투 행동 버튼 Install Now.](/api/media?file=/grow/media/images/install-now-cta.png)

![동영상 광고의 호출-행동 버튼 자세히 알아보기.](/api/media?file=/grow/media/images/learn-more-cta.png)

#### CTA 아이콘##cta-icons

VAST 3.0 이상은 아이콘 사용을 지원합니다. Unity 비디오 플레이어 비디오 재생 중에 번들 ID가 포함된 단가 리스폰스에 대해 "Install Now" 버튼과 함께 정사각형 아이콘을 표시합니다. VAST 태그에 커스텀 아이콘을 중첩 수 있습니다. 자세한 내용은 [VAST 가이드라인](https://www.iab.com/wp-content/uploads/2016/04/VAST4.0_Updated_April_2016.pdf)의 **섹션 3.11**을 참조하십시오.

아이콘은 광고 대상 앱을 나타내야 합니다. Unity 동영상 위에 다른 아이콘을 표시하는 기능을 지원하지 않습니다. 다음 아이콘 요구 사항을 준수해야 합니다.

* 아이콘은 `.png`, `.jpg` 또는 `.jpeg` 확장자가 있는 `<StaticResource>` 이미지여야 합니다.
* 아이콘은 25x25픽셀로 정사각형으로 표시됩니다.
* Unity는 아이콘 기간 및 `<IconClickThrough>` 기능을 지원하지 않습니다.

```xml title="Example CTA icon code"
<Icons>
	<Icon width="25" height="25">
	<StaticResource creativeType="image/png">
		<![CDATA[ https://Unity.com/DSP/square_icon_name ]]>
	</StaticResource>
	</Icon>
</Icons>
```

모든 컴패니언은 다음 크기 제한 내에 `height` 및 `width` 속성을 포함해야 합니다.

* 최소 제곱 너비/높이는 200픽셀입니다.
* 최소 랜드스케이프 너비/높이는 480 x 320 픽셀입니다.
* 최소 세로 너비/높이는 320 x 480 픽셀입니다.

## 컴패니언 광고##companion-ads

VAST 컴패니언은 동영상 재생이 끝나면 전체 화면 엔드카드 표시됩니다. 추천 베스트 프랙티스는 컴패니언을 사용하여 클릭 수를 극대화하는 것입니다. 대부분의 퍼블리셔는 엔드카드 건너뛰기를 허용하므로 건너뛰기 가능한 인벤토리에서도 사용자가 광고 경험을 종료하기 전에 엔드카드가 표시됩니다.

### 컴패니언 클릭 지원##companion-click-support

엔드카드가 표시되는 동안 사용자는 화면의 아무 곳이나 탭하여 `<CompanionClickTracking>` 및 `<CompanionClickThrough>` 이벤트를 트리거할 수 있습니다. 엔드카드 위에 Unity CTA가 배치되지 않습니다.

자세한 내용은 [VAST 가이드라인](https://www.iab.com/wp-content/uploads/2016/04/VAST4.0_Updated_April_2016.pdf)의 **섹션 3.13**을 참조하십시오.

### 엔드카드 자원 유형##end-card-resource-types

| **유형**             | **설명**                                                                           | **참고**                                                                                                                                                                                                                                  |
| ------------------ | -------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `<HTMLResource>`   | HTML 마크업                                                                         | * 마크업에는 커스텀 닫기 버튼이 포함되어서는 안 됩니다.
* [MRAID](/grow/programmatic/unity-exchange/playable-ads.md)를 지원합니다.
* 소재 마크업은 `<CompanionClickThrough>` 요소 대신 HTML 또는 JavaScript의 클릭 함수를 포함해야 합니다.
* Android 기기는 다른 리소스 타입보다 HTML 엔드카드의 우선 순위를 지정합니다. |
| `<StaticResource>` | `image/jpeg`, `image/jpg`, `image/gif` 또는 `image/png`와 같은 `<img>` 태그에 표시할 에셋입니다. | - `<CompanionClickThrough>` 요소에 클릭 URL을 제공합니다.                                                                                                                                                                                          |

## 지원되는 VAST 4.x 매크로##supported-vast-4.x-macros

다음 목록에는 Unity 지원하는 VAST 4.x 매크로가 트래킹 URL에 제공된 경우에 자세히 나와 있습니다.

* `[ERRORCODE]`
  * [오류 코드](#error)를 참조하십시오.
* `[OMIDPARTNER]`
  * OM SDK 연동의 식별자.
  * 이는 `OMIDPartner` 오브젝트의 `name` 및 `versionString` 파라미터와 동일합니다.
* `[REASON]`
  * 확인을 실행하지 않는 이유 코드입니다.
* `[TIMESTAMP]`
  * (타임 스탬프)
* `[IFA]`
  * Apple의 광고주 ID 또는 Android의 광고 ID와 같은 기기별 광고 ID 체계의 재설정 가능한 광고 ID로, UUID 형식 또는 OTT 플랫폼 광고 식별자 [가이드라인](https://iabtechlab.com/standards/guidelines-identifier-advertising-over-the-top-platforms/)에 대한 IAB 문서에 기반합니다.
* `[IFATYPE]`
  * `[IFA]` 매크로에 포함된 IFA 타입을 나타내는 문자열 값입니다.
* `[APIFRAMEWORKS]`
  * 플레이어 지원하는 프레임워크 목록입니다.
  * 값은 AdCOM 1.0 API Frameworks 목록에 정의되어 있습니다.
* `[APPBUNDLE(required)]`
  * 앱 광고의 경우 플랫폼별 애플리케이션 식별자, 번들 또는 패키지 이름입니다. 이 식별자 Apple 앱 스토어 ID와 같이 앱 스토어 ID가 될 수 없습니다.
    * 필요한 경우와 적용 가능하지만 알려지지 않거나 사용할 수 없는 경우 에 설명된 대로 -1 또는 -2로 설정합니다.
    * 필요하고 적용되지 않는 경우(예: 앱) 0으로 설정합니다.

## 문제 해결##troubleshooting

### 낮은 노출##low-impressions

높은 수익률을 경험했지만 특정 비디오 캠페인이나 소재에 대한 노출이 거의 없는 경우 다음 사항을 고려하십시오.

| **원인**                                           | **제안된 행동**                                                                                         |
| ------------------------------------------------ | -------------------------------------------------------------------------------------------------- |
| 래핑된 VAST 태그는 XML을 반환하지 않는 `VASTAdTagURI`를 가리킵니다. | 확인합니다. 미디어 파일이 수신된 후 최대 2시간 후에 표시될 수 있습니다.                                                         |
| 비디오 파일 크기가 너무 크다                                 | 20MB 미만의 미디어 파일을 하나 이상 제공합니다.                                                                      |
| 플랫폼 또는 모바일 브라우저에서 미디어 파일을 재생할 수 없습니다.            | 확인합니다. URL 끝에 파일 확장자를 포함합니다(예: `.mp4`). 파일 확장자는 URL에 필요하지 않지만 일부 모바일 브라우저에서 MIME 유형 오류를 줄일 수 있습니다. |

### 클릭 기반 URL##click-through-urls

동영상 클릭스루 URL에 쿼리 문자열에 전방 슬래시(`/`) 또는 더하기 기호(`+`)가 있는 경우, 해당 기호는 UTF-8에 해당하는 URL로 인코딩됩니다. 이는 일부 클릭 리디렉션을 방해하고 노출 수가 낮을 수 있습니다.

> **Note:**
>
> 쿼리 문자열은 첫 번째 물음표(`?`) 뒤의 URL 부분입니다.

| **캐릭터** | **UTF-8 코드** |
| ------- | ------------ |
| `/`     | `%2F`        |
| `+`     | `%2B`        |

예제는 아래와 같습니다.

`https://domain.com/anything_here_is_fine?this_is_a/query+string`

은 다음으로 인코딩됩니다.

`https://domain.com/anything_here_is_fine?this_is_a%2Fquery%2Bstring`

클릭스루 URL에 특수 문자가 있는 경우 Unity 인코딩할 때 계속 작동(결정 또는 리디렉트 합니다.

### 오류 코드##error

Unity는 VAST 태그의 `<Error>` 트래킹 URL로 VAST 오류를 전송하고 `[ERRORCODE]` 매크로를 다음 오류 코드 중 하나로 대체합니다. 이러한 오류는 광고가 표시될 예정이거나 이미 표시될 때 발생합니다.

| **코드** | **설명**                              |
| ------ | ----------------------------------- |
| `100`  | XML 파싱 오류입니다.                       |
| `101`  | VAST 스키마 확인 오류입니다.                  |
| `102`  | VAST 버전이 지원되지 않습니다.                 |
| `200`  | VAST 형식이 지원되지 않습니다.                 |
| `202`  | 동영상 기간이 너무 길거나 `HH:MM:SS`로 포맷되지 않음. |
| `300`  | 래퍼 오류.                              |
| `301`  | `VastAdTagURI` 시간 초과.               |
| `302`  | 최대 래퍼 한도(5개)를 초과했습니다.               |
| `303`  | 언래핑 후에 찾은 `<Ad>`가 없습니다.             |
| `401`  | 지원 미디어 파일을 찾을 수 없습니다.               |
| `402`  | 미디어 파일 URI 시간 초과.                   |
| `403`  | 지원되지 않는 미디어 파일.                     |
| `404`  | 미디어 파일 URI는 iOS에서 지원되지 않습니다.        |
| `499`  | 클릭스루 URL이 없습니다.                     |
| `600`  | 일반적인 컴패니언 광고 오류입니다.                 |
| `601`  | 지원되지 않는 컴패니언 광고 크기입니다.              |
| `602`  | 컴패니언 광고를 표시할 수 없습니다.                |
| `603`  | 컴패니언 광고 리소스를 가져올 수 없습니다.            |
| `604`  | 유효한 컴패니언 광고 리소스 URL을 찾을 수 없습니다.     |
| `699`  | 컴패니언 광고에는 유효한 클릭 URL이 없습니다.         |
| `900`  | 오류를 정의하지 않습니다.                      |
| `998`  | VAST XML 콘텐츠에는 잘못된 URL이 포함되어 있습니다.  |
| `999`  | 알 수 없는 오류입니다.                       |
