# Google Ad Managerインテグレーション

> Google Ad Manager アカウントを作成し、インベントリを設定し、それを LevelPlay アカウントにリンクすることで、Google Ad Manager を Unity LevelPlay の広告ネットワークとして統合できます。

> **Important:**
>
> 以下のドキュメントでは、Unity が開発、所有、または運用するものではない製品またはサービス ("サードパーティ製品") を取り上げます。
> その情報は、古かったり、不完全であったりする可能性がありますが、利便性のために提供しています。
> サードパーティ製品を使用する際は、その製品の規約に従うものとします。
> Unity はそれらの製品に関して一切保証を行わず、その使用によって生じた損害や損失 (サードパーティプロバイダーのコンテンツ、広告、製品、資料に関する問題を含む) について責任を負いません。

以下の手順に従って、Google Ad Manager を Unity LevelPlay メディエーションの広告ネットワークとして稼働させます。

> **Note:**
>
> このメディエーションネットワークのアダプタ変更ログを表示するには、[iOS 用メディエーションネットワーク](/grow/levelplay/sdk/ios/mediation-networks.md.md#integrate-network-adapters) を参照してください。

## 前提条件##prerequisites

* リワード広告、インタースティシャル広告、またはバナー広告をアプリケーションに正しく統合していることを確認します。インテグレーション手順については、以下のプラットフォーム固有のガイドを参照してください。

  **Integration guides:**

  * [リワード広告](/grow/levelplay/sdk/ios/rewarded-ads-integration.md)
  * [インタースティシャル](/grow/levelplay/sdk/ios/interstitial-integration.md)
  * [バナー](/grow/levelplay/sdk/ios/banner-integration.md)

* AdMob SDK は iOS バージョン 10 以降をサポートしており、iOS バージョン 11 以降のユーザーに対して広告を配信します。

## ステップ 1. Google Ad Manager アカウントの作成

1. Unity LevelPlay のメディエーションを介して Google Ad Manager 広告インベントリにアクセスするには、[Ad Manager アカウントを作成](https://admanager.google.com/home/)します。
2. Google 広告マネージャーで収益を得るには、Google AdSense アカウントを作成する必要があります
3. AdSense アカウントを Ad Manager アカウントに接続する

## ステップ 2. Google Ad Manager でのインベントリの作成

1. Google AdManager ガイドは[こちら](https://support.google.com/admanager/answer/6238692?hl=en)にあります。
2. 注文:
   1. 少なくとも 1 つの注文を追加する
   2. AdSense を広告主として注文に接続する
3. ラインアイテム
   1. 収益化したい広告単位ごとにライン項目を追加します(Int/RV/BN/NTV BN)
   2. ビデオ ライン項目の選択
   3. Line item type (ライン項目タイプ) = Ad exchange (広告交換)
4. アプリ
   1. アプリケーションは Admob アカウントから自動的に追加されます。
   2. そうでない場合は、新しいアプリケーションを作成します (インベントリ (インベントリ) > Apps (アプリ) > Add アプリケーション (アプリを追加))。
5. 広告ユニット
   1. 価格ポイントごとに広告単位を追加

## ステップ 3. LevelPlay アカウントで **Google Ad Manager** をアクティベート

LevelPlay SDK Networks 設定ページで Ad Manager を設定するときに、Google アカウントにサインインします。これにより、Ad Managerのインタースティシャル広告、リワード広告、バナーを実行するために必要なすべてのパラメーターが自動的に取得されます。

1. Google Ad Manager アカウントで、以下の情報を取得します。 

| App ID (アプリ ID) | Ad Manager ダッシュボードでアプリケーションに割り当てられた一意のの ID                                                                     |
| --------------- | -------------------------------------------------------------------------------------------------------------- |
| APIキー           | Ad Manager アカウントの一意の識別子。これにより、Unity LevelPlay Mediation は Ad Manager アカウントからパフォーマンスデータをインポートし、レポートと最適化に使用できます。 |
| 広告単位 ID         | Ad Manager ダッシュボードでアプリケーションの広告単位に割り当てられた一意のの ID                                                                |
| クライアント ID       | アカウントと広告単位の関係を指定する一意の識別子                                                                                       |
| クライアントシークレット    | クライアント ID とペアになる秘密鍵                                                                                            |
| リフレッシュトークン      | クライアントアプリケーションがすでに受け取っている更新トークン                                                                                |

2. LevelPlay アカウントで Google Ad Manager のパラメータを設定します。

* ironsource アカウントにログインし、**［Monetize**］＞ ［**設定**］＞ ［**SDK Networks］** に移動します。

![SDK ネットワーク](/api/media?file=/grow/media/images/Level-Play-SDK.jpg)

* 「使用**可能なネットワーク**」のリストから「Google Ad Manager」を選択し、Ad Manager の **API キー**、**クライアント** **ID**、**クライアントシークレット、**および**更新トークン**を入力するか、「**Login with Google**」オプションを選択します。

![ログイン認証情報](/api/media?file=/grow/media/images/1-1.png)

![Login with Google](/api/media?file=/grow/media/images/2.png)

* **Save** (保存) を選択します。Ad Manager が有効になり、**Available Ad Networks** テーブルにリストされます。
* 広告ネットワークの設定リストから Ad Manager を選択し、ツールの **Define** (定義) ボタンを選択します。**インタースティシャル設定**、**リワード設定**、または**バナー設定**の下に**App ID**と**広告単位\*\*\*\*ID**を挿入します。
  ![アプリケーションと広告単位設定](/api/media?file=/grow/media/images/4.png) - Reporting APIとのインテグレーションを確認します。この列では、Reporting API によるインテグレーションを確認し、3 つの応答を返します。検証済み、失敗、無反応。**検証済み**(Verified) が表示されない場合は、インテグレーションと入力した情報を再確認し、**検証済み** (Verified) が表示されるまで 再試行(**Retry**) を選択します。

## ステップ 4. Admob アダプタをビルドに追加する##step-4.-add-the-admob-adapter-to-your-build

> **Note:**
>
> AdMob SDK 7.69.0 以降では、AdMob は XCFramework を使用しています。AdMob インテグレーションに CocoaPods を使用している場合は、CocoaPods Version 1.9.0 以降が必要です。
>
> V7.42.0 **(Adapter バージョン** 4.3.3 以降) では、AdMob の SDK で[はここ](https://developers.google.com/admob/ios/quick-start#update_your_infoplist)で説明されているように、パブリッシャーが AdMob App ID をアプリケーションの Plist に追加する必要があります。または、この変更をプログラムで行うことができます。
>
> ```xml
> <key>GADApplicationIdentifier</key>
> <string>[APP_ID]</string>
> ```
>
> "GADApplicationIdentifier" の値をステップ 3 で取得した App ID 値に置き換えます。

LevelPlay SDK は\*\*、Cocoapod\*\* と**手動**ダウンロードの両方のメカニズムをサポートします。

### CocoaPods##cocoapods

AdMob SDK を Cocoapods と統合するには、podfile に以下の行を入力したら準備完了です。

```ruby
pod 'IronSourceAdMobAdapter','5.6.0'
```

### 手動ダウンロード##manual-download

1. **AdMob Adapterのダウンロード** AdMob AdapterとSDKをビルドに追加します。[iOS のメディエーションネット](/grow/levelplay/sdk/ios/mediation-networks.md)ワーク を参照してください。AdMob アダプターには AdMob SDK が含まれていないため、AdMob SDK もプロジェクトに追加する必要があります。
2. **AdMob フレームワークをプロジェクト**に追加 Adapter と SDK をダウンロードしたら、Adapter と SDK の**フレームワーク**ファイルを Xcode プロジェクトにドロップします。
3. **ターゲット** ＞ **ビルド\*\*\*\*設定** ＞ **アーキテクチャ を**開き、Xcode プロジェクトで **Base SDK** version **8.0** 以降を使用し、armv6 アーキテクチャを使用しないことを確認します。
4. \*\*リンカーフラグ:\*\***ターゲット** > **ビルド\*\*\*\*設定** > **Linking** > **Other Linker Flags** (その他のリンカーフラグ) に 2 つの別のリンカーフラグを追加します。-**ObjC**

## ステップ 5.Info.plist 更新##step-5.-update-info.plist

V7.42.0 **(Adapter バージョン** 4.3.3 以降) では、AdMob の SDK で[はここ](https://developers.google.com/admob/ios/quick-start#update_your_infoplist)で説明されているように、パブリッシャーが AdMob App ID をアプリケーションの Plist に追加する必要があります。または、この変更をプログラムで行うことができます。

```xml
<key>GADApplicationIdentifier</key>
<string>[APP_ID]</string>
```

"GADApplicationIdentifier" の値をステップ 3 で取得した App ID 値に置き換えます。これを行わないと、AdMob の SDK に起因するクラッシュが発生します。 詳細については、[AdMob のガイド](https://developers.google.com/admob/ios/quick-start#update_your_infoplist)を参照してください。

## ステップ 6.追加ステップ##step-6.-additional-steps

### 子ども向け設定 - COPPA##child-directed-setting---coppa

Unity LevelPlay のメディエーションを使用すると、パブリッシャーは AdMob の子指向設定を AdMob ネットワークに直接通知できます。この特徴は、LevelPlay SDK 6.14.0 以降、AdMob iOS Adapter 4.3.11 以降を使用して有効化されます。

以下の構文を使用して、パラメーター YES で AdMob **tagForChildDirectedTreatment** を設定します。

1. **Objective-C**

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"AdMob_TFCD" value:@"true"];
   ```

2. **Swift**

   ```swift
   LevelPlay.setMetaDataWithKey("AdMob_TFCD", value: "true")
   ```

以下の構文を使用して、AdMob **tagForChildDirectedTreatment** にパラメーター NO を設定します。

1. **Objective-C**

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"AdMob_TFCD" value:@"false"];
   ```

2. **Swift**

   ```swift
   LevelPlay.setMetaDataWithKey("AdMob_TFCD", value: "false")
   ```

AdMob ネットワークの Child-directed 設定の詳細については、[こちら](https://developers.google.com/admob/ios/targeting#child-directed_setting)を参照してください。

### 同意年齢に満たないユーザー - GDPR##users-under-the-age-of-consent---gdpr

Unity LevelPlay のメディエーションを使用すると、パブリッシャーは AdMob ネットワーク、TFUA (ヨーロッパの同意年齢に満たないユーザーのためのタグ) リクエストと通信できます。この特徴は、LevelPlay SDK 6.14.0 以降、AdMob iOS Adapter 4.3.11 以降を使用して有効化されます。

以下の構文を使用して、**tagForUnderAgeOfConsent** を YES に設定します。

1. **Objective-C**

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"AdMob_TFUA" value:@"true"];
   ```

2. **Swift**

   ```swift
   LevelPlay.setMetaDataWithKey("AdMob_TFUA", value: "true")
   ```

以下の構文を使用して、**tagForUnderAgeOfConsent** に NO を設定します。

1. **Objective-C**

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"AdMob_TFUA" value:@"false"];
   ```

2. **Swift**

   ```swift
   LevelPlay.setMetaDataWithKey("AdMob_TFUA", value: "false")
   ```

AdMob ネットワークの Child-directed 設定の詳細については、[こちら](https://developers.google.com/admob/ios/targeting#users_under_the_age_of_consent)を参照してください。

### 広告コンテンツフィルタリング##ad-content-filtering

Unity LevelPlay のメディエーションを使用すると、パブリッシャーは AdMob ネットワークと通信できます。すべての広告リクエストに対する最大広告コンテンツレーティングです。この特徴は、LevelPlay SDK 7.12.0 以降、AdMob iOS Adapter 4.3.28 以降を使用して有効化されます。

以下の構文を使用して、**maxAdContentRating を**設定します

1. **Objective-C**

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"AdMob_MaxContentRating" value:@"MAX_AD_CONTENT_RATING_G"];
   ```

2. **Swift**

   ```swift
   LevelPlay.setMetaDataWithKey("AdMob_MaxContentRating", value:"MAX_AD_CONTENT_RATING_G")
   ```

このプロパティに指定できる値は、Google が定義したデジタルコンテンツラベル分類に基づいています。

* MAX\_AD\_CONTENT\_RATING\_G
* MAX\_AD\_CONTENT\_RATING\_PG
* MAX\_AD\_CONTENT\_RATING\_T
* MAX\_AD\_CONTENT\_RATING\_MA

AdMob ネットワークの Ad Content Rating プロパティの詳細については、[こちら](https://developers.google.com/admob/ios/targeting#ad_content_filtering)を参照してください。

### コンテンツ URL マッピング サポート##content-url-mapping-support

Unity LevelPlay は、Google のアプリケーションのコンテンツマッピングをサポートしており、「Google\_コンテンツ\_マッピング」設定を使用して URL を共有できます。この特徴は、LevelPlay SDK 7.7.0 以降、AdMob Adapter 4.3.51 以降を使用して有効化されます。Googleのコンテンツマッピングの詳細については、[こちら](https://support.google.com/admob/answer/11050896)を参照してください。

単一コンテンツの URL を渡すには、以下の構文を使用します。

1. **Objective-C**

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"Google_Content_Mapping" value:@"https://www.example.com"];
   ```

2. **Swift**

   ```swift
   LevelPlay.setMetaDataWithKey("Google_Content_Mapping", value: "https://www.example.com")
   ```

複数の URL をサポートするには、同じキーを使用し、最大 4 つの URL を共有します。

1. **Objective-C**

   ```objective-c
   [LevelPlay setMetaDataWithKey:@"Google_Content_Mapping"
                               values:[@[@"https://www.example1.com", @"https://www.example2.com"] mutableCopy]];
   ```

2. **Swift**

   ```swift
   LevelPlay.setMetaDataWithKey("Google_Content_Mapping", values: ["https://www.example1.com", "https://www.example2.com"])
   ```

## ステップ 7.ネイティブ広告を有効にする (クローズドベータ版)##step-7.-enable-native-ads-(closed-beta)

### リソースバンドル##resources-bundle

Google アダプタのバージョンが 4.3.49 未満の場合、リソースバンドルにはバナーサイズごとのネイティブバナーカスタムビューが含まれています。以下のステップに従って、リソースバンドルをプロジェクトに追加します。

1. プロジェクトターゲットの選択 
2. ビルドフェーズタブに移動します。
3. Copy Bundle Resourcesを開き、\*\*+\*\*アイコンを選択します。
4. ISAdMobResources.bundle を選択し、**Add を**選択します。

> **Note:**
>
> AdMob のネイティブバリデーター特徴は、テスト広告ではデフォルトで有効になっています。AdMob [ウェブサイト](https://developers.google.com/admob/ios/native/validator) にアクセスして特徴を無効にしてください。

## 広告ネットワークインテグレーションの確認##verify-your-ad-network-integration

LevelPlay SDK とその他の Ad Networks のインテグレーションを検証するには、この[ドキュメント](/grow/levelplay/sdk/ios/integration-helper.md)に従ってください。

## 次のステップ##next-steps

追加のメディエーション広告ネットワークを活用するには、[アダプタ](/grow/levelplay/sdk/ios/mediation-networks.md)を統合し、インテグレーションガイドに従います。
