# Google AdMob インテグレーション

> アカウント設定やSDKインテグレーションなど、Adobe AIRアプリケーションのLevelPlay MediationプラットフォームにAdMobを広告ネットワークとして統合します。

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

このガイドでは、Unity LevelPlay Mediation で AdMob と AdMob ネイティブをライブ広告ネットワークとして設定する手順をステップごとに説明します。

## 前提条件

LevelPlay SDK の[インタースティシャルメディエーション](/grow/levelplay/sdk/unity/interstitial-integration.md.md)、[リワードメディエーション](/grow/levelplay/sdk/unity/rewarded-ad-integration-package.md.md)、または[バナーメディエーション](/grow/levelplay/sdk/unity/banner-integration.md.md)がアプリケーションに正しく統合されていることを確認します。

Google Ad Manager 広告は、AdMob SDK を使用して配信されます。

AdMob SDK 7.69.0 以降では、AdMob は XCFramework を使用しています。AdMob インテグレーションに CocoaPods を使用している場合は、CocoaPods Version 1.9.0 以降が必要です。

AdMob は Android オペレーティングシステムバージョン 4.1 (API レベル 16) 以降をサポートします。必要な Gradle ビルドツールは 3.5.4 です。\\

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

## ステップ 1. AdMob アカウントの作成

