iOS で調停する

この記事では、iOS SDK のメディエーション アダプターをインストールして構成する方法について説明します。

概要

メディエーションを使用すると、アプリは iOS SDK を通じて複数の広告ネットワークから広告をリクエストできます。 各アダプターは、iOS SDK をネットワーク SDK に接続します。 広告要求中、メディエーションは、1 つの要求が満たされるか、要求がなくなるまで、構成されたデマンド ソースをチェックします。

サポートされているネットワークとメディアの種類

以下のメディエーション・アダプターおよびメディア・タイプがサポートされています。

需要ソース ネットワーク SDK バージョン バナー Interstitial ネイティブ ドキュメント
Google AdMob 12.8.0 はい はい はい AdMob メディエーション
Google 広告マネージャー 12.8.0 はい はい 不要 Google 広告マネージャー メディエーション
SmartAdServer 7.24.2 はい はい 不要 SmartAdServer SDK ドキュメント

要件

  • アプリは iOS 15.0 以降をターゲットにする必要があります。
  • サポートされている iOS SDK リリースをインストールします。 手順については、 iOS SDK の統合手順を参照してください。
  • 仲介する各ネットワークにアダプターを追加します。

メディエーション アダプターをインストールする

Swift パッケージ マネージャーを使用して、一方または両方のメディエーション アダプター パッケージを追加します。 各パッケージは、互換性のある iOS SDK およびサードパーティのネットワーク SDK の依存関係を宣言し、Swift パッケージ マネージャー によって自動的に解決されます。

Google AdMob または Google Ad Manager の場合は、次のパッケージを追加し、 ANGoogleAdapter 製品を選択します。

https://github.com/appnexus/mobile-sdk-ios-mediation-google

SmartAdServer の場合は、次のパッケージを追加し、 ANSmartAdapter 製品を選択します。

https://github.com/appnexus/mobile-sdk-ios-mediation-smartadserver

アダプターごと:

  1. プロジェクトを Xcode で開きます。
  2. プロジェクト ナビゲーターでプロジェクトを選択し、[ Package Dependencies] を選択します。
  3. [ + ] ボタンを選択し、上に示すパッケージ URL のいずれかを入力して、 Return キーを押します。
  4. プロジェクトに合ったバージョン設定を選択します。 新しいプロジェクトの場合は、[ 次のメジャー バージョンまで] を選択します。 次に、[ パッケージの追加] を選択します。
  5. 上記に示したアダプター製品とアプリ ターゲットを選択し、[ パッケージの追加] を選択します。
  6. [ パッケージの依存関係] の下にアダプターが表示されることを確認します。

アダプターをインストールしたら、各アダプターの設定を完了してから広告を読み込みます。

Google Mobile Ads SDK

ANGoogleAdapter パッケージは、Google AdMob と Google Ad Manager の需要に対応しています。 どちらのデマンド ソースもバナー広告とインタースティシャル広告をサポートします。 ネイティブ メディエーションは AdMob でのみ使用できます。

Google アプリ ID を追加する (AdMob と Google Ad Manager)

アプリのInfo.plistに GADApplicationIdentifier キーを追加します。 その値を AdMob または Google アド マネージャー アプリ ID に設定します。 このアプリレベルの設定は、すべての Google 広告フォーマットに適用されます。

<key>GADApplicationIdentifier</key>
<string>ca-app-pub-################~##########</string>

コンテンツ URL を渡す (AdMob と Google Ad Manager)

広告を取り巻くコンテンツの URL を Google に渡すには、content_url をカスタム キーワード (keyword)として広告ユニットに追加します。 これは、AdMob と Google 広告マネージャーのバナーとインタースティシャルのリクエスト、および AdMob のネイティブ リクエストに適用されます。 次の例では、 ANBannerAdViewを使用します。

let size = CGSize(width: 320, height: 50)
let banner = ANBannerAdView(frame: CGRect(origin: .zero, size: size), placementId: "123456", adSize: size) // Create the banner ad view
banner.addCustomKeywords(withKey: "content_url", values: ["https://www.example.com"]) // Set the content URL

複数の iPad ウィンドウ (AdMob と Google 広告マネージャー) をサポートする

複数のウィンドウをサポートする iPad アプリで Google が媒介するバナー広告を読み込むには、広告を読み込む前にマルチシーン サポートを有効にします。 バナーを読み込むviewDidLoad()ではなく viewDidAppear(_:) から。 この構成は、マルチウィンドウ iPad アプリ内の Google がメディエーションするバナー広告にのみ適用されます。

ANGoogleMediationSettings.setIPadMultiSceneSupport(true) // Enable iPad multi-scene support

パブリッシャー提供の ID を設定する (Google Ad Manager のみ)

広告のターゲティングとレポートのためにパブリッシャーが定義した識別子を Google 広告マネージャーに渡すには、広告リクエストを行う前に パブリッシャー提供 ID (PPID) を設定します。 これは Google Ad Manager の需要にのみ適用されます。

ANGoogleMediationSettings.setGooglePublisherProvidedId("example-ppid-123") // Set the Google PPID

ネイティブ メディエーションを設定する (AdMob のみ)

AdMob ネイティブ応答をレンダリングするには、XIB からネイティブ広告ビューを読み込みます。 XIB のルート ビューを Swift で NativeAdView または Objective-C で GADNativeAdView に設定します。 以下の例では、AdMob が要求を埋め、タイトルをレンダリングし、ビューを追跡用に登録したことを確認します。

func adRequest(_ request: ANNativeAdRequest, didReceive response: ANNativeAdResponse) {
  guard response.networkCode == .adMob else { return }

  let adNib = UINib(nibName: "NativeAdView", bundle: .main)
  guard let nativeAdView = adNib.instantiate(withOwner: self).first as? NativeAdView else { return }
  (nativeAdView.headlineView as? UILabel)?.text = response.title // Render the native ad title

  do {
    try response.registerView(
      forTracking: nativeAdView,
      withRootViewController: self,
      clickableViews: [nativeAdView.callToActionView as Any]
    ) // Register the AdMob native view
  } catch {
    print("Unable to register the AdMob native view: \(error)")
  }
}

SmartAdServer

SmartAdServer アダプターは、パッケージの依存関係を追加した後、追加の構成を必要としません。

カスタム メディエーション ネットワーク

Microsoft Monetize は、複数のモバイル広告ネットワークをビルトインでサポートしています。 別のネットワークを仲介するには: