この記事では、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
アダプターごと:
- プロジェクトを Xcode で開きます。
- プロジェクト ナビゲーターでプロジェクトを選択し、[ Package Dependencies] を選択します。
- [ + ] ボタンを選択し、上に示すパッケージ URL のいずれかを入力して、 Return キーを押します。
- プロジェクトに合ったバージョン設定を選択します。 新しいプロジェクトの場合は、[ 次のメジャー バージョンまで] を選択します。 次に、[ パッケージの追加] を選択します。
- 上記に示したアダプター製品とアプリ ターゲットを選択し、[ パッケージの追加] を選択します。
- [ パッケージの依存関係] の下にアダプターが表示されることを確認します。
アダプターをインストールしたら、各アダプターの設定を完了してから広告を読み込みます。
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 は、複数のモバイル広告ネットワークをビルトインでサポートしています。 別のネットワークを仲介するには:
- iOS SDK がネットワーク SDK からイベントを受信できるようにする カスタム メディエーション アダプター を記述します。
- ネットワーク の追加 でカスタム モバイル ネットワークを作成する手順に従います。