開始する

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

始める前に

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

アプリの前提条件

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

    • SDK バージョン 24 以降
    • コンパイル SDK バージョン 35 以降
  • Kotlin アプリの場合は、最小 Kotlin バージョン 1.9 を使用します。

AdMob アカウントでアプリを設定する

次の手順に沿って、アプリを AdMob アプリとして登録します。

  1. AdMob アカウントにログインまたは登録します。

  2. AdMob にアプリを登録します。この手順では、ガイドの後半で必要になる固有の AdMob アプリケーション ID を使用して、AdMob アプリを作成します。

アプリを設定する

  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.libraries.ads.mobile.sdk:ads-mobile-sdk:0.21.0-beta01")
    }

    Groovy

    dependencies {
      implementation 'com.google.android.libraries.ads.mobile.sdk:ads-mobile-sdk:0.21.0-beta01'
    }
  3. [Sync Now](今すぐ同期)をクリックします。同期について詳しくは、プロジェクトと Gradle ファイルを同期するをご覧ください。

Google Mobile Ads SDK を初期化する(ベータ版)

MobileAds.initialize() を呼び出して、Google Mobile Ads SDK(ベータ版)を初期化します。このメソッドはバックグラウンド スレッドで呼び出す必要があります。そうしないと、アプリケーション応答なし(ANR)エラーが発生する可能性があります。

Kotlin

import com.google.android.libraries.ads.mobile.sdk.MobileAds
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig
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 Google Mobile Ads SDK (beta) on a background thread.
      MobileAds.initialize(
        this@MainActivity,
        // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
        InitializationConfig.Builder("SAMPLE_APP_ID").build()
      ) {
        // Adapter initialization is complete.
      }
      // Other methods on MobileAds can now be called.
    }
  }
}

Java

import com.google.android.libraries.ads.mobile.sdk.MobileAds;
import com.google.android.libraries.ads.mobile.sdk.initialization.InitializationConfig;

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

    new Thread(
            () -> {
              // Initialize Google Mobile Ads SDK (beta) on a background thread.
              MobileAds.initialize(
                  this,
                  // Sample AdMob app ID: ca-app-pub-3940256099942544~3347511713
                  new InitializationConfig.Builder("SAMPLE_APP_ID")
                      .build(),
                  initializationStatus -> {
                    // Adapter initialization is complete.
                  });
              // Other methods on MobileAds can now be called.
            })
        .start();
  }
}

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

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

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

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

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

バナー広告を実装する

インタースティシャル

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

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

特典

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

リワード広告を実装する

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

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

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

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

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

アプリ起動

アプリ起動時広告は、ユーザーがお客様のアプリを開いたりお客様のアプリに切り替えりした際に表示される広告フォーマットです。これは、読み込み画面に重ねて表示されます。

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