Android で調停する

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

概要

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

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

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

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

要件

  • Google Mobile Ads SDK (レガシ) 24.5.0 を統合する場合、アプリは Android 6.0(API レベル 23)以降を使用している必要があります。
  • これらの手順は、Android Studio と Gradle を使用することを前提としています。
  • サポートされている Android SDK リリースをインストールします。 手順については、 Android SDK の統合手順を参照してください。

Gradle は、各アダプターの必須マニフェスト エントリとコンシューマー ProGuard ルールをアプリに自動的にマージします。

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

Maven Central がプロジェクトのリポジトリに含まれていることを確認します。 次に、Android SDK と必要なメディエーション アダプターをアプリ モジュールの build.gradle ファイルに追加します。

repositories {
    mavenCentral()
}

dependencies {
    implementation 'com.appnexus.opensdk:appnexus-sdk:[9,10)'
    implementation 'com.appnexus.opensdk.mediatedviews:appnexus-googleplay-mediation:[9,10)'
    implementation 'com.appnexus.opensdk.mediatedviews:appnexus-smartadserver-mediation:[9,10)'
}

各アダプターの依存関係には、互換性のあるバージョンのネットワーク SDK が含まれています。

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

Google Mobile Ads SDK (レガシ)

Google アダプターは、Google AdMob および Google Ad Manager の需要をサポートします。 どちらのデマンド ソースもバナー広告とインタースティシャル広告をサポートします。 ネイティブ メディエーションは AdMob でのみ使用できます。

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

com.google.android.gms.ads.APPLICATION_ID メタデータ キーをアプリのAndroidManifest.xmlに追加します。 その値を AdMob または Google アド マネージャー アプリ ID に設定します。 このアプリレベルの設定は、すべての Google 広告フォーマットに適用されます。

<application>
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="ca-app-pub-################~##########" />
</application>

ライフサイクル コールバックの転送 (AdMob と Google 広告マネージャー)

Google バナー メディエーションでは、ホスト アクティビティのライフサイクル コールバックを BannerAdView に転送する必要があります。 Interstitial Ads の場合、コールバックはアクティビティが一時停止または破棄された後の遅延応答を防ぎます。 実装例については、「 ライフサイクル コールバックの転送」を参照してください。

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

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

// Banner
val banner = BannerAdView(this) // Create the banner ad view
banner.addCustomKeywords("content_url", "https://www.example.com") // Set the content URL

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

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

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

ネイティブ メディアのレンダリングを設定する (AdMob のみ)

AdMob ネイティブ広告でアプリがメディアをレンダリングする方法を選択します:

  • 既定のレンダリング: アダプターは画像アセットの URL を返し、Google の MediaViewを設定しません。
  • Google メディア レンダリング:MediaView が画像またはビデオ アセットをレンダリングできるようにするには、ネイティブ広告要求を行う前に AdMobNativeSettings.setEnableMediaView(true) を呼び出します。 応答のレンダリングに使用されるビューは com.google.android.gms.ads.nativead.NativeAdView拡張する必要があります。
  • ビデオ再生: 必要に応じて、 VideoOptions を使用してネイティブ ビデオの再生方法を構成します。

次の例では、 MediaView を有効にし、ネイティブ ビデオをミュートして開始します。

val videoOptions = VideoOptions.Builder().setStartMuted(true).build() // Start native video muted
AdMobNativeSettings.setVideoOptions(videoOptions) // Configure native video playback
AdMobNativeSettings.setEnableMediaView(true) // Enable Google MediaView rendering
val nativeAdRequest = NativeAdRequest(this, "123456") // Create the native ad request
nativeAdRequest.loadAd() // Load the native ad

SmartAdServer

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

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

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