次の方法で共有


Android SDK 命令を仲介する

注:

Android Studio と Gradle

次の手順では、Android Studio と Gradle を使用していることを前提としています。 必要な AndroidManifest.xml エントリ (場所のアクセス許可を除く) と ProGuard の変更のほとんどは、アプリに自動的に追加されます。 他のビルド システムを使用している場合、手順が異なる場合があります。

メディエーションを使用すると、複数のネットワークを通じて広告インプレッションを販売して、より多くの収益を生み出すことができます。 これは、"ウォーターフォール" のようなプロセスで 1 つ以上の仲介された SDK を呼び出すメイン (メディエーティング) SDK によって開始されます。 何らかの理由でメイン SDK で広告を表示できない場合は、仲介された SDK の一覧を反復処理し、指定した順序で連絡できます。 これは、インプレッションが満たされるか、仲介された SDK が不足するまで続きます。

別の SDK に仲介する理由は次のとおりです。

  • 特定の状況下でより良い収益化を提供するため
  • 一意のユーザー ID やデバイスのオペレーティング システム、場所、ID などの情報へのアクセスを提供するには
  • 一部のネットワークでは、独自の SDK からの要求のみを受け入れるため、SDK を使用して要求にアクセスする必要があります

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

このセクションでは、仲介アダプターでサポートされるネットワークと、各アダプターがサポートするメディアの種類を示します。 アダプターごとに、アダプターがバナー、スポット、ネイティブ、または 3 つすべてをサポートしているかどうかを示します。

アダプター バージョン バナー 間隙 ネイティブ Docs
Google AdMob と DFP 22.3.0 はい はい はい Google モバイル広告 - Android 仲介
SmartAdServer 7.23.0 はい はい いいえ SmartAdServer SDK のドキュメント

Maven の設定

これらのネットワークを仲介するには、サポートされている SDK のリリースと、SDK がネットワークの SDK と通信できるようにする仲介アダプターが必要です。 SDK とアダプターを取得する最も簡単な方法は、次の例に示すように、 から Maven を build.gradle 使用することです。 最初のブロックには、SDK 自体の依存関係が含まれています。 2 番目のブロックには、他の SDK を仲介するアダプターが一覧表示されます。 これらは最上位のブロックであり、ビルドスクリプト ブロックの一部ではないことに注意してください。 2 番目のブロックにアダプターを含めたり除外したりすることができます。 アダプターを含めると、適切なサード パーティ SDK (Gradle 同期時に CDN からダウンロードされます) が自動的に含まれます。

最後に、 [9,10) この表記は、アプリがコンパイルされると、9.x シリーズの最新バージョンの SDK が含まれることを意味します。 新しいバージョンの SDK をリリースする場合、新しいバージョンを取得するために必要なのはアプリを再コンパイルすることです。

repositories {
    mavenCentral()
}
dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    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)'
}

警告

メディエーション・アダプターのファイルはbuild.gradle変更しないでください。 これにより、ビルドが壊れる可能性があります。

ネットワーク固有のセットアップ

このセクションでは、(特別なセットアップが必要な場合) コード サンプルや、その SDK のドキュメントへのリンクなど、他のネットワークの SDK を仲介用に設定する方法について説明します。

Admob

注:

Mobile SDK 7.22 以降の場合、Google Ad Mob バージョンを使用したメディエーティングでは、Android S でアプリがクラッシュする原因となるバグを修正するために、 への androidx.work:work-runtime:2.7.0 明示的な依存関係が必要になります。このバグを修正するには、Google Mobile Ads SDK の次の依存関係をモジュールのアプリ レベルの Gradle ファイルに追加します。

dependencies {
  implementation 'com.google.android.gms:play-services-ads:20.4.0'
  // For apps targeting Android 12, add WorkManager dependency.
  constraints {
    implementation('androidx.work:work-runtime:2.7.0') {
      because '''androidx.work:work-runtime:2.1.0 pulled from
      play-services-ads has a bug using PendingIntent without
      FLAG_IMMUTABLE or FLAG_MUTABLE and will fail in Apps
      targeting S+.'''
    }
  }
}

警告

ライフサイクル コールバックが必要

AdMob/DFP バナーを仲介する場合は、以下のセクションで説明するようにライフサイクル コールバックをコードに追加する必要があります。

実装に関する注意 - ライフサイクル コールバックの転送

ライフサイクル コールバックは、必要に応じて AdMob/DFP バナーに転送する必要があります。 アクティビティのライフサイクルの詳細については、Android ドキュメント の「アクティビティ ライフサイクルの管理 」を参照してください。

SDK を使用すると、 と InterstitialAdViewのサブクラスAdView:BannerAdViewのライフサイクル コールバックを転送できます。

パフォーマンスを向上させるには、ライフサイクル コールバックの転送を強くお勧めします。 AdMob/DFP バナーを仲介するすべてのユーザーには、ライフサイクル コールバックを AdMob/DFP バナーに必要に応じて転送する必要があるため、呼び出す必要があります。 呼び出すメソッドとタイミングについては、以下のコード サンプルを参照してください。