1. Unity LevelPlay Mediationを使用してAdMobのバナーとネイティブ広告インベントリにアクセスするには、AdMobで[アカウントを作成](https://www.google.com/admob/)する必要があります。
2. ironsource プラットフォームに合わせて AdMob アカウントのタイムゾーンを UTC に調整することをお勧めします。これにより、正確なレポートが保証されます。[詳細](https://support.google.com/admob/answer/7276705?hl=en)

## ステップ 2. Admob でのアプリケーションと広告ゾーンの作成

次に、アプリケーションを追加し、AdMob アカウントに広告ゾーンを設定する必要があります。

AdMob では、同じ設定で同じ広告タイプの広告ゾーンを 3 つ以上設定することはできません。\
例えば、メディエーショングループに対して許可されるリワード広告は3つまでです。

### アプリケーションの追加

* AdMob アカウントにログインします。ダッシュボードで、**Appsを**選択します。

* モーダルが表示されます。ここで、アプリケーションの検索、アプリケーションの手動追加、既存のアプリケーションを選択して収益化できます。

  > **Note:**
  >
  > LevelPlay アカウントと同様に、プラットフォーム (iOS + Android) ごとに一意の AdMob アプリケーションが必要です。

* 広告単位形式として、「interstitial」、「rewarded」、「banners」、または「ネイティブ advanced（バナーのネイティブ広告）」を選択し、関連する詳細を入力します。

#### Interstitial (インタースティシャル)

* **広告タイプ**：インタースティシャルではテキスト、画像、ビデオ、リッチ メディアをサポートするため、2 つのボックスはチェックしたままにしておきます。
* **広告ユニット名**: 推奨されるベストプラクティスは、Unity LevelPlay Mediation を通じて AdMob インタースティシャルに提供する広告単位として認識しやすいように、広告単位に直感的に名前を付けることです。

#### リワード広告

* **広告ユニット名**: 推奨されるベストプラクティスは、Unity LevelPlay Mediation を通じて AdMob のリワード広告を配信する広告単位として認識しやすいように、広告単位に直感的に名前を付けることです。

#### バナー

* **広告単位名**： 推奨されるベストプラクティスは、広告単位に直感的な名前を付けて、AdMobバナーを配信する広告単位として認識しやすくすることです。 Unity LevelPlay Mediation
* **eCPMフロア -** 国とウォーターフォール戦略に応じて、eCPM値を有効化して入力します。

> **Important:**
>
> 自動更新:**「Do not refresh」オプションを選択します。**(繰り返しになりますが、更新頻度はメディエーションプラットフォームでコントロールできます)

#### ネイティブ

バナーのネイティブ広告を使用すると、Google AdMob からネイティブ広告の需要にアクセスできます。つまり、Googleのネイティブとバナーの両方の需要にアクセスすることでバナーのパフォーマンスを向上させることができます。

* **広告ユニット名**: 簡単に認識できるように名前を入力します。
  * **詳細設定**：**画像**と**ビデオ**の両方を選択
  * **eCPM floor**：国とウォーターフォール戦略に従って eCPM 値を有効にして入力します。

App IDと広告単位IDを取得し、後で使用するために保存します。次に、**Done (完了**) を選択します。

## ステップ 3. LevelPlay ネットワークワーク設定モジュールで AdMob をアクティベートする

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

AdMob が LevelPlay SDK で正しく動作するためには、ironsource ネットワーク設定モジュールに AdMob アカウントのデータをいくつか挿入する必要があります。

| データ             | 説明                                          |
| --------------- | ------------------------------------------- |
| App ID (アプリ ID) | Admob のダッシュボードでアプリケーションに割り当てられた一意の ID。      |
| 広告単位 ID         | Admob のダッシュボードでアプリケーションの広告単位に割り当てられた一意の ID。 |
| クライアント ID       | アカウントと広告単位の関係を指定する一意の識別子。                   |
| クライアントシークレット    | クライアント ID とペアになる秘密鍵                         |
| リフレッシュトークン      | クライアントアプリケーションがすでに受信している更新トークン。             |

この情報を取得したら、LevelPlay アカウントで AdMob のパラメータを設定する必要があります。上記の情報を正しく追加することで、AdMob の広告インベントリと Unity LevelPlay Mediation のレポートデータを最大限に活用できるようになります。

1. **App ID (アプリ ID)**
   App ID を取得するには、Admob のプラットフォームの左側のサイドバーにある **Apps** (アプリケーション) タブに移動し、**アプリケーション設定**を選択します。アプリケーションの設定と App ID が表示されます。

![アプリ ID の場所](/api/media?file=/grow/media/images/App-ID-1.png)

2. **広告単位 ID**
   広告単位 ID を取得するには、Admob のプラットフォームの左側のサイドバーにある **Apps** (アプリケーション) タブに移動し、**Ad Units (広告単位**) を選択します。アプリケーションの広告単位と広告単位 ID が表示されます。

![広告単位 ID の場所](/api/media?file=/grow/media/images/Ad-Unit-ID.png)

3. ****Client ID and Client Secret** (クライアント ID とクライアントシークレット)**

   1. **クライアントIDとクライアントシークレット**を取得するには、[GoogleのAPI Manager](https://console.cloud.google.com/apis)にアクセスします。

   2. ページの左上にある **API Project** ドロップダウンを選択し、**Create a project** を選択するか、このアプリケーション用にすでに作成したプロジェクトを選択します。この目的で新しいプロジェクトを作成する場合は、表示されるダイアログボックスに**プロジェクト名**、**課金アカウント**、**場所**を入力し、**Create (作成**) を選択します。

   3. 左側のサイドバーで、**［Credentials］** を選択し、［**OAuth consent screen**］ タブを選択します。 このページで、\*\*Product Name (\*\*製品名) を指定します。**Save** (保存) を選択します。

   4. 左側のサイドバーで、「**ダッシュボード**\*\*」を選択し、「**ENABLE APIS AND SERVICES**」に移動します。

   5. 次に、**AdMob API** を有効にします。

   6. 左側のサイドバーで**Credentials**タブを選択します。**Create Credentials** ドロップダウンを選択し、**OAuth client ID** を選択します。

   7. **ウェブアプリケーション**を選択し、アプリケーションの名前を指定します。下のフィールドに、少なくとも 1 つの **Authorized リダイレクト URI** の[https://developers.google.com/oauthplayground](https://developers.google.com/oauthplayground)を入力する必要があります。例を次に示します。

      * **Authorized JavaScript origins：** `https://YOUR_NAMESPACE **(Optional)**`
      * **Authorized リダイレクト URI：**[https://developers.google.com/oauthplayground](https://developers.google.com/oauthplayground)

   8. **Create** を選択すると、**クライアント ID** と**クライアントシークレット**が表示されます。

4. **リフレッシュトークン**
   1. **リフレッシュトークン**を取得するには、**[OAuth 2.0 Playground](https://developers.google.com/oauthplayground/#step1\&scopes=https%3A//www.googleapis.com/auth/adwords\&url=https%3A//\&content_type=application/json\&http_method=GET\&useDefaultOauthCred=checked\&oauthEndpointSelect=Google\&oauthAuthEndpointValue=https%3A//accounts.google.com/o/oauth2/auth\&oauthTokenEndpointValue=https%3A//www.googleapis.com/oauth2/v3/token\&includeCredentials=unchecked\&accessTokenType=bearer\&autoRefreshToken=unchecked\&accessType=offline\&forceAprovalPrompt=checked\&response_type=code) に移動します。**
   2. 右上隅にある設定アイコンを選択します。**承認プロンプト**の強制というラベルのボックスをオフにし、**Use your own OAuth credentials** をオンにします。**クライアント ID** と**クライアントシークレット**を入力。

![OAuth 設定](/api/media?file=/grow/media/images/AdMob-18.png)

3. 次に、**ステップ 1:& Authorize APIs を選択し**、\*\*[https://www.googleapis.com/auth/admob.report を](https://www.googleapis.com/auth/admob.report)\*\*入力して **Authorize APIs** を選択します。

![Authorize APIs](/api/media?file=/grow/media/images/Step-1.png)

4. プロジェクトに AdMob データへのアクセスを許可します。
5. 次に、ステップ1から承認コードを受け取り、**Exchange承認コード for tokens**ボタンを選択できるようになります。次に、**更新トークン**とアクセストークンを取得します。

![リフレッシュトークン](/api/media?file=/grow/media/images/Admob-22.png)

### LevelPlay アカウントでの AdMob パラメータの設定

* これらのパラメータをすべて設定したら、Ironsource アカウントにログインし、「**Monetize（収益化）**」＞「**設定**」＞「\*\*SDK Networks（\*\*SDK ネットワーク）」に移動します。

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

* **Manage Networks** のリストから Admob を選択し、Admob **Client** **ID**、**クライアントシークレット**、**リフレッシュトークン**を入力するか、**Login with Google** オプションを選択します。

![ログイン オプション](/api/media?file=/grow/media/images/client-id.png)

![Login with Google](/api/media?file=/grow/media/images/log-in-with-google.png)

* **Save** (保存) を選択します。すると、AdMob と AdMob ネイティブが **Available Ad Networks** テーブルで有効になります。

![SDK Networks テーブル](/api/media?file=/grow/media/images/sdk-networks.png)

* 次に、AdMob で Unity LevelPlay の Mediation を実行するアプリケーションを選択します。
* Ad Networksの設定リストからAdmobを選択し、ツールの**定義**アイコンを選択します。次に、「**Interstitial**, **リワード広告** **Video** or **Banner Settings(**インタースティシャル、リワード広告ビデオ、またはバナー設定)」に**App ID**と**広告単位\*\*\*\*ID**を入力します。

![設定の定義](/api/media?file=/grow/media/images/define.png)

* Reporting API とのインテグレーションを確認します。この列では、Reporting API を通じたインテグレーションを確認し、次の 3 つの応答を返します。検証済み、失敗、無反応。インテグレーションと上で入力した情報を再確認し、**検証済み**(Verified) が表示されるまで 再試行(**Retry**) を選択します。

## ステップ 4. ビルドへの AdMob アダプタの追加##step-4.-add-the-admob-adapter-to-your-build

### AdMob ANE のダウンロード##download-the-admob-ane

AdMob Adobe ネイティブ拡張子をビルドに追加します。最新の Admob ANE はここで見つけることができます。

### Google 再生サービスのダウンロード##download-the-google-play-services

Google 再生サービス拡張子をビルドに追加します。Android 18.3.0とiOS 7.42.2でサポートされているバージョンは、こちらにあります。

### iOSのみ - 必要なXCframeworksをダウンロード##ios-only---download-the-required-xcframeworks

Google アプリケーション測定、Google ユーティリティー、および nanopb 拡張をビルドに追加します。

### Android のみ - Google 再生サービスベースのダウンロード##android-only---download-google-play-services-base

Google 再生サービスベースの拡張子をビルドに追加します。18.3.0 の supoerted バージョンは こちら にあります。

### 関連するすべての ANE をプロジェクトに追加します。##add-the-all-relevant-anes-to-your-project

1. 「プロジェクトプロパティー」＞「Flex ビルドパス」＞「ネイティブ拡張子」タブをクリックして、ANE をプロジェクトに追加します。**add ANE** を選択し、前のステップでダウンロードしたファイルを選択します。
2. Flex ビルド Packaging > ネイティブ 拡張子 タブで、アプリケーションにパッケージ化する ANE に必ずチェックマークを入れ、パッケージ のチェックボックスをオンにします。
3. 以下の拡張機能を必ず追加してください。
   Android:

```text
<extensionID>com.ironsource.adobeair.admob</extensionID>
<extensionID>com.ironsource.adobeair.google</extensionID>
<extensionID>com.ironsource.adobeair.googlebase</extensionID>
<extensionID>com.ironsource.adobeair.androidx</extensionID>
```

iOS:

```text
<extensionID>com.ironsource.adobeair.google</extensionID>
<extensionID>com.ironsource.adobeair.googleappmeasurement</extensionID>
<extensionID>com.ironsource.adobeair.googlemobileads</extensionID>
<extensionID>com.ironsource.adobeair.googlegutilities</extensionID>
<extensionID>com.ironsource.adobeair.nanopb</extensionID>
<extensionID>com.ironsource.adobeair.promisesobjc</extensionID>
<extensionID>com.ironsource.adobeair.googleusermessagingplatform</extensionID>
```

4. Android のみ:AndroidManifest.xml マニフェストアクティビティの更新

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

```text
        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version" />
        <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以降、AdMobのSDKでは、パブリッシャーがAdMob App IDをアプリケーションのAndroidマニフェストに`<application />`タグの子として追加する必要があります。

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

```

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

5. iOS のみ

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

```text
<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)を参照してください。

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

ironsource とその他の Ad Networks のインテグレーションを確認するには、この[ドキュメント](/grow/levelplay/sdk/adobe/integration-helper.md)を参照してください。

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

Unity LevelPlay を通じて追加の広告ネットワークを活用するには、アダプタを統合し、インテグレーションガイドに従います。

**Platform adapters:**

* [Unity](/grow/levelplay/sdk/unity/mediation-networks.md)
* [Android](/grow/levelplay/sdk/android/mediation-networks.md)
* [iOS](/grow/levelplay/sdk/ios/mediation-networks.md)
* [Adobe AIR](/grow/levelplay/sdk/adobe/mediation-networks.md)
* [Flutter](/grow/levelplay/sdk/flutter/mediation-networks.md)
* [React ネイティブ](/grow/levelplay/sdk/react/mediation-networks.md)
