開始する

Google Mobile Ads SDK のアプリへの統合は、広告を表示して収益を得るための第一歩です。SDK を統合したら広告フォーマット(ネイティブ広告やリワード動画広告など)を選択し、手順に沿って実装してください。

始める前に

アプリを準備するには、以下のセクションに示す手順を完了します。

アプリの前提条件

  • アプリのビルドファイルで次の値が使用されていることを確認します。

    • 最小 SDK バージョンが 21 以上
    • 34 以降の Compile SDK バージョン

アプリを設定する

  1. Gradle 設定ファイルに、Google の Maven リポジトリMaven セントラル リポジトリを含めます。

    Kotlin

    pluginManagement {
      repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
      }
    }
    
    dependencyResolutionManagement {
      repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
      repositories {
        google()
        mavenCentral()
      }
    }
    
    rootProject.name = "My Application"
    include(":app")

    Groovy

    pluginManagement {
      repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
      }
    }
    
    dependencyResolutionManagement {
      repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
      repositories {
        google()
        mavenCentral()
      }
    }
    
    rootProject.name = "My Application"
    include ':app'
  2. Google Mobile Ads SDK の依存関係をアプリレベルのビルドファイルに追加します。

    Kotlin

    dependencies {
      implementation("com.google.android.gms:play-services-ads:23.5.0")
    }

    Groovy

    dependencies {
      implementation 'com.google.android.gms:play-services-ads:23.5.0'
    }
  3. アプリの AndroidManifest.xml ファイルに、アド マネージャーのウェブ インターフェースで確認したアド マネージャー アプリ ID を追加します。追加するには、android:name="com.google.android.gms.ads.APPLICATION_ID" を持つ <meta-data> タグを追加します。アプリ ID は、アド マネージャーのウェブ管理画面で確認できます。android:value には、ご自身のアド マネージャー アプリ ID を引用符で囲んで挿入します。

    <manifest>
      <application>
        <!-- Sample Ad Manager app ID: ca-app-pub-3940256099942544~3347511713 -->
        <meta-data
            android:name="com.google.android.gms.ads.APPLICATION_ID"
            android:value="
    /<network_code>~<application_id>"/>
      </application>
    </manifest>
    

    実際のアプリでは、サンプルのアプリ ID を実際のアド マネージャー アプリ ID に置き換えます。Hello World アプリで SDK を試すだけであれば、サンプル ID を使用できます。

    また、上記のように <meta-data> タグを正確に追加しなかった場合、次のメッセージが表示されてクラッシュします。

    Missing application ID.
    

    (省略可)以前のバージョンが Android 13 と連携するように、AD_ID 権限を申告します。

    アプリで Google Mobile Ads SDK バージョン 20.4.0 以降を使用している場合、SDK は自動的に com.google.android.gms.permission.AD_ID 権限を申告し、利用可能な広告 ID にアクセスできるため、この手順は省略できます。

    Google Mobile Ads SDK バージョン 20.3.0 以前を使用し、Android 13 をターゲティングしているアプリの場合、広告 ID にアクセスするには、Google Mobile Ads SDK の AndroidManifest.xml ファイルに com.google.android.gms.permission.AD_ID 権限を追加する必要があります。

    <manifest>
     <application>
       <meta-data
           android:name="com.google.android.gms.ads.APPLICATION_ID"
           android:value="ca-app-pub-xxxxxxxxxxxxxxxx~yyyyyyyyyy"/>
    
       <!-- For apps targeting Android 13 or higher & GMA SDK version 20.3.0 or lower -->
       <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
    
     </application>
    </manifest>

    権限を無効にする方法など、com.google.android.gms.permission.AD_ID 権限の申告について詳しくは、こちらの Google Play Console に関する記事をご参照ください。

Google Mobile Ads SDK を初期化する

広告を読み込む前に、MobileAds.initialize() を呼び出して Google Mobile Ads SDK を初期化します。

このメソッドは SDK を初期化し、Google Mobile Ads SDK とアダプタの両方の初期化が完了した後、または 30 秒のタイムアウト後に完了リスナーを呼び出します。この処理は 1 回だけ行います(アプリの起動時に行うのが理想的です)。