アクティビティのライフサイクルの詳細については、Android ドキュメント の「アクティビティ ライフサイクルの管理 」を参照してください。

/**
 * To be called by the developer when the fragment/activity's onDestroy() function is called.
 */
abstract public void activityOnDestroy();
/**
 * To be called by the developer when the fragment/activity's onPause() function is called.
 */
abstract public void activityOnPause();
/**
 * To be called by the developer when the fragment/activity's onResume() function is called.
 */
abstract public void activityOnResume();

ネイティブ・メディエーション

注:

SDK の v5.1 以降、AdMob ネイティブ 仲介アダプター コードが変更され、Google UnifiedNativeAd がサポートされました

次の情報は関連しなくなり、削除されています。

AdMobNativeSettings.setEnableAppInstallAd();
AdMobNativeSettings.setEnableContentAd();

ネイティブ 仲介の場合は、次の説明に従って初期化コードを追加します。

画像/動画の表示に使用 MediaView する場合は、広告リクエストを行う前に有効にする MediaView 必要があります。 明示的に有効にしない場合は、画像がダウンロードされ、 MediaView 画像は自動的に入力されません。

AdMobNativeSettings.setEnableMediaView(true);

NativeAdResponseが AdMob の場合は、 型のビューを作成しますUnifiedNativeAdView

private NativeAdRequestListener nativeAdRequestListener = new NativeAdRequestListener() {
 
    @Override
    public void onAdLoaded(NativeAdResponse response) {
        if (response.getNetworkIdentifier() == NativeAdResponse.Network.ADMOB) {
                // Instantiate UnifiedNativeAdView 
                // Set MediaView - Sets a media view for media content.
                // The media content gets loaded on the MediaView, if attached to the layout hierarchy and is registered using the setMediaView(...)
        }
    }
 
    @Override
    public void onAdFailed(ResultCode errorcode) {
  
    }
}

カスタム キーワードの設定

コンテンツ URL を Google SDK に渡すには、contenturl をリクエスター広告オブジェクト (BannerAdView、、 InterstitialAdViewNativeAdRequest) でカスタム キーワードとして渡す必要があります。 使用するキーは です content_url。 次に例を示します:

// Add key content_url with a value (www.appnexus.com).
adView.addCustomKeywords("content_url", "www.appnexus.com");

Google SDK の詳細については、「 Google Mobile Ads SDK」を参照してください。

SmartAdServer

特別なセットアップは必要ありません。

SmartAdServer SDK の詳細については、 SDK のドキュメントを参照してください

Google サービスが機能しなくなった Huawei デバイス (広告 ID 取得に必要) をサポートする場合は、Huawei サポート ライブラリ リポジトリも宣言する必要があります。 SAS アダプターを使用して Huawei デバイスをサポートするには、発行元がプロジェクトのルート レベルの build.gradle に次を追加する必要があります。

// Optional: Huawei services dependencies repository  
maven { url '[https://developer.huawei.com/repo/](https://developer.huawei.com/repo/)' }

警告

スポット

SmartAdServer スポットを使用している場合は、モバイル SDK InterstitialAdViewの に対応する メソッドと showAd() メソッドがないことをloadAd()確認SASInterstitialViewしてください。 SASInterstitialView には、1 回の loadAd() 呼び出しで広告の読み込みと表示の両方を行うメソッドのみが含まれます。

モバイル SDK とメソッドのInterstitialAdView loadAd()呼び出しシーケンスとInterstitialAdView.showAd()一致するように、 が呼び出されるまではSASInterstitialViewInterstitialAdView.showAd()表示しません。

つまり、 でアプリをすぐに呼び出すshowAd()InterstitialAdView.onAdLoaded()必要があります。 表示されない場合は、 SASInterstitialView は表示されません。

スポット仲介の配置設定

スポット仲介には、次の配置設定を使用します。

スポット仲介

スポット仲介を実行する場合は、次のように配置が設定されていることを確認します。

  • サイズ: 1x1
  • メディアの種類: スポット

スポット仲介と RTB および/またはマネージド 需要

スポット仲介を行い、同じ配置で RTB とマネージド 需要を受け入れる場合は、次のように配置が設定されていることを確認する必要があります。

  • サイズ: 1x1
  • メディアの種類: スポット
  • メディアの種類: バナー

プレースメントを作成する方法の詳細については、収益化に関するドキュメントの 「配置を作成 する」を参照してください。

仲介されていない需要の場合は、プレースメント タグ パラメーターを使用して、広告通話のクリエイティブの実際のサイズを promo_sizes 渡す必要があります。

カスタムスポットサイズを渡す手順については、 Android で スポットを表示するドキュメントの「カスタムスポットサイズの使用」を参照してください。

カスタム モバイル ネットワーク

Xandr UI には、多数の一般的なモバイル広告ネットワークのサポートが組み込まれています。 サポートされていないネットワークを仲介する場合は、次の手順を実行する必要があります。