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

> Google Ad Manager アカウントを設定し、広告ユニットを作成し、プロジェクトに必要なアダプタを追加することで、Google Ad Manager を Unity LevelPlay と統合できます。

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

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

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

## 前提条件##prerequisites

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

  **Integration guides:**

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

## ステップ 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

V17.0.0 **(Adapter バージョン** 4.3.1 以降) では、AdMob の SDK でパブリッシャーが AdMob App ID をアプリケーションの AndroidManifest に`<application/>`タグの子として追加する必要があります。

```xml
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" 
           android:value="[ADMOB_APP_ID]"/>
```

"ADMOB\_アプリケーション\_ID" をステップ 3 で取得した App ID 値に置き換えます。"

1. allprojects->repositories ブロック内に以下の行があることを確認します。

   ```groovy
   allprojects {
       repositories {
          flatDir {
              dirs 'libs'
          }
          google()
       }
   }
   ```

2. dependencies ブロックに以下の依存関係を追加します。

   ```groovy
   dependencies {
       implementation fileTree(dir: 'libs', include: ['*.jar'])
   }
   ```

LevelPlay SDK は Gradle の依存関係と手動ダウンロードメカニズムの両方をサポートします。

Admob アダプターを Gradle と統合するには、以下を行います。

1. 以下の Maven URL がアプリケーションモジュールの ビルド.gradle スクリプトに存在することを確認します (すべてのアダプターに対して 1 回のみ表示されます)。

   ```groovy
   repositories {
       google()
       mavenCentral()
   }
   ```

2. アダプターの Maven 名をアプリケーションモジュールの ビルド.gradle スクリプトに追加します。

   ```groovy
   dependencies {
      implementation 'com.unity3d.ads-mediation:admob-adapter:5.11.0'
      implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.2.1'
   }
   ```

手動ダウンロードで Admob アダプターを統合するには、以下を行います。

1. \*\*Admob Adapter のダウンロード:\*\*Admob Adapter をビルドに追加します。最新の Admob Adapter は[ここ](/grow/levelplay/sdk/android/mediation-networks.md)にあります。**重要!**Admob アダプターに Admob SDK が含まれていない。Admob SDK を直接追加**する必要**があります。

2. \*\*Admob Adapter をプロジェクトに追加します。\*\*Adapter をダウンロードしたら、Admob Adapter jar を Android プロジェクトの **libs** フォルダーにドロップします。

   ![アダプタ JAR ファイルを Android プロジェクトの libs フォルダーにドロップします。](/api/media?file=/grow/media/images/Supersonic-Mediation-Drop-Libs.png)

3. Gradle ビルドファイルの **dependencies セクション**の下に以下を追加するようにしてください。
   ```groovy
   dependencies {
      implementation 'com.unity3d.ads-mediation:admob-adapter:5.11.0'
      implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:1.2.1'
   }
   ```

## ステップ 5.AndroidManifest.xml 更新##step-5.-update-androidmanifest.xml

LevelPlay Android SDK Version 6.17.0(AdMob Android アダプタ バージョン 4.3.10 以降)では、AdMob アダプタは AAR としてリリースされます。JAR インテグレーションを維持する場合は、マニフェストを追加します。

**マニフェスト権限:**

```xml
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
```

\*\*マニフェストアクティビティ:\*\*以下のアクティビティーを **manifestAdditions** の `<application>` タグ内に追加します。

```xml
<activity android:name="com.google.android.gms.ads.AdActivity"
Android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" Android:theme="@Android:style/Theme.Translucent" />
```

V17.0.0 **(Adapter バージョン** 4.3.1 以降) では、AdMob の SDK ではパブリッシャーが AdMob App ID を`<application></application>` タグの子としてアプリケーションの AndroidManifest に追加する必要があります。

```xml
<meta-data android:name="com.google.android.gms.ads.APPLICATION_ID"
           android:value="[ADMOB_APP_ID]"/>
```

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

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

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

以下の構文を使用して、AdMob の **setTagForChildDirectedTreatment** にパラメーター TAG\_FOR\_CHILD\_DIRECTED\_TREATMENT\_true を設定します。

```java
LevelPlay.setMetaData("AdMob\_TFCD","true");
```

以下の構文を使用して、AdMob の **setTagForChildDirectedTreatment** にパラメーター TAG\_FOR\_CHILD\_DIRECTED\_TREATMENT\_FALSE を設定します。

```java
LevelPlay.setMetaData("AdMob_TFCD","false");
```

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

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

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

以下の構文を使用して、タグ\_FOR\_under\_AGE\_OF\_CONSENT\_true で **setTagForUnderAgeOfConsent** を設定します。

```java
LevelPlay.setMetaData("AdMob_TFUA","true");
```

以下の構文を使用して、タグ\_FOR\_under\_AGE\_OF\_CONSENT\_false で **setTagForUnderAgeOfConsent** を設定します。

```java
LevelPlay.setMetaData("AdMob_TFUA","false");
```

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

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

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

maxAdContentRating を設定するには、以下の構文を使用します。

```java
LevelPlay.setMetaData("AdMob_MaxContentRating","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/android/targeting#ad_content_filtering)を参照してください。

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

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

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

```java
LevelPlay.setMetaData("Google_Content_Mapping ","https://www.example.com");
```

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

```java
LevelPlay.setMetaData("Google_Content_Mapping",["https://www.example.com","https://www.example2.com"]);
```

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

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

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

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