Google AdMob 実装ガイド

このガイドでは、Unity LevelPlay メディエーションで AdMob と AdMob ネイティブをアドネットワークとして設定する方法を説明します。

Before you start ironSource SDKの動画リワードインタースティシャル、またはバナーがアプリケーションに正しく実装されていることを確認してください。

AdMob SDK 7.69.0 以降では、AdMob は XCFramework を使用しています。 AdMob 実装に CocoaPods を使用している場合は、CocoaPods バージョン 1.9.0 以降を使用していることを確認してください。

AdMob は Android オペレーティング システム バージョン 4.1 (API レベル 16) 以降をサポートしています。必要な Gradle Build Tool は 3.5.4 です。
AndroidX のサポートについては、こちらをご覧ください。

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

ステップ 1. AdMob アカウントを作成する

  1. Unity LevelPlay メディエーションを通じて AdMob のバナーとネイティブ広告を配信するには、AdMob でアカウントを作成する必要があります。
  2. ironSource プラットフォームに合わせて、AdMob アカウントのタイムゾーンを UTC に設定することをおすすめします。これにより、レポートの正確性が保証されます。詳細はこちら

ステップ 2. Admob でアプリケーションと広告ユニットを作成する

次に、アプリを追加し、AdMob アカウントに広告ユニットを設定する必要があります。

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

アプリを追加する

  • AdMob アカウントにログインし、ダッシュボードで「 Apps 」をクリックします。
  • モーダルが表示されるので、アプリを検索するか、アプリを手動で追加するか、収益化する既存のアプリを選択します。
    add-your-app
    Note: ironSource アカウントと同様に、プラットフォーム( iOS + Android )ごとに固有の AdMob アプリケーションが必要です。
  • 広告ユニットのフォーマットから、インタースティシャル、動画リワード、バナー、またはネイティブアドバンス(バナー用のネイティブ広告)を選択し、詳細を入力します。
  • インタースティシャル
    • Ad Type:インタースティシャルではテキスト、画像、ビデオ、リッチメディアがサポートされているため、2 つのボックスをオンのままにすることができます。
    • Ad unit name:Unity LevelPlay メディエーションで AdMob インタースティシャルを配信する広告ユニットとして認識しやすいように、広告ユニットには直感的な名前を付けることをお勧めします。
      create-ad-unit-interstitial
  • 動画リワード
    • Ad unit name:Unity LevelPlay メディエーションで AdMob の動画リワードを配信する広告ユニットとして認識しやすいように、広告ユニットに直感的な名前を付けることをお勧めします。
      create-ad-unit-rv
  • バナー
    • Ad Unit Name:Unity LevelPlay メディエーションで AdMob のバナーを配信する広告ユニットとして認識しやすいように、広告ユニットに直感的な名前を付けることをお勧めします。
    • eCPM floor:国とウォーターフォールの戦略に基づいて eCPM 値を有効にして入力します。

Important!
自動リフレッシュ:「 Do not refresh 」を選択します。(注 – メディエーションプラットフォームでリフレッシュレートを制御できます)

  • ネイティブバナー

バナーのネイティブ広告を使用すると、Google AdMob からのネイティブ広告の在庫へアクセスできます。これは、Google のネイティブとバナー両方の在庫にアクセスすることで、バナーのパフォーマンスを向上できることを意味します。

    • Ad unit name:わかりやすい名前を入力します。
    • Advanced settings:「 Image 」と「 Video 」両方を選択します。
    • eCPM floor:国とウォーターフォールの戦略に基づいて eCPM 値を有効にして入力します。

App ID と Ad Unit ID を取得し、後で使用できるように保存します。次に、「 Done 」をクリックします。
app-id-ad-unit-id

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

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

admob-1

AdMob が ironSource SDK で正しく動作するためには、AdMob アカウントのいくつかのデータを「 LevelPlay Networks 」モジュールに設定する必要があります:

App ID
AdMob ダッシュボードでアプリに割り当てられたユニーク ID
Ad Unit ID
AdMob のダッシュボードでアプリの広告ユニットに割り当てられるユニーク ID
Client ID
アカウントと広告ユニットの関係を指定する一意の識別子
Client Secret
Client IDに紐づく秘密鍵
Refresh Token
クライアントアプリケーションへ付与されたリフレッシュトークン

