# SKAdNetwork 및 iOS 14 클릭 로직

> Apple의 개인정보 보호 프레임워크 따라 어트리뷰션과 캠페인 측정을 정확하게 수행할 수 있도록 iOS 14 이상용 SKAdNetwork 클릭 로직을 검토하십시오.

## 플로우 차트##flowchart

1. Ironsource SDK는 퍼블리셔 앱의 Info.plist에서 SKAdNetworkItems를 읽습니다.
2. Ironsource 단가 요청에는 퍼블리셔 앱의 Info.plist에 포함된 DSP의 `imp.ext.skadn` 오브젝트가 포함됩니다.
3. 캠페인에 SKAdNetwork 지원이 필요한 경우 DSP는 단가 응답에 `seatbid.bid.ext.skadn`를 포함해야 합니다.
4. 노출이 표시되고 사용자 클릭하면 Apple은 앱을 설치 어트리뷰션으로 고려합니다.
5. SKAdNetwork가 DSP의 클릭으로 인해 설치가 완료되었음을 확인하면 Apple은 포스트백을 DSP로 직접 전송합니다.

## 단가 요청##bid-request

퍼블리셔 앱의 Info.plist에 DSP SKAdNetworkItem이 표시되면 Ironsource 서명을 생성하는 데 필요한 정보를 제공하는 새로운 오브젝트 단가 요청에 포함합니다.

이 오브젝트 Ironsource SDK 버전과 OS 버전이 모두 SKAdNetwork를 지원하는 경우에만 존재합니다.

### Imp.ext.skadn##imp.ext.skadn

| **속성**       | **설명**                                                                                                                                                                | **Type** | **예제**                                                               |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | -------------------------------------------------------------------- |
| `version`    | 지원되는 skadnetwork 버전입니다. 항상 "2.0" 이상입니다. OS 버전과 SDK 버전에 따라 다릅니다. 참고: SKAdNetwork 2.1 릴리스와 함께 이 필드는 BidRequest.imp.ext.skadn.versions 에서 버전 번호 배열을 지원하기 위해 사용 중단 예정입니다. | 문자열      | "version": "2.0"                                                     |
| `versions`   | 지원되는 skadnetwork 버전이 포함된 문자열 배열. 항상 "2.0" 이상입니다. OS 버전과 SDK 버전에 따라 다릅니다.                                                                                              | 문자열 배열   | "versions": `["2.0", "2.1"]`                                         |
| `sourceapp`  | Apple의 앱 스토어 있는 퍼블리셔 앱의 ID입니다. OpenRTB 2.x에서 app.bundle과 일치해야 함                                                                                                       | 문자열      | "sourceapp": "880047117"                                             |
| `skadnetids` | 단가 요청과 관련된 퍼블리셔 앱의 Info.plist에 있는 SKAdNetworkItem 항목의 하위 집합으로, 소문자열로 표시됩니다.                                                                                           | 문자열 배열   | "skadnetids": `["cdkw7geqsh.skadnetwork", "qyjfv329m4.skadnetwork"]` |
| `ext`        | OpenRTB에 대한 거래별 확장용 플레이스홀더.                                                                                                                                           | 오브젝트     | "ext" : {}                                                           |

#### 요청 SKAN 오브젝트 예시##request-skan-object-example

```json
{
    imp: \[
    {
        ext: {
        skadn: {
        버전: "2.0",
        소스앱: "880047117",
        skadnetids: \[
                    "cdkw7geqsh.skadnetwork",
                    "qyjfv329m4.skadnetwork"
                \]
            }
        }
    }
\]
}
```

## 단가 응답##bid-response

단가 요청에 BidRequest.imp.ext.skadn 오브젝트 포함된 경우 DSP는 해당 단가 리스폰스에 다음 오브젝트 추가할 수 있습니다. 오브젝트 리스폰스에 포함된 경우(모든 파라미터는 필수) Ironsource 클릭 데이터와 서명을 productView for iOS SKAdNetwork 어트리뷰션에 제출합니다.

### seatbid.bid.ext.skadn##seatbid.bid.ext.skadn

