MAXメディエーションアダプターは、以下の2つの方法でダウンロードしてアプリに連携することができます。
- Gradle
- AppLovinでは、この方法でアダプターを連携することを推奨します。
AppLovinのアダプターのPOMファイルは、メディエーションネットワークのSDKとその依存関係を自動的に統合します。
- オープンソースアダプター
- 連携にさらなる柔軟性が必要な場合は、AppLovinのオープンソースアダプターと連携することができます。この場合、メディエートされたSDKとその依存関係の統合はご自身の責任で行ってください。これらのアダプターはAppLovin-MAX-SDK-Android GitHubリポジトリで確認できます。
Gradle
以下のチェックボックスから、連携したいメディエーション広告ネットワークを選択します。
これらのボックスにチェックを入れると、このページにはネットワーク固有の手順が表示されます。
このページでは、Gradleスクリプトのカスタマイズも行います。
以下のカスタマイズされたGradleスクリプトをアプリレベルのbuild.gradle
にコピーしてください。
maven { url "https://artifactory.bidmachine.io/bidmachine" }
maven { url "https://cboost.jfrog.io/artifactory/chartboost-ads/" }
maven { url "https://android-sdk.is.com" }
maven { url "https://imobile-maio.github.io/maven" }
maven { url "https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea" }
maven { url "https://maven.ogury.co" }
maven { url "https://artifact.bytedance.com/repository/pangle" }
maven { url "https://repo.pubmatic.com/artifactory/public-repos" }
maven { url "https://s3.amazonaws.com/smaato-sdk-releases/" }
maven { url "https://verve.jfrog.io/artifactory/verve-gradle-release" }
maven { url "https://ysonetwork.s3.eu-west-3.amazonaws.com/sdk/android" }
implementation 'com.applovin:applovin-sdk:+'
implementation 'com.applovin.mediation:amazon-tam-adapter:+'
implementation 'com.amazon.android:aps-sdk:+'
implementation 'com.applovin.mediation:bidmachine-adapter:+'
implementation 'com.applovin.mediation:bigoads-adapter:+'
implementation 'com.applovin.mediation:chartboost-adapter:+'
implementation 'com.google.android.gms:play-services-base:16.1.0'
implementation 'com.applovin.mediation:fyber-adapter:+'
implementation 'com.applovin.mediation:google-ad-manager-adapter:+'
implementation 'com.applovin.mediation:google-adapter:+'
implementation 'com.applovin.mediation:hyprmx-adapter:+'
implementation 'com.applovin.mediation:inmobi-adapter:+'
implementation 'com.squareup.picasso:picasso:2.71828'
implementation 'androidx.recyclerview:recyclerview:1.1.0'
implementation 'com.applovin.mediation:ironsource-adapter:+'
implementation 'com.applovin.mediation:vungle-adapter:+'
implementation 'com.applovin.mediation:line-adapter:+'
implementation 'com.applovin.mediation:maio-adapter:+'
implementation 'com.applovin.mediation:facebook-adapter:+'
implementation 'com.applovin.mediation:mintegral-adapter:+'
implementation 'com.applovin.mediation:mobilefuse-adapter:+'
implementation 'com.applovin.mediation:moloco-adapter:+'
implementation 'com.applovin.mediation:ogury-presage-adapter:+'
implementation 'com.applovin.mediation:bytedance-adapter:+'
implementation 'com.applovin.mediation:pubmatic-adapter:+'
implementation 'com.applovin.mediation:smaato-adapter:+'
implementation 'com.applovin.mediation:unityads-adapter:+'
implementation 'com.applovin.mediation:verve-adapter:+'
implementation 'com.applovin.mediation:mytarget-adapter:+'
implementation 'com.applovin.mediation:yandex-adapter:+'
implementation 'com.applovin.mediation:yso-network-adapter:+'
maven { url = uri("https://artifactory.bidmachine.io/bidmachine") }
maven { url = uri("https://cboost.jfrog.io/artifactory/chartboost-ads/") }
maven { url = uri("https://android-sdk.is.com") }
maven { url = uri("https://imobile-maio.github.io/maven") }
maven { url = uri("https://dl-maven-android.mintegral.com/repository/mbridge_android_sdk_oversea") }
maven { url = uri("https://maven.ogury.co") }
maven { url = uri("https://artifact.bytedance.com/repository/pangle") }
maven { url = uri("https://repo.pubmatic.com/artifactory/public-repos") }
maven { url = uri("https://s3.amazonaws.com/smaato-sdk-releases/") }
maven { url = uri("https://verve.jfrog.io/artifactory/verve-gradle-release") }
maven { url = uri("https://ysonetwork.s3.eu-west-3.amazonaws.com/sdk/android") }
implementation("com.applovin:applovin-sdk:+")
implementation("com.applovin.mediation:amazon-tam-adapter:+")
implementation("com.amazon.android:aps-sdk:+")
implementation("com.applovin.mediation:bidmachine-adapter:+")
implementation("com.applovin.mediation:bigoads-adapter:+")
implementation("com.applovin.mediation:chartboost-adapter:+")
implementation("com.google.android.gms:play-services-base:16.1.0")
implementation("com.applovin.mediation:fyber-adapter:+")
implementation("com.applovin.mediation:google-ad-manager-adapter:+")
implementation("com.applovin.mediation:google-adapter:+")
implementation("com.applovin.mediation:hyprmx-adapter:+")
implementation("com.applovin.mediation:inmobi-adapter:+")
implementation("com.squareup.picasso:picasso:2.71828")
implementation("androidx.recyclerview:recyclerview:1.1.0")
implementation("com.applovin.mediation:ironsource-adapter:+")
implementation("com.applovin.mediation:vungle-adapter:+")
implementation("com.applovin.mediation:line-adapter:+")
implementation("com.applovin.mediation:maio-adapter:+")
implementation("com.applovin.mediation:facebook-adapter:+")
implementation("com.applovin.mediation:mintegral-adapter:+")
implementation("com.applovin.mediation:mobilefuse-adapter:+")
implementation("com.applovin.mediation:moloco-adapter:+")
implementation("com.applovin.mediation:ogury-presage-adapter:+")
implementation("com.applovin.mediation:bytedance-adapter:+")
implementation("com.applovin.mediation:pubmatic-adapter:+")
implementation("com.applovin.mediation:smaato-adapter:+")
implementation("com.applovin.mediation:unityads-adapter:+")
implementation("com.applovin.mediation:verve-adapter:+")
implementation("com.applovin.mediation:mytarget-adapter:+")
implementation("com.applovin.mediation:yandex-adapter:+")
implementation("com.applovin.mediation:yso-network-adapter:+")
Google BiddingとGoogle AdMob / Google アド マネージャーのアプリIDを追加
アプリの AndroidManifest.xml
ファイル内で、 <application>
タグの中に<meta-data>
タグを追加してください。
以下の例は、このタグの正しいアトリビュート先を示しています。
«your-admob-app-id»
を、Google BiddingおよびGoogle AdMob / Google アド マネージャーのアプリIDに置き換えてください。
<?xml version="1.0" encoding="utf-8"?>
android:name="com.google.android.gms.ads.APPLICATION_ID"
android:value="«your-admob-app-id»"/>
Gradleエラー
Google AdMobは、Android Gradleプラグインバージョン4.2.0以降、およびGradleバージョン6.7.1以降が必須となります。
以下のエラーが表示された場合、AndroidのGradleプラグインとGradleバージョンを更新してください。
AAPT: error: unexpected element <property> found in <manifest><application>.
compileSdkVersion
Google Mobile Ads SDKバージョン23.1.0以降では、少なくともcompileSdkVersion
を34以上に設定する必要があります。
アプリのbuild.gradle
でcompileSdkVersion
を34
以上に設定します。
最新のcompileSdkVersion
の要件については、Google Mobile Ads SDKリリースノートを参照してください。
Amazon SDKを初期化
Amazon Publisher Services SDKでは、MAX SDKの外で初期化する必要があります。
// Amazon requires an 'Activity' instance
AdRegistration.getInstance( "AMAZON_APP_ID", this );
AdRegistration.setAdNetworkInfo( new DTBAdNetworkInfo( DTBAdNetwork.MAX ) );
AdRegistration.setMRAIDSupportedVersions( new String[] { "1.0", "2.0", "3.0" } );
AdRegistration.setMRAIDPolicy( MRAIDPolicy.CUSTOM );
Amazon SDKからバナーまたはMREC広告をロード
Amazon広告をMAXに連携するには、はじめにAmazon広告をロードする必要があります。
MAX広告をロードする前に、DTBAdResponse
またはAdError
をMaxAdView
のインスタンスに渡します。
これを行うには、MaxAdView#setLocalExtraParameter()
を呼び出してください。
if ( AppLovinSdkUtils.isTablet( getApplicationContext() ) )
amazonAdSlotId = "«Amazon-leader-slot-ID»";
adFormat = MaxAdFormat.LEADER;
amazonAdSlotId = "«Amazon-banner-slot-ID»";
adFormat = MaxAdFormat.BANNER;
// Raw size will be 320x50 for BANNERs on phones, and 728x90 for LEADERs on tablets
AppLovinSdkUtils.Size rawSize = adFormat.getSize();
DTBAdSize size = new DTBAdSize( rawSize.getWidth(), rawSize.getHeight(), amazonAdSlotId );
DTBAdRequest adLoader = new DTBAdRequest();
adLoader.setSizes( size );
adLoader.loadAd( new DTBAdCallback()
public void onSuccess(@NonNull final DTBAdResponse dtbAdResponse)
// 'adView' is your instance of MaxAdView
adView.setLocalExtraParameter( "amazon_ad_response", dtbAdResponse );
public void onFailure(@NonNull final AdError adError)
// 'adView' is your instance of MaxAdView
adView.setLocalExtraParameter( "amazon_ad_error", adError );
class ExampleActivity : Activity()
private val adView: MaxAdView? = null
val amazonAdSlotId: String
val adFormat: MaxAdFormat
if (AppLovinSdkUtils.isTablet(applicationContext))
amazonAdSlotId = "«Amazon-leader-slot-ID»"
adFormat = MaxAdFormat.LEADER
amazonAdSlotId = "«Amazon-banner-slot-ID»"
adFormat = MaxAdFormat.BANNER
// Raw size will be 320x50 for BANNERs on phones, and 728x90 for LEADERs on tablets
val rawSize = adFormat.size
val size = DTBAdSize(rawSize.width, rawSize.height, amazonAdSlotId)
val adLoader = DTBAdRequest()
adLoader.loadAd(object : DTBAdCallback
override fun onSuccess(dtbAdResponse: DTBAdResponse)
// 'adView' is your instance of MaxAdView
adView?.setLocalExtraParameter("amazon_ad_response", dtbAdResponse)
override fun onFailure(adError: AdError)
// 'adView' is your instance of MaxAdView
adView?.setLocalExtraParameter("amazon_ad_error", adError)
DTBAdRequest adLoader = new DTBAdRequest();
adLoader.setSizes( new DTBAdSize( 300, 250, amazonAdSlotId ) );
adLoader.loadAd( new DTBAdCallback()
public void onSuccess(@NonNull final DTBAdResponse dtbAdResponse)
// 'adView' is your instance of MaxAdView
adView.setLocalExtraParameter( "amazon_ad_response", dtbAdResponse );
public void onFailure(@NonNull final AdError adError)
// 'adView' is your instance of MaxAdView
adView.setLocalExtraParameter( "amazon_ad_error", adError );
class ExampleActivity : Activity()
private val adView: MaxAdView? = null
val amazonAdSlotId: String
val adLoader = DTBAdRequest()
adLoader.setSizes(DTBAdSize(300, 250, amazonAdSlotId))
adLoader.loadAd(object : DTBAdCallback
override fun onSuccess(dtbAdResponse: DTBAdResponse)
// 'adView' is your instance of MaxAdView
adView!!.setLocalExtraParameter("amazon_ad_response", dtbAdResponse)
override fun onFailure(adError: AdError)
// 'adView' is your instance of MaxAdView
adView!!.setLocalExtraParameter("amazon_ad_error", adError)
AmazonのSDKからインタースティシャル広告をロード
Amazonインタースティシャル広告をMAXに連携するには、はじめにAmazon広告をロードする必要があります。
MAX広告をロードする前に、DTBAdResponse
またはAdError
をMaxInterstitialAd
のインスタンスに渡します。
これを行うには、MaxInterstitialAd#setLocalExtraParameter()
を呼び出してください。
private static MaxInterstitialAd interstitialAd; // static to ensure only one instance exists
private static boolean isFirstLoad = true;
if ( interstitialAd == null )
interstitialAd = new MaxInterstitialAd( "«MAX-inter-ad-unit-ID»", this );
DTBAdRequest adLoader = new DTBAdRequest();
adLoader.setSizes( new DTBAdSize.DTBInterstitialAdSize( "«Amazon-inter-slot-ID»" ) );
adLoader.loadAd( new DTBAdCallback()
public void onSuccess(@NonNull final DTBAdResponse dtbAdResponse)
// 'interstitialAd' is your instance of MaxInterstitialAd
interstitialAd.setLocalExtraParameter( "amazon_ad_response", dtbAdResponse );
public void onFailure(@NonNull final AdError adError)
// 'interstitialAd' is your instance of MaxInterstitialAd
interstitialAd.setLocalExtraParameter( "amazon_ad_error", adError );
class ExampleActivity : Activity()
private var interstitialAd: MaxInterstitialAd? = null // static to ensure only one instance exists
private var isFirstLoad = true
if (interstitialAd == null)
interstitialAd = MaxInterstitialAd("«MAX-inter-ad-unit-ID»", this)
val adLoader = DTBAdRequest()
adLoader.setSizes(DTBAdSize.DTBInterstitialAdSize("«Amazon-inter-slot-ID»"))
adLoader.loadAd(object : DTBAdCallback
override fun onSuccess(dtbAdResponse: DTBAdResponse)
// 'interstitialAd' is your instance of MaxInterstitialAd
interstitialAd!!.setLocalExtraParameter("amazon_ad_response", dtbAdResponse)
interstitialAd!!.loadAd()
override fun onFailure(adError: AdError)
// 'interstitialAd' is your instance of MaxInterstitialAd
interstitialAd!!.setLocalExtraParameter("amazon_ad_error", adError)
interstitialAd!!.loadAd()
interstitialAd!!.loadAd()
AmazonのSDKから動画インタースティシャル広告をロード
Amazon動画インタースティシャル広告をMAXに連携するには、はじめにAmazon広告をロードする必要があります。
MAX広告をロードする前に、DTBAdResponse
またはAdError
をMaxInterstitialAd
のインスタンスに渡します。
これを行うには、MaxInterstitialAd#setLocalExtraParameter()
を呼び出してください。
private static MaxInterstitialAd interstitialAd; // static to ensure only one instance exists
private static boolean isFirstLoad = true;
if ( interstitialAd == null )
interstitialAd = new MaxInterstitialAd( "«MAX-inter-ad-unit-ID»", this );
DTBAdRequest adLoader = new DTBAdRequest();
// Switch video player width and height values(320, 480) depending on device orientation
adLoader.setSizes( new DTBAdSize.DTBVideo(320, 480, "«Amazon-video-inter-slot-ID»") );
adLoader.loadAd( new DTBAdCallback()
public void onSuccess(@NonNull final DTBAdResponse dtbAdResponse)
// 'interstitialAd' is your instance of MaxInterstitialAd
interstitialAd.setLocalExtraParameter( "amazon_ad_response", dtbAdResponse );
public void onFailure(@NonNull final AdError adError)
// 'interstitialAd' is your instance of MaxInterstitialAd
interstitialAd.setLocalExtraParameter( "amazon_ad_error", adError );
class ExampleActivity : Activity()
private var interstitialAd: MaxInterstitialAd? = null // static to ensure only one instance exists
private var isFirstLoad = true
if (interstitialAd == null)
interstitialAd = MaxInterstitialAd("«MAX-inter-ad-unit-iD»", this)
val adLoader = DTBAdRequest()
// Switch video player width and height values(320, 480) depending on device orientation
adLoader.setSizes(DTBAdSize.DTBVideo(320, 480, "«Amazon-video-inter-slot-ID»"))
adLoader.loadAd(object : DTBAdCallback
override fun onSuccess(dtbAdResponse: DTBAdResponse)
// 'interstitialAd' is your instance of MaxInterstitialAd
interstitialAd!!.setLocalExtraParameter("amazon_ad_response", dtbAdResponse)
interstitialAd!!.loadAd()
override fun onFailure(adError: AdError)
// 'interstitialAd' is your instance of MaxInterstitialAd
interstitialAd!!.setLocalExtraParameter("amazon_ad_error", adError)
interstitialAd!!.loadAd()
interstitialAd!!.loadAd()
AmazonのSDKからリワード動画広告をロード
Amazonリワード動画をMAXに連携するには、はじめにAmazon広告をロードしてください。
MAX広告をロードする前に、DTBAdResponse
またはAdError
をMaxRewardedAd
のインスタンスに渡します。
これを行うには、MaxRewardedAd#setLocalExtraParameter()
を呼び出してください。
private static MaxRewardedAd rewardedAd; // static to ensure only one instance exists
private static boolean isFirstLoad = true;
if ( rewardedAd == null )
rewardedAd = MaxRewardedAd.getInstance( "«MAX-rewarded-ad-unit-ID»", this );
DTBAdRequest adLoader = new DTBAdRequest();
// Switch video player width and height values(320, 480) depending on device orientation
adLoader.setSizes( new DTBAdSize.DTBVideo( 320, 480, "«Amazon-video-rewarded-slot-ID»" ) );
adLoader.loadAd( new DTBAdCallback()
public void onSuccess(@NonNull final DTBAdResponse dtbAdResponse)
// 'rewardedAd' is your instance of MaxRewardedAd
rewardedAd.setLocalExtraParameter( "amazon_ad_response", dtbAdResponse );
public void onFailure(@NonNull final AdError adError)
// 'rewardedAd' is your instance of MaxRewardedAd
rewardedAd.setLocalExtraParameter( "amazon_ad_error", adError );
private static MaxRewardedAd rewardedAd; // static to ensure only one instance exists
private static boolean isFirstLoad = true;
if ( rewardedAd == null )
rewardedAd = MaxRewardedAd.getInstance( "«MAX-rewarded-ad-unit-ID»", this );
DTBAdRequest adLoader = new DTBAdRequest();
// Switch video player width and height values(320, 480) depending on device orientation
adLoader.setSizes( new DTBAdSize.DTBVideo( 320, 480, "«Amazon-video-rewarded-slot-ID»" ) );
adLoader.loadAd( new DTBAdCallback()
public void onSuccess(@NonNull final DTBAdResponse dtbAdResponse)
// 'rewardedAd' is your instance of MaxRewardedAd
rewardedAd.setLocalExtraParameter( "amazon_ad_response", dtbAdResponse );
public void onFailure(@NonNull final AdError adError)
// 'rewardedAd' is your instance of MaxRewardedAd
rewardedAd.setLocalExtraParameter( "amazon_ad_error", adError );
Amazon Publisher Servicesをテスト
AppLovinでは、AmazonのSDKのテストモードを有効にすることを推奨します。
これにより、テスト広告を受信できるようになります。
以下のコールを行って、テストモードを有効化してください。
AdRegistration.enableTesting( true );
AdRegistration.enableLogging( true );
ウォーターフォールをフィルタリングして、Amazon広告のみを含めることができます。
これを行うには、Mediation DebuggerのSelect Live Network に移動し、Amazonネットワークを選択します。
Meta Audience Networkのデータ処理オプション
Limited Data Use(LDU)モードを有効にしたくない場合は、SetDataProcessingOptions()
に空の文字列配列を渡してください。
import com.facebook.ads.AdSettings;
AdSettings.setDataProcessingOptions( new String[] {} );
import com.facebook.ads.AdSettings
AdSettings.setDataProcessingOptions( arrayOf<String>() )
ユーザーのLDUを有効化し、ユーザーの地域を指定するには、次のような形式でSetDataProcessingOptions()
を呼び出します。
import com.facebook.ads.AdSettings;
AdSettings.setDataProcessingOptions( new String[] {"LDU"}, «country», «state» );
import com.facebook.ads.AdSettings
AdSettings.setDataProcessingOptions( arrayOf("LDU"), «country», «state» )
Google UMPを使用する
CMPとしてGoogle UMPを使用している場合、ユーザーがMetaに同意したかどうかを判断できます。
これを行うには、以下のようなコードを使用してください。
Boolean hasMetaConsent = AppLovinPrivacySettings.getAdditionalConsentStatus( 89 );
if ( hasMetaConsent != null )
// Set Meta Data Processing Options accordingly.
// AC String is not available on disk. Please check for consent status after the user completes the CMP flow.
val hasMetaConsent = AppLovinPrivacySettings.getAdditionalConsentStatus(89)
if ( hasMetaConsent != null )
// Set Meta Data Processing Options accordingly.
// AC String is not available on disk. Please check for consent status after the user completes the CMP flow.
カリフォルニア州のユーザー向けのMeta Audience Networkデータ処理オプション
カリフォルニア州向けにMeta Audience Networkの「Limited Data Use」フラグを実装する方法については、Meta for Developmentのドキュメントをご覧ください。
Androidマニフェストのマージエラー
いくつかのネットワークSDKは、バンドルされたAndroidマニフェストファイル内で <queries>
要素を使用しています。互換性のないバージョンのAndroid Gradleプラグインを使用している場合、次のいずれかのビルドエラーが発生します。
com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed
error: unexpected element <queries> found in <manifest>.
Missing 'package' key attribute on element package at [:com.my.target.mytarget-sdk-5.11.3:]
AndroidManifest Validation failed
このエラーを修正するには、Android Gradleプラグインの以下のいずれかのバージョンにアップグレードしてください。
これらのバージョンは <queries>
要素をサポートします:
現在のAndroid Gradleプラグインバージョン | <queries> 要素をサポートするバージョン |
---|
4.1.* | すべて |
4.0.* | 4.0.1+ |
3.6.* | 3.6.4+ |
3.5.* | 3.5.4+ |
3.4.* | 3.4.3+ |
3.3.* | 3.3.3+ |