この情報を取得したら、LevelPlay で AdMob のパラメータを設定する必要があります。上記の情報を正しく入力すると、AdMob の広告在庫と Unity LevelPlay メディエーションのレポートデータを最大限に活用できるようになります。

      1. App ID
        App ID を取得するには、AdMob プラットフォームの左側のサイドバーにある「 Apps 」 タブに移動し、「 App settings 」をクリックします。アプリケーションの設定と App ID が表示されます。
        app-id
      2. Ad Unit ID
        Ad Unit ID を取得するには、Admob プラットフォームの左側のサイドバーにある「 Apps 」 タブに移動し、「 Ad Units 」をクリックします。アプリケーションの広告ユニットと Ad Unit ID が表示されます。
        ad-unit-id
      3. Client ID  and Client Secret
        1. Client ID と Client Secret を取得するには、Google の API マネージャーに移動します。
        2. ページの左上にある「 API Project 」ドロップダウンをクリックし、「 Create a project 」を選択するか、このアプリ用に既に作成したプロジェクトを選択します:1admob
          この目的のため新しいプロジェクトを作成する場合は、表示されるダイアログ ボックスに「 Project Name 」、「 Billing account 」、「 Location 」を入力し、「 Create 」をクリックします:
        3. 左側のサイドバーで、「 Credentials 」を選択し、「 OAuth consent screen 」タブを選択します。このページでは、製品名を入力します。 「 Product Name 」をクリックします。「 Save 」をクリックします:admob-2
        4. 左側のサイドバーで「 Dashboard 」を選択し、「 ENABLE APIS AND SERVICES 」に移動します:
        5. 次に、AdMob API を有効にします:
        6. 左側のサイドバーで「 Credentials 」タブを選択します。「 Create Credentials 」ドロップダウンをクリックし、「 OAuth client ID 」を選択します。3admob
        7. Web application 」を選択し、アプリの名前を指定します。以下のフィールドに、少なくとも 1 つの承認済みリダイレクト URI として https://developers.google.com/oauthplayground を入力する必要があります。以下例:
          • Authorized JavaScript origins: https://YOUR_NAMESPACE (Optional)
          • Authorized redirect URI: https://developers.google.com/oauthplayground admob-6
        8. Create 」をクリックすると、「 Client ID 」と「 Client Secret 」が表示されます:
          Supersonic Mediation AM Client ID Secret
      4. Refresh Token
        1. Refresh Token 」を取得するには、「 OAuth 2.0 Playground 」に移動します。
        2. 右上隅にある設定アイコンをクリックします。 「 Force approval prompt 」というラベルの付いたボックスのチェックを外し、「 Use your own OAuth credentials 」にチェックを入れます。「 Client ID 」と「 Client Secret 」を入力します。
          Admob 18
        3. 次に、「 Step 1: Select & Authorize APIs 」で、「 https://www.googleapis.com/auth/admob.report 」と入力し、「 Authorize APIs 」をクリックします:
        4. プロジェクトに AdMob データへのアクセスを許可します。
        5. Step 1 で認証コードを受け取り、「 Exchange authorization code for tokens 」 ボタンをクリックできるようになります。次に、「 Refresh Token 」と「 Access Token 」を取得します。
          Admob 22

LevelPlay で AdMob パラメータを設定する

      • これらのパラメータをすべて取得したら、LevelPlay にログインし、MonetizeSETUPSDK Networks に移動します。
      • Manage Networks 」のリストから 「 AdMob 」 を選択し、Admob の「 Client ID 」、「 Client Secret 」、および「 Refresh Token 」 を入力するか、「 Login with Google 」オプションをクリックします。

        Login with Google:
      • Save 」をクリックします。 AdMob と AdMob ネイティブが「 Available Networks 」で有効になります。
      • 次に、Unity LevelPlay メディエーションで AdMob を配信するアプリを選択します。
      • アドネットワークの設定リストから AdMob を選択し、ツールの「 Setup 」ボタンまたは「編集」アイコンをクリックします。次に、インタースティシャル、動画リワード、またはバナーの設定に「 App ID 」と「 Ad Unit ID 」を挿入します。
      • Reporting API の連携を確認します。この列では、Reporting API を通じて連携がチェックされ、「 Verified 」、「 Failed 」、「 No Response 」のうち、いずれかの応答が返されます。実装と入力した情報を再確認し、「 Verified 」が表示されるまで「 Retry 」をクリックします。

ステップ 4. AdMob アダプターをビルドに追加する

Unity Network Manager(推奨)

SDK の実装が完了すると、Unity Network Manager を使用して AdMob アダプターをダウンロードできます。

Unity 開発プラットフォームで、Ads Mediation > Network Manager へ移動します。

すでに最新バージョンのアダプターが実装されている場合は、アクションボタンが「 Updated 」に変更され、無効になります。

Android (Manual Resolve)

変更を適用するには、必ず「 Resolve 」プロセスを使用してください。これにより、選択されたネットワークに関連するすべてのアーティファクトがダウンロードされます。詳細については、こちらの手順を参照してください。

AdMob App ID を追加する

Android
AdMob App ID をアプリの AndroidManifest に <application> タグの子要素として追加します:

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

[ADMOB_APP_ID] をステップ 3 で取得した App ID 値で置き換えます。
この設定が漏れていると、AdMob の SDK に起因するクラッシュが発生します。詳細については、AdMob のガイドを参照してください。

iOS
こちらで説明されているように、AdMob アプリ ID をアプリの plist に追加します。
あるいは、この変更をプログラムで行うこともできます。

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

「 GADApplicationIdentifier 」の値を、ステップ 3 で取得した App ID の値に置き換えます。

