# 단가 응답

> 수요 파트너가 경매 및 광고 게재 요구 사항을 충족하는 유효한 응답을 구조, 구조체 지원합니다.

Unity 단가 리스폰스 데이터에 JSON 포맷을 지원합니다. 표준 JSON 표현의 MIME 유형은 `application/json`이며, `HTTP` 헤더 필드에 다음과 같이 지정됩니다.

```text
contentType: application/json
```

애플리케이션이 단가 요청을 전용 엔드포인트로 수신한 후에는 단가 응답을 반환하거나 최대 200밀리초 이내에 단가가 [없는 단가](#nbrs)를 표시해야 합니다. Unity는 요청에서 수락 인코딩 [GZIP 압축](https://www.gzip.org/)을 전송하며 권장되는 베스트 프랙티스는 응답 압축입니다. 자세한 내용은 [OpenRTB 사양](https://www.iab.com/wp-content/uploads/2016/03/OpenRTB-API-Specification-Version-2-5-FINAL.pdf)의 **섹션 2.4**를 참조하십시오.

> **Note:**
>
> 권장되는 베스트 프랙티스는 로드 밸런서를 비롯한 DSP 서버가 HTTP 영구 연결(Keep-Alive라고도 함)을 활성화하고 최소 90초 동안 자동 `IdleConnTimeout`를 방지하는 것입니다. 이는 인터페이스 양쪽에서 연결 관리 오버헤드와 CPU 사용량을 줄여 전체 성능에 큰 영향을 미칩니다.

응답 객체와 해당 속성은 [다음 섹션](#response)에 자세히 설명되어 있습니다. 설명 필드 필수 속성을 나타냅니다. 권장되는 베스트 프랙티스는 모든 속성을 포함하는 것입니다.

## response 오브젝트##response

입찰자가 [단가 요청](/grow/programmatic/unity-exchange/bid-requests.md)에 대한 응답을 설명하는 오브젝트 클래스입니다.

| **속성**    | **유형**  | **예제**                                       | **설명**                                                                                                                                                                                                                           |
| --------- | ------- | -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`      | 문자열     | `"id":"7jrUifdKuw3HDIR9dbqDVJ"`              | 단가 요청과 함께 전달되고 단가 응답과 함께 반환되는 Unity 생성 ID입니다.이 속성 응답에 필요합니다.                                                                                                                                                                     |
| `cur`     | 문자열     | `"cur": "USD"`                               | ISO 통화 코드를 사용하는 재화 유형입니다. Unity는 미국 달러(`USD`)와 `CNY`와 같은 다른 통화를 지원합니다. 이 필드가 `adsource` 설정에 정의된 재화 필드와 일치하고 `exchange_rate`가 비어 있지 않으면 Unity가 단가 응답을 무시합니다.이 속성 응답에 필요합니다.                                                       |
| `bidid`   | 문자열     | `"bidid": "CHYr9b0ODI8OGLpedtfCpuCH"`        | 로깅 및 트래킹을 지원하기 위해 입찰자가 생성한 응답 ID입니다.                                                                                                                                                                                             |
| `nbr`     | int     | `"nbr": 6`                                   | 사유 지원되는 값의 전체 목록은 [OpenRTB API 가이드](https://www.iab.com/wp-content/uploads/2016/03/OpenRTB-API-Specification-Version-2-5-FINAL.pdf)의 **표 5.24**를 참조하십시오. [단가 없는 응답](#nbrs) 섹션도 참조하십시오.                                           |
| `seatbid` | 오브젝트 배열 | 자세한 내용은 [`seatbid` 객체](#seatbid) 섹션을 참조하십시오. | Unity Exchange는 응답에서 여러 개의 `seatbid` 오브젝트를 허용하지만 현재는 하나의 `seatbid` 오브젝트 배열만 사용합니다. 선택한 seatbid 오브젝트에는 `impression.id`와 동일한 `bid.id`가 포함되어 있습니다. 여러 개의 `seatbid` 오브젝트가 이 기준을 충족하면 Unity Exchange에서 무작위로 하나를 선택합니다.이 속성 응답에 필요합니다. |

## seatbid 오브젝트##seatbid

협력사가 여러 계정을 대신하여 단가할 수 있는 [`bid` 오브젝트](#bid) 배열이 포함된 오브젝트 클래스입니다.

| **속성** | **유형**  | **예제**                                 | **설명**                                                                     |
| ------ | ------- | -------------------------------------- | -------------------------------------------------------------------------- |
| `bid`  | 오브젝트 배열 | 자세한 내용은 [`bid` 오브젝트](#bid) 섹션을 참고하십시오. | 하나 이상의 입찰가 여러 입찰을 하는 경우 가장 높은 단가를 포함하여 경매에서 승리할 확률을 극대화합니다.이 속성 응답에 필요합니다. |
| `seat` | 문자열     | `"seat": "1234"`                       | 구매자 시트 또는 귀하가 대신하여 단가 광고주 또는 에이전시의 ID입니다.이 속성 응답에 필요합니다.                   |

## bid objects##bid

구매자의 단가 대한 정보를 포함하는 오브젝트 클래스.

| **속성**    | **유형** | **예제**                                                                                                                                                    | **설명**                                                                                                                                                                                                                             |
| --------- | ------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`      | 문자열    | `"bidid": "1234567890123456789"`                                                                                                                          | 로깅 및 트래킹 지원하기 위해 입찰자가 생성한 단가 ID입니다.이 속성 응답에 필요합니다.                                                                                                                                                                                 |
| `impid`   | 문자열    | `"impid": "1"`                                                                                                                                            | 이 단가 관련된 노출의 ID입니다. 이 값은 단가 요청에 제공된 노출 ID와 일치합니다.이 속성 응답에 필요합니다.                                                                                                                                                                   |
| `price`   | 플로트    | `"price": 0.78`                                                                                                                                           | 1,000회 노출당 비용(CPM) 단가. Unity Exchange는 0 이하의 값이나 암호화된 값을 무시합니다.이 속성 응답에 필요합니다.Unity 소수점 최대 3개를 허용하지만, 2개를 선호합니다.                                                                                                                   |
| `adid`    | 문자열    | `"adid": "12345678"`                                                                                                                                      | 단가가 승리하면 게재될 사전 로드된 광고의 입찰자가 생성한 ID입니다.                                                                                                                                                                                            |
| `nurl`    | 문자열    | `"nurl":"https://bidder.com/win?${AUCTION_PRICE}"`                                                                                                        | 광고가 사용자 렌더링될 때 Unity 핑하는 낙찰 알림 URL입니다. 이 속성 과금 가능한 노출 카운터로도 사용됩니다.Unity는 제공 시점에 nURL를 해제하고 단가 매크로($\{AUCTION\_PRICE})를 단가가 해제한 실제 가격으로 대체합니다.이 속성은 응답에 bURL가 없는 경우 Unity Exchange의 고유한 요구 사항입니다.                                   |
| `burl`    | 문자열    | `"burl": "https://fake-test.com/imp?${AUCTION_PRICE}"`                                                                                                    | 단가가 청구될 때 Unity Exchange에서 호출하는 청구 알림 URL입니다. 이는 거래별 비즈니스 정책을 기반으로 합니다. 대체 매크로를 포함할 수 있습니다.이 속성은 응답에 imptrackers 속성이 없는 경우 Unity Exchange의 고유한 요구 사항입니다.Unity는 제공 시점에 bURL을 핑하고 단가 매크로($\{AUCTION\_PRICE})를 단가가 청구한 실제 가격으로 대체합니다. |
| `iurl`    | 문자열    | `"iurl": "https://secure-datacenter.dsp.com/cr?id=12345678"`                                                                                              | 캠페인의 콘텐츠를 나타내는 이미지(광고 품질 및 안전 점검을 위해)에 캐시 버스트를 적용하지 않는 URL입니다.                                                                                                                                                                     |
| `cid`     | 문자열    | `"cid": "1234"`                                                                                                                                           | 광고 품질 확인을 지원하기 위해 입찰자가 생성한 캠페인 ID입니다. `iURL` 이미지는 이 컬렉션의 콘텐츠를 대표해야 합니다.                                                                                                                                                            |
| `crid`    | 문자열    | `"crid": "12345678"`                                                                                                                                      | 광고 품질 확인을 지원하기 위해 파트너가 제공하는 머티리얼 ID입니다.                                                                                                                                                                                            |
| `dealid`  | 문자열    | `"dealid": "Unity-MM-0034"`                                                                                                                               | 직접 거래에 대한 고유 식별자(해당하는 경우).이 ID는 단가 요청에 전송된 거래 ID와 일치해야 합니다.                                                                                                                                                                        |
| `cat`     | 문자열 배열 | `"cat": ["IAB3-12", "IAB21-2", "IAB10-9" "NEX3-102"]`                                                                                                     | 소재 적용되는 IAB 콘텐츠 카테고리입니다. 지원되는 값의 전체 목록은 [OpenRTB API 가이드](https://www.iab.com/wp-content/uploads/2016/03/OpenRTB-API-Specification-Version-2-5-FINAL.pdf)의 표 5.1를 참조하십시오.이 속성 응답에 필요합니다.                                           |
| `adm`     | 문자열    | 자세한 예제는 [단가 응답 예제](#examples) 섹션을 참조하십시오.                                                                                                                 | 단가 승리하는 경우 광고 마크업을 전달하는 수단입니다.이 속성 응답에 필요합니다.                                                                                                                                                                                      |
| `adomain` | 문자열 배열 | 정답:- `"adomain": ["yourgame.com"]`
- `"adomain": ["studio.yourgame.com"]`오답:- `"adomain": ["yourgame.com/something"]`
- `"adomain": ["www.yourgame.com"]` | 차단 목록 확인을 위한 광고주 도메인. 소재는 회전할 수 없으며 하나의 도메인 허용됩니다. 포맷은 프로토콜이 없는 루트 도메인만이어야 합니다(하위 도메인이 "www"이 아닌 경우 포함할 수 있음 참고).이 속성 응답에 필요합니다.                                                                                                   |
| `bundle`  | 문자열    | Google 예시:- `"bundle": "com.unityexample.game"`Apple 예시:- `"1198634425"`                                                                                  | 플랫폼별 애플리케이션 식별자(Apple 앱 스토어 또는 Google Play 스토어 ID)로, 광고 대상 앱과 고유하며 거래와는 독립성. 이 기능은 광고 품질 사용할 수 있습니다.이 속성 앱 광고의 고유한 Unity Exchange 요구 사항입니다.                                                                                        |
| `attr`    | int 배열 | `"attr": [1, 13]`                                                                                                                                         | 입니다. 지원되는 값의 전체 목록은 [OpenRTB API 가이드](https://www.iab.com/wp-content/uploads/2016/03/OpenRTB-API-Specification-Version-2-5-FINAL.pdf)의 표 5.3를 참조하십시오.                                                                              |
| `w`       | int    | `"h": 568`                                                                                                                                                | 소재 너비(기기 독립성 화소(DIPS 기준)입니다.이 속성 배너 광고에 필요하며 모든 형식에 권장됩니다.                                                                                                                                                                         |
| `h`       | int    | `"w": 320`                                                                                                                                                | 소재 높이(기기 독립성 화소(DIPS 기준)입니다.이 속성 배너 광고에 필요하며 모든 형식에 권장됩니다.                                                                                                                                                                         |
| `api`     | int    | `"api":7`                                                                                                                                                 | API 프레임워크입니다. `7` 값은 Open Measurement (OM) 지원을 의미합니다. 자세한 내용은 OM 확장 문서를 참조하십시오(/grow/programmatic/unity-exchange/om-extensions).                                                                                                   |

### bid.ext objects##bid-ext

`bid` 오브젝트를 확장하는 오브젝트 서브 클래스입니다.

> **Important:**
>
> SKAdNetwork를 iOS14에서 지원하려면 ext 속성 오브젝트 추가해야 합니다.

| **속성**                            | **유형**  | **예제**                                                                                                       | **설명**                                                                                                                                                                                                                                                                                                                                                                     |
| --------------------------------- | ------- | ------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `appid`                           | 문자열     | `"appid": "1234567890123"`                                                                                   | 해당하는 경우 광고 중인 앱 스토어 ID입니다. 앱 스토어 ID를 찾는 방법에 대한 자세한 내용은 [스토어 ID](/grow/dashboard/get-started/project/settings.md#store-ids)에 있는 Unity Ads 수익화 대시보드 문서를 참조하십시오.                                                                                                                                                                                                              |
| `appname`                         | 문자열     | `"appname": "Example Game"`                                                                                  | 해당하는 경우 광고 중인 앱의 앱 이름입니다.                                                                                                                                                                                                                                                                                                                                                  |
| `storeurl`                        | 문자열     | `"storeurl": "https://itunes.apple.com/us/app/trash-dash/id1198634425?mt=8"`                                 | 해당하는 경우 광고 중인 앱 스토어 URL입니다.이 속성 앱 광고의 고유한 Unity Exchange 요구 사항입니다.                                                                                                                                                                                                                                                                                                         |
| `imptrackers`                     | 문자열 배열  | ```text
["https://ad.doubleclick.net/ddm/trackimp",
"https://dsp.com/amet?et=show&#x26;id=60e47b64b59Q"]
``` | Unity 과금 가능한 노출 이벤트 기록할 때 일관되게 추적할 노출 트래커(첫 번째 및 타사)의 배열. 단가 `bURL` 대신 사용할 수 있습니다.이 속성은 응답에 burl 속성이 없는 경우 Unity Exchange의 고유한 요구 사항입니다.                                                                                                                                                                                                                                   |
| `length`                          | 정수      | `"length": 15`                                                                                               | 동영상의 길이(해당하는 경우 초 단위)입니다.                                                                                                                                                                                                                                                                                                                                                  |
| `crtype`                          | 문자열     | `"crtype": "VAST 3.0"`                                                                                       | 광고 에셋 소재 유형입니다. 유효한 유형은 다음과 같습니다.- `VAST`
- `VAST 2.0`
- `VAST 3.0`
- `VAST 4.0`
- `VAST VPAID`
- `MRAID playable`
- `MRAID 2.0`
- `BANNER`
- `HTML`
- `HTML5`
- `JS`이러한 값은 대소문자를 구분하지 않습니다. 이 속성 응답에 필요합니다.                                                                                                                                                               |
| `ext.skadn.skoverlay.show`        | 정수      | `1`                                                                                                          | SKOverlay를 표시할지 여부를 나타냅니다.- `1`는 예
- `0`는 아니라는 뜻입니다Unity show = 1의 경우 기본값을 표시하고 나머지 속성이 비어 있습니다.                                                                                                                                                                                                                                                                           |
| `ext.skadn.skoverlay.position`    | 정수      | `1`                                                                                                          | SKOverlay의 포지션을 나타냅니다.- `0`는 아래를 의미합니다.
- `1`는 bottomRaised를 나타냅니다.
- 기본값은 0입니다.                                                                                                                                                                                                                                                                                           |
| `ext.skadn.skoverlay.dismissable` | 정수      | `1`                                                                                                          | 사용자 SKOverlay를 해제할 수 있는지 여부를 나타냅니다.- `0`는 없음을 나타냅니다(정적).
- `1`는 예(제거 가능)를 나타냅니다.
- 기본값은 1입니다.                                                                                                                                                                                                                                                                              |
| `ext.skadn.skoverlay.video_delay` | 정수      | `1`                                                                                                          | SKOverlay가 표시되기 전에 지연되는 시간(초)을 나타냅니다. 여기서 0은 즉시입니다.- 기본값은 5이고 최대값은 60입니다.                                                                                                                                                                                                                                                                                                  |
| `ext.skadn.productpageid`         | 문자열     | `00d00d1e-ff93-67fc-653f-8ggd1eeghcdf`                                                                       | 자세한 내용은 [여러 제품 페이지 버전 설정](https://developer.apple.com/help/app-store-connect/create-custom-product-pages/configure-multiple-product-page-versions)을 참고하십시오.                                                                                                                                                                                                                |
| `ext.skadn.ext.ask`               | Integer | `1`                                                                                                          | 다양한 버전의 Auto Storekit을 나타냅니다.- 사용자가 비디오를 건너뛰면 `1`가 Storekit를 표시합니다. 클릭 이벤트 건너뛰기 행동 Storekit를 열 때 전송되지 않습니다.
- `2`는 사용자가 비디오를 건너뛰거나 비디오 시청을 마치면 Storekit를 표시합니다. 클릭 이벤트 건너뛰기 행동 Storekit를 열 때 전송되지 않습니다.
- 사용자가 비디오를 건너뛰면 `3`가 Storekit를 표시합니다. 클릭 이벤트 건너뛰기 행동 Storekit를 열면 전송됩니다.
- `4`는 사용자가 비디오를 건너뛰거나 비디오 시청을 마치면 Storekit를 표시합니다.건너뛰기 행동에서 Storekit를 열면 클릭 이벤트가 전송됩니다. |
| `ext.clickablevideo`              | 정수      | `1`                                                                                                          | 클릭 가능한 동영상 경험 활성화하다, 사용 가능하다 여부를 나타냅니다.- `1`는 예
- `0`는 아니라는 뜻입니다                                                                                                                                                                                                                                                                                                           |

## 단가 응답 예제##examples

### 플레이어블 리스폰스##무서움

```json
{ 
    "id": "7jrUifdKuw3HDIR9dbqDVJ",
    "seatbid": [{
        "bid": [{
            "id": "1234567890123456789",
            "impid": "1",
            "price": 0.78,
            "adid": "12345678",
            "nurl": "https://secure-datacenter.dsp.com/ab?e=wqT_3FL5gUgASotCQAAAQZjkxNjQ.\\u0026referrer=play.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.any.game\\u0026pp=${AUCTION_PRICE}\\u0026label=nurl",
            "burl": "https://secure-datacenter.dsp.com/ab?e=wqT_3FL5gUgASotCQAAAQZjkxNjQ.\\u0026referrer=play.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.any.game\\u0026pp=${AUCTION_PRICE}\\u0026pplabel=burl",
            "adm": "<img src=\"https://my.impression.com/custom/pixel?1234%3D\" style=\"display: none;\">\n <a href=\"https:/my.custom.click/event?&partner=myDSP\"><div style=\"위치: 고정; 상단:0; 왼쪽:0; 너비: 100vw, 높이: 100vh; 배경 위치: 중앙; 배경 이미지: url('https://ex_assets.com/ad_assets/files/000/897/403/original/.jpg?c=1595511733'); 배경 크기: contain;\">
          </Important>ript type=\"application/JavaScript\"> bmTrackViewableChange= 함수(e){mraid.addEventListener(\"viewableChange\", 함수(){bSendFill(),bmSubscribeClickE.log(\"empty viewableChange.....event\")},e&bmSendImpression()},bmSubscribeViewableEvent= 함수(){"viewableChange\", 함수(){bmSendFill\", 함수(){bmSendFill.log}, 함수(){bmSendFill.log},\n</script>",
            "adomain": ["viaplay.fi"],
            "bundle": "com.unityexample.game",
            "iurl": "https://secure-datacenter.dsp.com/cr?id=12345678",
            "cid": "1234",
            "crid": "12345678",
            "cat": ["IAB3-12", "IAB3-8", "IAB21-2", "IAB10-9", "IAB3", "NEX3-101", "IAB3-11", "IAB3-10", "NEX3-102", "IAB3-5", "IAB3-6"],
            "attr": [],
            "h": 320,
            "w": 480,
            "appcategory": ["게임"],
            "appsubcategory": ["어드벤처", "행동"],
            "ext": {
                "appname": "예제 게임",
                "storeurl": "https://play.google.com/store/apps/details?id=com.unityexample.game",
                "crtype": "PLAYABLE"
            }
        }],
        "seat": "1234"
    }],
    "bidid": "CHYr9b0ODI8OGLpedtfCpuCH",
    "cur": "USD",
}           
```

### VAST 리스폰스##v-a-s-t

```json
{ 
    "id": "7jrUifdKuw3HDIR9dbqDVJ", 
    "bidid": "CHYr9b0ODI8OGLpedtfCpuCH", 
    "cur": "USD", 
    "seatbid": [{ 
        "seat": "예제 협력사",
        "bid": [{ 
            "impid": "1", 
            "adomain": ["examplegame.com"], 
            "iurl": "https://secure-datacenter.dsp.com/cr?id=12345678", 
            "crid": "12345678", 
            "cid": "1234", 
            "adid": "87654321", 
            "cat": ["IAB9-25", "IAB9-25"], 
            "bundle": "com.unityexample.game", 
            "attr": [], 
            "h": 568, 
            "w": 320, 
            "id": "unrtb-com.unityexample.game-320x568-1ADJE5D8721B3-453S-9DYA-B0AVD69AA1A1", 
            "price": 15.04,
            "nurl": "https://secure-datacenter.dsp.com/ab?e=wqT_3FL5gUgASotCQAAAQZjkxNjQ.\\u0026referrer=play.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.any.game\\u0026pp=${AUCTION_PRICE}\\u0026label=nurl",
            "burl": "https://secure-datacenter.dsp.com/ab?e=wqT_3FL5gUgASotCQAAAQZjkxNjQ.\\u0026referrer=play.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.any.game\\u0026pp=${AUCTION_PRICE}\\u0026pplabel=burl",
            "adm": "yourdsp<![CDATA[]]><![CDATA[]]>00:00:15<![CDATA[]]><![CDATA[]]><![CDATA[]]><![CDATA[]]><![CDATA[]]><![CDATA[]]><![CDATA[]]><![CDATA[]]><![CDATA[,Set&creativeID=329c8ef3]]><![CDATA[]]><![CDATA[]]><![CDATA[]]><![CDATA[,Set&CreativeID=329c8ef3]]>", <?xml version=\"1.0\"?><VAST version=\"2.0\"><Ad id=\"179e7ee9\"><InLine><AdSystem></AdSystem><Error>https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=err</Error><Impression>https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=1234567890&adgroupID=180968&ra=&code=impression</Impression><Creatives><Creative AdID=\"179e7ee9\"><Linear><Duration></Duration><TrackingEvents><Tracking event=\"skip\">https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123456789&adgroupID=180968&ra=&code=skip&s=</Tracking><Tracking event=\"engagedView\">https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123456789&adgroupID=180968&ra=&code=engagedView&s=</Tracking><Tracking event=\"creativeView\">https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=creativeView&s=</Tracking><Tracking event=\"start\">https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=start&s=</Tracking><Tracking event=\"firstQuartile\">https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=firstQuartile&s=</Tracking><Tracking event=\"midpoint\">https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=midpoint&s=</Tracking><Tracking event=\"thirdQuartile\">https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=thirdQuartile&s=</Tracking><Tracking event=\"complete\">https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=complete&s=</Tracking></TrackingEvents><VideoClicks><ClickThrough>https://c.yourdsp.com/ads/c.php?a=unrtb&b=unrtb-com.catchall.game-320x568&c=179e7ee9&d=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&ct=0&nb=0&its=1499375139&gf=https%3A%2F%2Fcdngs.yourdsp.com%2F1028%2F768x1024_Unsub_NewGame_Video_All_ZHCN_MZCA02xbqA4.ipad_20170629_09_44_11_.mp4&f=&ra=&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&campaignID=123184311&adgroupID=180968&adgroup=NewGame_iOS_NL&defcpa=0&defcpc=0&appid=1186994231&creativeID=329c8ef3&adType=5&countrycode=NL&ccimpid=X96142d9408c8a40179e7ee907061405&accountid=1028&siteaccountid=4917655231945&pubappid=&sg=&it=&inf=0&price=0.04800847457627119&cg=New</ClickThrough><ClickTracking>https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=click</ClickTracking></VideoClicks><MediaFiles><MediaFile delivery=\"progressive\" type=\"video/mp4\" bitrate=\"500\" width=\"768\" height=\"1024\" scalable=\"true\" maintainAspectRatio=\"true\">https://cdngs.yourdsp.com/1028/768x1024_Unsub_NewGame_Video_All_ZHCN_MZCA02xbqA4.ipad_20170629_09_44_11_.mp4</MediaFile></MediaFiles></Linear></Creative><Creative AdID=\"179e7ee9\"><CompanionAds><Companion width=\"768\" height=\"1024\"><StaticResource creativeType=\"image/jpeg\"><![CDATA[]]></StaticResource><TrackingEvents><Tracking event=\"creativeView\">https://ads.yourdsp.com/ads/vast.php?appkey=unrtb-com.catchall.game-320x568&adid=179e7ee9&appid=1139609950&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&partnerkey=unrtb&campaignID=123184311&adgroupID=180968&ra=&code=engagedView</Tracking></TrackingEvents><CompanionClickThrough>https://c.yourdsp.com/ads/c.php?a=unrtb&b=unrtb-com.catchall.game-320x568&c=179e7ee9&d=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&ct=0&nb=0&its=1499375139&gf=https%3A%2F%2Fcdngs.yourdsp.com%2F1028%2F768x1024_Unsub_NewGame_Video_All_ZHCN_MZCA02xbqA4.ipad_20170629_09_44_11_.mp4&f=&ra=&aid=1ABAE8D8-21B3-453D-9DEA-B9ABD69AA1A1&campaignID=123184311&adgroupID=180968&adgroup=NewGame_iOS_NL&defcpa=0&defcpc=0&appid=1186994231&creativeID=329c8ef3&adType=5&countrycode=NL&ccimpid=X96142d9408c8a40179e7ee907061405&accountid=1028&siteaccountid=4917655231945&pubappid=&sg=&it=&inf=0&price=0.04800847457627119&cg=New</CompanionClickThrough></Companion></CompanionAds></Creative></Creatives></InLine></Ad></VAST> 
            "ext": {
                "advertisername": "One Cool Advertiser",
                "appid": "1234567890123", 
                "appname": "예제 게임", 
                "storeurl": "https://itunes.apple.com/us/app/trash-dash/id1198634425?mt=8",
                "length": 15, 
                "crtype": "VAST" 
                "clickablevideo": 1,
                "deeplinking": 1,
                "cta_text": "이제 구매",
                "skadn": {
                "ext": {
                     "ask": 2
                },
                "productpageid": "00d00d1e-ff93-67fc-653f-8ggd1eeghcdf",
                "skoverlay": {
                     "show": 1,
                     "position": 0,
                     "dismissable": 0,
                     "video_delay": 5,
                } 
                }
            } 
        }]
    }]  
 } 
            
```

## 단가 응답 없음(NBR)##nbrs

Unity Exchange는 단가 없는 경우 여러 응답 유형을 지원합니다. 이러한 응답 중 하나를 사용하여 노출에 단가 않겠다고 명시적으로 알리는 것이 중요. 그렇지 않으면 응답이 시간 초과 오류로 해석될 수 있습니다.

| **답변**                         | **예제**                                          |
| ------------------------------ | ----------------------------------------------- |
| 콘텐츠 없음                         | `HTTP 204 No Content`                           |
| 빈 JSON 객체                      | `{}`                                            |
| 정확하게 구성된 단가 응답(사유 코드 포함 또는 없음) | `{"id": "1234567890", "seatbid": {}, "nbr": 2}` |
| 기타                             | * `200 OK`
* `302 Redirect`                     |

자세한 내용은 [OpenRTB 사양](https://www.iab.com/wp-content/uploads/2016/03/OpenRTB-API-Specification-Version-2-5-FINAL.pdf)의 **섹션 7.1**을 참조하십시오.

### NBR 사유 코드##nbr-codes

| **값** | **설명**                 |
| ----- | ---------------------- |
| `0`   | 알 수 없는 오류              |
| `1`   | 기술적 오류                 |
| `2`   | 잘못된 요청                 |
| `3`   | 알려진 웹 스파이더             |
| `4`   | 사람이 아닌 트래픽             |
| `5`   | 클라우드, 데이터 센터 또는 프록시 IP |
| `6`   | 지원되지 않는 기기             |
| `7`   | 차단된 퍼블리셔 또는 사이트        |
| `8`   | 비일치된 사용자               |

## 가격 난독화##price-obfuscation

`nURL`를 전송할 때는 클라이언트 측에서 민감한 가격 정보를 보호하기 위해 `${AUCTION_PRICE:BF}` 값에 대한 난독화를 구현하는 것이 좋습니다. 이 기능은 선택 사항입니다.

### 방법론##methodology

데이터를 난독화하기 위해 Unity 입력 데이터에 PKCS5 패딩바이트 차단 크기의 PKCS7 패딩이 적용된 Blowfish를 ECB 모드로 사용합니다. 그러면 데이터가 base64 URL로 인코딩되어 바이너리 데이터 URL에서 유효합니다. 문제 해결을 위해 요청 시 소스 코드를 사용할 수 있습니다.

```http title="Example pseudo-code"
base64_URLEncode(blowfish_ecb_encrypt_pkcs5_padding(plaintext))
```

| **파라미터**             | **예제 값**           |
| -------------------- | ------------------ |
| 키                    | `"encryption_key"` |
| plaintext            | `"10.20"`          |
|  암호화된 base64 URL 인코딩 | `"z5eznndAkpE="`   |

> **Note:**
>
> Unity 라이브 프로덕션에서 다른 암호화 키를 사용합니다.

### 암호화 해제##decryption

데이터를 암호화 해제 위해 입력 문자열은 base64 URL로 디코딩됩니다. 그런 다음 PKCS5 패딩 암호화된 데이터에서 제거되고 블러 피쉬 ECB 암호화 되돌아갑니다.

```http title="Example pseudo-code"
blowfish_ecb_decrypt_pkcs5_padding(base64_URLDecode(encodedtext))
```
