メディエーション

このガイドでは、メディエーション アダプタを Flutter アプリに統合する方法について説明します。

前提条件

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

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

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 を更新することで追加できます。GitHub には、Android 用と iOS 用のオープンソース アダプタがあります。

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

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

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

final bannerAd = AdManagerBannerAd(
      size: [AdSize.banner],
      adUnitId: '<your-ad-unit>',
      listener: AdManagerBannerAdListener(
        onAdLoaded: (ad) {
          debugPrint('$ad loaded: ${ad.responseInfo?.mediationAdapterClassName}');
        },
      ),
      request: AdManagerAdRequest(),
    );

メディエーションでバナー広告を使用する

メディエーションで使用するバナー広告ユニットについては、すべての第三者広告ソースの UI で更新を無効にしてください。アド マネージャーでもバナー広告ユニットの更新頻度に基づいて更新が行われるため、二重に更新されることがなくなります。

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

ネイティブ メディエーションを実装する際に考慮すべきベスト プラクティスは次のとおりです。

ネイティブ広告の表示に関するポリシー
広告ネットワークごとに独自のポリシーがあります。メディエーションを使用する場合、アプリは、広告を配信したメディエーション対象ネットワークのポリシーに引き続き準拠する必要があります。

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

米国のプライバシー関連州法または一般データ保護規則(GDPR)を遵守する必要がある場合は、米国の州規制の設定または GDPR 設定の手順に沿って、アド マネージャーの「プライバシーとメッセージ」の米国州または GDPR 広告パートナーのリストにメディエーション パートナーを追加します。実装しないと、パートナーがアプリに広告を配信できなくなる可能性があります。

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