Android プラグイン手動実装

  1. AdMob アダプターをダウンロード:
    こちらからAdMob アダプターと SDK (AAR) をダウンロードします。
  2. AdMob ファイルを Unity プロジェクトに追加:
    ファイルを Assets/Plugins/Android にインポートします。
  3. AdMob App ID を AndroidManifest の <application> タグの子要素として追加します:
    <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID"
               android:value="[ADMOB_APP_ID]"/>
    

    [ADMOB_APP_ID] をステップ 3 で取得した App ID 値で置き換えます。
    この設定が漏れていると、AdMob の SDK に起因するクラッシュが発生します。詳細については、AdMob のガイドを参照してください。

iOS プラグイン手動実装

  1. AdMob アダプターと SDK をダウンロード:
    こちらからAdMob アダプターと SDK をダウンロードします。
  2. AdMob アダプターを Unity プロジェクトに追加:
    アダプターファイルを Assets/Plugins/iOS にインポートします。
  3. SDK を Xcode プロジェクトに追加:
    Unity3D は XCFrameworks をサポートしていないため、SDK の XCFrameworks を Xcode プロジェクトに直接追加してください。
  4. こちらのドキュメントに従って、AdMob App ID をアプリの plist に追加します。
    あるいは、この変更をプログラムで行うこともできます。
    <key>GADApplicationIdentifier</key>
    <string>[APP_ID]</string>

    「 GADApplicationIdentifier 」の値を、手順 3 で取得した App ID の値に置き換えます。

ステップ 5. Info.plist を更新する

AdMob SDK v7.42.0(アダプター v4.3.3 iOS/Unity)以降、こちらで説明されているように、パブリッシャーは AdMob App ID をアプリの plist に追加する必要があります。
あるいは、この変更をプログラムで行うこともできます。

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

「 GADApplicationIdentifier 」の値を、ステップ 3 で取得した App ID の値に置き換えます。
この設定が漏れていると、AdMob の SDK に起因するクラッシュが発生します。詳細については、AdMob のガイドを参照してください。

ステップ 6. 追加設定

子供向けアプリの設定 – COPPA

Unity LevelPlay メディエーションでは、パブリッシャーは AdMob の子供向け設定を AdMob ネットワークに直接伝えることができます。
この機能は、ironSource SDK 6.14.0 以降、AdMob Unity アダプター 4.3.12 以降を使用して有効になります。

AdMob の setTagForChildDirectedTreatment にパラメータ「 True 」を設定するには、次の構文を使用します:

 IronSource.Agent.setMetaData("AdMob_TFCD","true");

AdMob の setTagForChildDirectedTreatment にパラメータ「 False 」を設定するには、次の構文を使用します:

 IronSource.Agent.setMetaData("AdMob_TFCD","false");

AdMob ネットワークでの子供向けアプリの設定についての詳細は、こちらをご覧ください。

同意年齢に満たないユーザー – GDPR

Unity LevelPlay メディエーションでは、パブリッシャーは AdMob ネットワークの「ヨーロッパの同意年齢に満たないユーザー向けのタグ(TFUA)」 の設定が可能です。
この機能は、ironSource SDK 6.14.0 以降、AdMob Unity アダプター 4.3.12 以降を使用して有効になります。

setTagForUnderAgeOfConsent を「 True 」に設定するには、次の構文を使用します:

 IronSource.Agent.setMetaData("AdMob_TFUA","true");

setTagForUnderAgeOfConsent を「 False 」に設定するには、次の構文を使用します:

 IronSource.Agent.setMetaData("AdMob_TFUA","false");

AdMob ネットワークでの子供向けアプリの設定についての詳細は、こちらをご覧ください。

広告コンテンツのフィルタリング

Unity LevelPlay メディエーションでは、パブリッシャーは AdMob ネットワークと通信し、すべての広告リクエストに対して広告コンテンツのレーティングを最大化できます。
この機能は、ironSource SDK 7.12.0 以降、AdMob Unity アダプター 4.3.23 以降を使用して有効になります。

maxAdContentRating を設定するには、次の構文を使用します:

IronSource.Agent.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 ネットワークでの広告コンテンツレーティングプロパティについての詳細は、こちらをご覧ください。

コンテンツ URL マッピングのサポート

Unity LevelPlay は、アプリ向けの Google のコンテンツマッピングをサポートしており、「 Google_Content_Mapping 」設定を使用して URL を共有できます。この機能は、ironSource SDK 7.7.0 以降、AdMob Unity アダプター 4.3.58 以降を使用して有効になります。Google のコンテンツマッピングについての詳細は、こちらをご覧ください。

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

IronSource.Agent.setMetaData("Google_Content_Mapping","https://www.example.com");

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

IronSource.Agent.setMetaData("Google_Content_Mapping",["https://www.expamle1.com","https://www.example2.com"]);

Note: アドネットワークの実装を確認する
ironSource SDK は、メディエーションの実装が正常に完了したことを確認する簡単な方法を提供しています。 ironSource SDK と追加のアドネットワークの実装を確認するには、こちらのドキュメントを参照してください。

完了!
これで、アプリで AdMob 広告を配信する準備ができました。!


次のステップは?

Unity LevelPlay でさらに他のアドネットワークを活用するには、アダプターを実装し、ガイドに従って設定してください。