| **속성**       | **설명**                                                                   | **Type** | **예제**                                          |
| ------------ | ------------------------------------------------------------------------ | -------- | ----------------------------------------------- |
| `version`    | SKAdNetwork 버전입니다. 2.0 이상이어야 합니다.                                        | 문자열      | "version": "2.0"                                |
| `network`    | 서명에 사용되는 광고 네트워크 식별자. 요청의 skadnetids 배열 항목 중 하나와 일치해야 합니다.               | 문자열      | "network": "cdkw7geqsh.skadnetwork"             |
| `campaign`   | Apple 사양과 호환되는 캠페인 ID입니다. 2.0부터는 문자열로 표현되는 1과 100 사이의 정수 합니다.            | 문자열      | "campaign": "45"                                |
| `itunesitem` | Apple의 앱 스토어 있는 광고주 앱의 ID입니다. BidResponse.seatbid. 단가.번들와 일치해야 함         | 문자열 배열   | "itunesitem": "123456789                        |
| `nonce`      | 각 광고 리스폰스의 고유 ID입니다. 적절한 UUID 형식 요구 사항은 Apple 기술 자료를 참고하십시오.             | 문자열      | "nonce": "473b1a16-b4ef-43ad-9591-fcf3aefa82a7" |
| `sourceapp`  | Apple의 앱 스토어 있는 퍼블리셔 앱의 ID입니다. BidRequest.imp.ext.skad.sourceapp과 일치해야 함 | 문자열      | "sourceapp": "880047117"                        |
| `timestamp`  | 서명 시점에 사용된 Unix 시간(단위: 밀리초 문자열)                                          | 문자열      | "timestamp": "1594406341232"                    |
| `signature`  | Apple에서 지정한 SKAdNetwork 서명                                               | 문자열      | "signature": "MEQCIEQlmZRNfYzK…"                |

### 응답 SKAN 오브젝트 예시##response-skan-object-example

```json
{
    seatbid: \\[
    {
        bid: \[
        {
            ext: {
            skadn: {
                버전: "2.0",
                network: "cdkw7geqsh.skadnetwork",
                캠페인: "45",
                itunesitem: "123456789",
                nonce: "473b1a16-b4ef-43ad-9591-fcf3aefa82a7",
                소스앱: "880047117",
                timestamp: "1603246928149",
                signature: "MEQCIEQlmZRNfYzKBSE8QnhLTIHZZZWCFgZpRqRxHss65KoFAiAJgJKjdrWdkLUOCCjuEx2RmFS7daRzSVZRVZ8RyMyUXg=="
                    }
                }
            }
        \]
    }
\]
}
```

## iOS 14.5 클릭 로직##ios-14.5-click-logic

### 동영상##video

DSP가 유효한 `itunesitem`가 있는 `BidResponse.seatbid.bid.ext.skadn` 오브젝트를 반환하는 경우:

* VAST 2.0 동영상의 경우:
  * SKAdNetwork 어트리뷰션은 `<ClickThrough>` 요소가 Apple 앱 스토어에 있는 경우에만 시작됩니다(현재 리디렉트 링크는 지원되지 않음).
  * ironsource는 VAST `<ClickTracking>` 요소를 통해 클릭 트래킹을 지원합니다.
* VAST 2.0 CompanionAds의 경우:
  * SKAdNetwork 어트리뷰션은 `<CompanionClickThrough>` 요소가 Apple 앱 스토어에 있는 경우에만 시작됩니다(현재 리디렉트 링크는 지원되지 않음).
  * ironsource는 VAST `<CompanionClickTracking>` 요소를 통해 클릭 트래킹을 지원합니다.

### 표시##display

DSP가 유효한 `itunesitem`가 있는 `BidResponse.seatbid.bid.ext.skadn` 오브젝트를 반환하는 경우:

* 표시 소재는 다음을 호출하여 클릭을 구현해야 합니다. `mraid.open()`.
* 사용자 클릭하면 Ironsource 단가 리스폰스에서 수신한 itunesitem(번들)에 따라 iOS StoreKit를 표시합니다.

> **Note:**
>
> 다른 MRAID 메서드(예: `window.open`, `window.location`)는 클릭 트래킹 불일치로 이어집니다.
