# 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. DSPのクリックがインストールにつながったとSKAdNetworkが判断した場合、AppleはDSPに直接ポストバックを送信します。

## 入札リクエスト##bid-request

DSP SKAdNetworkItemがパブリッシャーアプリケーションのInfo.plistに表示される場合、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 が優先されます。 | String         | "version" :"2.0"                                                     |
| `versions`   | サポートされている skadnetwork バージョンを含む文字列の配列。常に "2.0" 以上OS バージョンと SDK バージョンの両方に依存。                                                                                               | 文字列配列          | "versions": `["2.0", "2.1"]`                                         |
| `sourceapp`  | Apple の アプリストア でのパブリッシャーアプリケーションの ID。OpenRTB 2.x の アプリケーション.bundle と一致する必要があります。                                                                                         | String         | "sourceapp":"880047117"                                              |
| `skadnetids` | パブリッシャーアプリケーションのInfo.plist内のSKAdNetworkItemエントリーのサブセットで、入札リクエストに関連する小文字の文字列で表されます。                                                                                       | 文字列配列          | "skadnetids": `["cdkw7geqsh.skadnetwork", "qyjfv329m4.skadnetwork"]` |
| `ext`        | OpenRTB に対するエクスチェンジ固有の拡張のためのプレースホルダー                                                                                                                                     | オブジェクト         | "ext" : {}                                                           |

#### リクエスト SKAN オブジェクト例##request-skan-object-example

```json
{
    imp: \[
    {
        ext: {
        skadn: {
        version:"2.0",
        sourceapp:"880047117",
        skadnetids: \[
                    "cdkw7geqsh.skadnetwork",
                    "qyjfv329m4.skadnetwork"
                \]
            }
        }
    }
\]
}
```

## 入札反応##bid-response

入札リクエストにBidRequest.imp.ext.skadnオブジェクトが含まれている場合、DSPは以下のオブジェクトを入札反応に追加できます。オブジェクトが反応に含まれている場合（すべてのパラメータが必須）、Ironsource は iOS SKAdNetwork アトリビューションのクリックデータと署名を productView に送信します。

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

| **属性**       | **説明**                                                                               | **Type (タイプ)** | **例**                                          |
| ------------ | ------------------------------------------------------------------------------------ | -------------- | ---------------------------------------------- |
| `version`    | SKAdNetwork のバージョン。2.0 以上である必要があります。                                                 | String         | "version" :"2.0"                               |
| `network`    | シグニチャで使用される広告ネットワーク識別子。リクエストの skadnetids 配列内のアイテムの 1 つと一致する必要があります。                  | String         | "network": "cdkw7geqsh.skadnetwork"            |
| `campaign`   | Apple の仕様と互換性のあるキャンペーン ID。2.0 の時点では、1 \~ 100 の整数で、文字列で表されます。                         | String         | "campaign":"45"                                |
| `itunesitem` | Apple のアプリストアにおける広告主のアプリケーションの ID。BidResponse.seatbid.bid.bundle と一致する必要があります。       | 文字列配列          | "itunesitem":"123456789                        |
| `nonce`      | 各広告反応に一意の ID。適切な UUID 形式要件については、Apple のドキュメントを参照してください。                              | String         | "nonce":"473b1a16-b4ef-43ad-9591-fcf3aefa82a7" |
| `sourceapp`  | Apple のアプリストアにおけるパブリッシャーのアプリケーションの ID。Should match BidRequest.imp.ext.skad.sourceapp | String         | "sourceapp":"880047117"                        |
| `timestamp`  | 署名時に使用されたミリ文字列での Unix 時間                                                             | String         | "timestamp": "1594406341232"                   |
| `signature`  | Apple によって指定された SKAdNetwork 署名                                                       | String         | "signature":"MEQCIEQlmZRNfYzK…"                |

### 反応 SKAN オブジェクト例##response-skan-object-example

```json
{
    seatbid: \[
    {
        bid: \[
        {
            ext: {
            skadn: {
                version:"2.0",
                network: "cdkw7geqsh.skadnetwork",
                campaign: {"45",
                itunesitem:"123456789",
                nonce："473b1a16-b4ef-43ad-9591-fcf3aefa82a7",
                sourceapp:"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 App Storeに配信された場合にのみ開始されます（リダイレクトリンクは現在サポートされていません）。
  * ironsource は、VAST `<ClickTracking>`要素によるクリック追跡をサポートします。
* VAST 2.0 コンパニオン広告の場合:
  * SKAdNetworkアトリビューションは、`<CompanionClickThrough>`要素がApple App Storeに配信された場合にのみ開始されます（リダイレクトリンクは現在サポートされていません）。
  * ironsource は、VAST `<CompanionClickTracking>`要素によるクリック追跡をサポートします。

### ディスプレイ##display

DSP が有効な`itunesitem`を持つ `BidResponse.seatbid.bid.ext.skadn` オブジェクトを返す場合：

* ディスプレイクリエイティブは、「`mraid.open()`」を呼び出してクリックを実装する必要があります。
* ユーザーをクリックすると、Ironsource は入札反応で受け取ったアイテム （バンドル） に応じて iOS StoreKit を表示します。

> **Note:**
>
> その他のMRAIDメソッド(`window.open`、`window.location`など)では、クリック トラッキングの不一致が発生します。