初期化時に、Google Mobile Ads SDK またはメディエーション パートナーの SDK によって広告が事前に読み込まれる場合があります。欧州経済領域(EEA)内のユーザーから同意を得る必要がある場合は、リクエスト固有のフラグ(setTagForChildDirectedTreatment()setTagForUnderAgeOfConsent() など)を設定するか、広告が読み込まれる前になんらかの対応策を取ったうえで、Google Mobile Ads SDK を初期化するようにしてください。

アクティビティ内のバックグラウンド スレッドで initialize() メソッドを呼び出す方法の例を次に示します。

Java

import com.google.android.gms.ads.MobileAds;
import com.google.android.gms.ads.initialization.InitializationStatus;
import com.google.android.gms.ads.initialization.OnInitializationCompleteListener;

public class MainActivity extends AppCompatActivity {
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    new Thread(
            () -> {
              // Initialize the Google Mobile Ads SDK on a background thread.
              MobileAds.initialize(this, initializationStatus -> {});
            })
        .start();
  }
}

Kotlin

import com.google.android.gms.ads.MobileAds
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch

class MainActivity : AppCompatActivity() {
  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_main)

    val backgroundScope = CoroutineScope(Dispatchers.IO)
    backgroundScope.launch {
      // Initialize the Google Mobile Ads SDK on a background thread.
      MobileAds.initialize(this@MainActivity) {}
    }
  }
}

広告フォーマットを選択します

これで Google Mobile Ads SDK がインポートされ、広告を実装できるようになりました。 アド マネージャーにはさまざまな広告フォーマットが用意されており、アプリのユーザー エクスペリエンスに最適なものを選択できます。

バナー広告ユニットには、アプリのレイアウト内の一部分を使用する長方形の広告が表示されます。設定した時間が経過すると自動的に更新されます。そのため、アプリで同じ画面を表示していてもユーザーには定期的に新しい広告が表示されます。また、バナー広告ユニットは最も簡単に実装できる広告フォーマットでもあります。

バナー広告を実装する

インタースティシャル

インタースティシャル広告ユニットでは、アプリに全画面広告が表示されます。この広告ユニットは、アプリの流れが自然に途切れるタイミングや画面の切り替え時(ゲームアプリでレベルをクリアした後など)に配置します。

インタースティシャル広告を実装する

ネイティブ

ネイティブ広告は、広告見出しや行動を促すフレーズなどのアセットをアプリに表示する方法をカスタマイズできる広告です。広告のスタイルを自分で設定することで、自然かつコンテンツの邪魔にならないように広告を表示し、ユーザー エクスペリエンスを向上させることができます。

Google アド マネージャーでは、ネイティブ広告を実装する方法として、ネイティブ スタイルとカスタム レンダリングによる標準ネイティブ広告の 2 種類が用意されています。

ネイティブ スタイルは、ネイティブ広告の実装を簡素化するように設計されているため、このフォーマットにまだ慣れていないユーザーにとって最適な選択肢です。カスタム レンダリングは、より自由に内容を構成できるよう設計されています。

ネイティブ スタイルを実装する ネイティブ広告を実装する(カスタム レンダリング)

特典

リワード広告ユニットを使用すると、ゲームをプレイしたり、アンケートに答えたり、動画を視聴したりしたユーザーに報酬として、コイン、追加ライフ、ポイントなどのアプリ内アイテムを進呈できます。広告ユニットごとに異なる報酬を設定し、ユーザーが受け取る報酬の価値やアイテムを指定できます。

リワード広告を実装する

リワード インタースティシャル

リワード インタースティシャルは、アプリの画面が変わる自然なタイミングで自動的に表示される広告に対して報酬(例: コイン、追加ライフ)を提供できる、新しいタイプのインセンティブ広告フォーマットです。

リワード広告とは異なり、ユーザーはリワード インタースティシャルを表示するためにオプトインする必要はありません。

リワード広告のオプトイン プロンプトの代わりに、リワード インタースティシャルでは、報酬について通知し、ユーザーが希望する場合にはオプトアウトできる選択肢を提示する導入画面が必要です。

リワード インタースティシャル広告を実装する

アプリの起動

アプリ起動時広告は、ユーザーがアプリを開いたときや、アプリに戻ったときに表示される広告フォーマットです。広告は読み込み画面にオーバーレイ表示されます。

アプリ起動時広告を実装する

参考情報

GitHub の Google モバイル広告リポジトリは、この API に用意されているさまざまな広告フォーマットの使い方を示しています。