メディエーション

AdMob メディエーションは、AdMob ネットワークや第三者の広告ソースなど複数のソースからの広告を 1 か所でアプリに配信できる機能です。AdMob メディエーションが複数のネットワークに広告リクエストを送信し、広告配信に最適なネットワークを特定するため、広告掲載率を最大限に高めて収益の向上を図ることができます。事例紹介はこちらをご覧ください。

前提条件

特定の広告フォーマットのメディエーションを組み込むには、その広告フォーマットを事前にアプリに統合しておく必要があります。

メディエーションを初めてご利用の場合は、AdMob メディエーションの概要をご覧ください。

Mobile Ads SDK を初期化する

クイック スタートガイドでは、Mobile Ads SDK を初期化する方法を説明します。この初期化の呼び出し中に、メディエーション アダプタも初期化されます。最初の広告リクエストですべての広告ネットワークからの参加が確実に行われるように、初期化が完了するのを待ってから広告を読み込むことが重要です。

次のサンプルコードは、広告リクエストを行う前に各アダプタの初期化状況を確認する方法を示しています。

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  
  MobileAds.instance.initialize()
    .then((initializationStatus) {
      initializationStatus.adapterStatuses.forEach((key, value) {
        debugPrint('Adapter status for $key: ${value.description}');
      });
  });
  
  runApp(MyApp());
}

Gradle の設定を更新する(Android のみ)

settings.gradle ファイルに次の行を追加して、プラグインの Android API を使用できるようにします。

def flutterProjectRoot = rootProject.projectDir.parentFile.toPath()
def plugins = new Properties()
def pluginsFile = new File(flutterProjectRoot.toFile(), '.flutter-plugins')
if (pluginsFile.exists()) {
    pluginsFile.withInputStream { stream -> plugins.load(stream) }
}

plugins.each { name, path ->
    def pluginDirectory = flutterProjectRoot.resolve(path).resolve('android').toFile()
    include ":$name"
    project(":$name").projectDir = pluginDirectory
}

パートナー ネットワークの依存関係を追加する

メディエーション アダプターとその依存関係を Android プロジェクトと iOS プロジェクトに追加する必要があります。これらは、Android ではアプリレベルの build.gradle ファイルを更新し、iOS では Podfile を更新することで追加できます。Google は、AndroidiOS の両方に対応したオープンソースのアダプタを GitHub で公開しています。

アプリにアダプターを追加する方法については、各パートナー ネットワークの AndroidiOS のドキュメントをご覧ください。

広告を読み込んだ広告ネットワーク アダプタのクラスを確認する

次のサンプルコードは、バナー広告の広告ネットワーク クラス名をログに記録する方法を示しています。

final bannerAd = BannerAd(
      size: AdSize.banner,
      adUnitId: '<your-ad-unit>',
      listener: BannerAdListener(
        onAdLoaded: (ad) {
          debugPrint('$ad loaded: ${ad.responseInfo?.mediationAdapterClassName}');
        },
      ),
      request: AdRequest(),
    );

AdMob メディエーションで使用するバナー広告ユニットについては、すべての第三者広告ソースの管理画面で更新を無効にしてください。これにより、更新の重複を防ぐことができます。AdMob でもバナー広告ユニットの更新頻度に基づいて更新が行われるためです。

AdMob メディエーションでネイティブ広告を使用する

AdMob メディエーションにネイティブ広告を実装する際のおすすめの方法は次のとおりです。

ネイティブ広告プレゼンテーション ポリシー
各広告ネットワークには独自のポリシーがあります。メディエーションを使用する場合は、広告を提供したメディエーション対象ネットワークのポリシーにアプリが準拠している必要があります。

米国のプライバシー関連州法と GDPR

米国のプライバシー関連州法または一般データ保護規則(GDPR)に準拠する必要がある場合は、米国の州の規制の設定またはGDPR の設定の手順に沿って、AdMob の [プライバシーとメッセージ] の米国の州または GDPR の広告パートナーのリストにメディエーション パートナーを追加してください。追加しない場合、アプリに広告が配信されないことがあります。

詳しくは、Google User Messaging Platform(UMP)SDK制限付きデータ処理(RDP)を有効にして GDPR の同意を得る方法をご覧ください。