始める

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

AdMob メディエーションは、AdMob ネットワーク、第三者広告ネットワーク、AdMob キャンペーンなど、複数のソースからの広告をアプリに配信できる機能です。広告掲載に最適なネットワークが見つかるように AdMob メディエーションが複数のネットワークに広告リクエストを送信し、広告掲載率の最大化と収益の拡大を支援します。ケーススタディ

Prerequisites

任意の広告フォーマットについてメディエーションを統合するには、その広告フォーマットをあらかじめアプリに統合しておく必要があります。

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

入札の場合: Google Mobile Ads SDK 7.53.1以降。

Mobile Ads SDK を初期化する

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

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

Swift

import GoogleMobileAds

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

  func application(_ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {

    let ads = GADMobileAds.sharedInstance()
    ads.start { status in
      // Optional: Log each adapter's initialization latency.
      let adapterStatuses = status.adapterStatusesByClassName
      for adapter in adapterStatuses {
        let adapterStatus = adapter.value
        NSLog("Adapter Name: %@, Description: %@, Latency: %f", adapter.key,
        adapterStatus.description, adapterStatus.latency)
      }

      // Start loading ads here...
    }

    return true
  }

}

Objective-C

@import GoogleMobileAds;

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

  GADMobileAds *ads = [GADMobileAds sharedInstance];
  [ads startWithCompletionHandler:^(GADInitializationStatus *status) {
    // Optional: Log each adapter's initialization latency.
    NSDictionary *adapterStatuses = [status adapterStatusesByClassName];
    for (NSString *adapter in adapterStatuses) {
      GADAdapterStatus *adapterStatus = adapterStatuses[adapter];
      NSLog(@"Adapter Name: %@, Description: %@, Latency: %f", adapter,
            adapterStatus.description, adapterStatus.latency);
    }

    // Start loading ads here...
  }];
  return YES;
}

@end

どの広告ネットワークの成果が出るかを把握する

各広告フォーマット クラスには、現在の広告の広告ネットワークのクラス名を返す adNetworkClassName を含む GADResponseInfo プロパティがあります。adNetworkClassName は、広告が正常に読み込まれた場合にのみ値を持ちます。次のコードは、バナー広告用にこの情報を取得する方法を示しています。

Swift

func adViewDidReceiveAd(_ bannerView: GADBannerView) {
  print("Banner adapter class name: \(bannerView.responseInfo.adNetworkClassName)")
}

Objective-C

- (void)adViewDidReceiveAd:(GADBannerView *)bannerView {
  NSLog(@"Banner adapter class name: %@", bannerView.responseInfo.adNetworkClassName);
}

詳しくは、広告レスポンスに関する情報を取得するをご覧ください。

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

リワード広告のメディエーション

すべての報酬値を上書きするには、 AdMob UI で報酬値を設定します。これを行うには、 メディエーション グループ内のすべてのネットワークに適用する ] チェックボックスをオンにして、すべてのネットワークで報酬を統一します。一部の広告ネットワークでは、報酬の値やタイプは提供されていません。報酬値をオーバーライドすることにより、広告を配信した広告ネットワークに関係なく、報酬は一貫しています。

AdMob 管理画面での報酬値の設定について詳しくは、リワード広告ユニットを作成するをご覧ください。

ネイティブ広告のメディエーション

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

ネイティブ広告の表示に関するポリシー
各広告ネットワークには独自のポリシーがあります。メディエーションを使用する場合でも、アプリは広告を配信したメディエーション対象ネットワークのポリシーに引き続き準拠する必要があることにご注意ください。
リクエストを行う際に GADMultipleAdsAdLoaderOptions クラスを使用しない
複数のネイティブ広告をリクエストした場合、配信できるのは Google 広告のみです。複数ネイティブ広告機能はメディエーションには対応していません。

CCPA と GDPR

カリフォルニア州消費者プライバシー法(CCPA)または一般データ保護規則(GDPR)を遵守する必要がある場合は、CCPA 設定または GDPR 設定の手順に沿って、プライバシーとメッセージに関する CCPA または GDPR 広告パートナーのリストにメディエーション パートナーを追加してください。追加しない場合、アプリに広告が配信されないことがあります。

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