Ad Exchange への直接アクセスを設定する

Google Mobile Ads SDK は、Ad Exchange プロパティを使ったアプリの収益化に対応しています。このガイドでは、Ad Exchange でサポートされているすべての広告フォーマット向けにアプリを設定する方法について説明します。

前提条件

Ad Exchange にアクセスできるようにアプリを設定する

アプリの Info.plist ファイルを更新して、GADApplicationIdentifier キーにアド マネージャー アプリ ID の文字列値(アド マネージャーの管理画面で確認)を設定します。

また、前述のように info.plist ファイルで GADApplicationIdentifier キーを設定しなかった場合、次のメッセージが表示されてクラッシュします。

Terminating app due to uncaught exception 'GADInvalidInitializationException',
reason: 'The Google Mobile Ads SDK was initialized without an application ID.
Google AdMob publishers, follow instructions at
https://googlemobileadssdk.page.link/admob-ios-update-plist to set a valid
application ID. Google Ad Manager publishers, follow instructions at
https://googlemobileadssdk.page.link/ad-manager-ios-update-plist.'

次に、表示する広告フォーマットを選択します。これ以降は、Ad Exchange から広告を読み込む方法を説明するために、バナー形式を使用します。Google Mobile Ads SDK でサポートされている広告フォーマットにも同じ手順を適用できます。

Ad Exchange から広告を読み込む

アプリでは、広告ユニット ID の代わりに、末尾にスラッシュが付いた Ad Exchange のウェブ プロパティ コードを使用できます。

バナー広告を読み込んで表示するには、GAMBannerViewadUnitID が必要です。このプロパティを Ad Exchange ウェブ プロパティ ID に設定するには、次のように設定します。

override func viewDidLoad() {
  super.viewDidLoad()
  ...

  bannerView.adUnitID = "ca-mb-app-pub-5629679302779023/"
  bannerView.rootViewController = self
}

上記のように Ad Exchange のウェブ プロパティ コードに末尾のスラッシュを追加しないと、広告リクエスト エラーが発生し、次のメッセージが表示されます。

Invalid Request. Cannot determine request type. Is your ad unit id correct?

Ad Exchange のウェブ プロパティ コードを広告ユニットに変換することもできます。 その後、アド マネージャーの管理画面から Ad Exchange タグを生成してアプリにコピーできます。生成されたタグには、Ad Exchange のウェブ プロパティ コードと、その後にスラッシュを付けずに子孫の広告ユニット ID が続く必要があります(例: ca-mb-app-pub-5629679302779023/banner)。

GAMBannerView を配置してプロパティを設定したら、広告を読み込み広告イベントを使って広告の動作をカスタマイズできます。

これで完了です。これで、アプリで Ad Exchange からバナー広告を読み込んで表示できるようになりました。

また、Ad Exchange ウェブ プロパティを使用して、Ad Exchange から他の広告フォーマットを読み込んで表示することもできます。手順については、

(ヨーロッパの承認済みパブリッシャー様のみ)最小価格を追加する

「最小価格」機能のリクエストを送信できます。

承認されたら、広告リクエストに pubf パラメータと pvtf パラメータを使用して、公開最小価格または非公開最小価格を含めることができます。次のコード例で、「123」をマイクロ単位での最小価格とネットワークのデフォルト通貨にそれぞれ置き換えます。マイクロ単位の適用例: デフォルトの通貨が USD の場合、「6000000」を入力すると 6.00 ドルに相当します。

Swift

let extras = GADAdNetworkExtras()
extras.additionalParameters = ["pubf": "123", "pvtf": "123"]

let request = GAMRequest()
request.register(extras)

Objective-C

GADAdNetworkExtras *extras = [[GADAdNetworkExtras alloc] init];
extras.additionalParameters = @{@"pubf": @"123", @"pvtf": @"123"};

GAMRequest *request = [GAMRequest request];
[request registerAdNetworkExtras:extras];