MAXメディエーションネットワークの手動ダウンロード

リリースの更新情報を受け取るには、AppLovin-MAX-SDK-Android GitHubリポジトリを購読してください。

最新のAndroid SDKをダウンロードする

プロジェクトにSDKを追加する

ダウンロードしたファイルを解凍し、aarファイルをプロジェクトのlibsフォルダにドラッグ&ドロップします。 (プロジェクトにlibsフォルダがない場合は、appフォルダ内に作成できます。)

Gradle

build.gradleファイルに以下を追加します。

repositories {
  google()
  mavenCentral()
  flatDir {
    dirs 'libs'
  }
  ⋮
}
dependencies {
  implementation 'com.applovin:applovin-sdk:«x.y.z»@aar'
  ⋮
}

SDKキーの追加

AndroidManifest.xmlに以下の行を追加します。 これはapplicationタグの中に記述する必要があります。

<meta-data android:name="applovin.sdk.key" android:value="«your-SDK-key»"/>

SDKキーは、AppLovinダッシュボードのAccount > General > Keysセクションで確認できます。

ad reviewの有効化

MAX Ad Reviewサービスを有効にするには、build.gradleファイルに以下を追加します。

ルートレベルのbuild.gradleファイルへの追加

buildscript {
  repositories {
    maven { url 'https://artifacts.applovin.com/android' }
  }
  dependencies {
    classpath "com.applovin.quality:AppLovinQualityServiceGradlePlugin:+"
  }
}

アプリレベルのbuild.gradleファイルへの追加

apply plugin: 'applovin-quality-service'
applovin {
    apiKey "«your-ad-review-key»"
}

Ad Review Keyは、AppLovinダッシュボードのAccount > General > Keysセクションで確認できます。

SDKの初期化

SDK初期化設定の作成

SDKを初期化する前に、SDK用の初期化設定オブジェクトを作成します。 このオブジェクトを使用すると、SDKが初期化時に使用するプロパティを設定できます。 これらの初期化プロパティは不変(immutable)ですが、アプリのライフタイム中に変更可能なプロパティを含むAppLovinSdkSettingsは例外です。

// Create the initialization configuration
AppLovinSdkInitializationConfiguration initConfig = AppLovinSdkInitializationConfiguration.builder( "«SDK-key»" )
                 .setMediationProvider( AppLovinMediationProvider.MAX )
// Perform any additional configuration/setting changes
                 .build();

SDKキーは、AppLovinダッシュボードのAccount > General > Keysセクションで確認できます。

SDKの初期化

できるだけ早い段階(例えば、起動アクティビティのonCreate()やApplicationクラスなど)で、初期化設定オブジェクトを使用してAppLovin SDKを初期化してください。 これにより、SDKがメディエーションネットワークの広告をキャッシュする時間を最大化でき、ユーザー体験の向上につながります。

public class MainActivity extends Activity
{
  protected void onCreate(Bundle savedInstanceState)
  {
    // Create the initialization configuration
    AppLovinSdkInitializationConfiguration initConfig = AppLovinSdkInitializationConfiguration.builder( "«SDK-key»" )
                     .setMediationProvider( AppLovinMediationProvider.MAX )
                     .build();

    // Initialize the SDK with the configuration
    AppLovinSdk.getInstance( this ).initialize( initConfig, new AppLovinSdk.SdkInitializationListener()
    {
      @Override
      public void onSdkInitialized(final AppLovinSdkConfiguration sdkConfig)
      {
        // Start loading ads
      }
    } );
  }
}

実装例

以下は実装例です。

// Create the initialization configuration
AppLovinSdkInitializationConfiguration initConfig = AppLovinSdkInitializationConfiguration.builder( "«SDK-key»" )
    .setMediationProvider( AppLovinMediationProvider.MAX )
    .setSegmentCollection( MaxSegmentCollection.builder()
                             .addSegment( new MaxSegment( 849, Arrays.asList( 1, 3 ) ) )
                             .build() )
    .build();

// Configure the SDK settings if needed before or after SDK initialization.
val settings = AppLovinSdk.getInstance( this ).getSettings();
settings.setUserIdentifier( "«user-ID»" );
settings.setExtraParameter( "uid2_token", "«token-value»" );
settings.getTermsAndPrivacyPolicyFlowSettings().setEnabled( true );
settings.getTermsAndPrivacyPolicyFlowSettings().setPrivacyPolicyUri( Uri.parse( "«https://your-company-name.com/privacy-policy»" ) );
settings.getTermsAndPrivacyPolicyFlowSettings().setTermsOfServiceUri( Uri.parse( "«https://your-company-name.com/terms-of-service»" ) );

// Initialize the SDK with the configuration
AppLovinSdk.getInstance( this ).initialize( initConfig, new AppLovinSdk.SdkInitializationListener()
{
  @Override
  public void onSdkInitialized(final AppLovinSdkConfiguration sdkConfig)
  {
    // Start loading ads
  }
} );

interstitial広告

interstitial広告の読み込み

interstitial広告を読み込むには、広告ユニットIDを指定してMaxInterstitialAdオブジェクトをインスタンス化し、loadAd()を呼び出します。 広告の準備ができたときや、その他の広告関連イベントの通知を受け取れるよう、MaxAdListenerを実装してください。

public class ExampleActivity extends Activity
        implements MaxAdListener
{
  private MaxInterstitialAd interstitialAd;
  private int retryAttempt;

  void createInterstitialAd()
  {
    interstitialAd = new MaxInterstitialAd( "«ad-unit-ID»" );
    interstitialAd.setListener( this );

    // Load the first ad
    interstitialAd.loadAd();
  }

  // MAX Ad Listener
  @Override
  public void onAdLoaded(final MaxAd maxAd)
  {
    // Interstitial ad is ready to be shown. interstitialAd.isReady() will now return 'true'

    // Reset retry attempt
    retryAttempt = 0;
  }

  @Override
  public void onAdLoadFailed(final String adUnitId, final MaxError error)
  {
    // Interstitial ad failed to load
    // AppLovin recommends that you retry with exponentially higher delays up to a maximum delay (in this case 64 seconds)

    retryAttempt++;
    long delayMillis = TimeUnit.SECONDS.toMillis( (long) Math.pow( 2, Math.min( 6, retryAttempt ) ) );

    new Handler().postDelayed( new Runnable()
    {
      @Override
      public void run()
      {
        interstitialAd.loadAd();
      }
    }, delayMillis );
  }

  @Override
  public void onAdDisplayFailed(final MaxAd maxAd, final MaxError error)
  {
    // Interstitial ad failed to display. AppLovin recommends that you load the next ad
    interstitialAd.loadAd();
  }

  @Override
  public void onAdDisplayed(final MaxAd maxAd) {}

  @Override
  public void onAdClicked(final MaxAd maxAd) {}

  @Override
  public void onAdHidden(final MaxAd maxAd)
  {
    // Interstitial ad is hidden. Pre-load the next ad
    interstitialAd.loadAd();
  }
}

interstitial広告の表示

interstitial広告を表示するには、上記で作成したMaxInterstitialAdオブジェクトのshowAd()を呼び出します。

if ( interstitialAd.isReady() )
{
  interstitialAd.showAd();
}

rewarded広告

rewarded広告の読み込み

rewarded広告を読み込むには、rewarded広告ユニットIDを指定してMaxRewardedAdオブジェクトを取得し、そのオブジェクトのloadAd()を呼び出します。 広告の準備ができたときや、その他の広告関連イベントの通知を受け取れるよう、MaxRewardedAdListenerを実装してください。

public class ExampleActivity extends Activity
        implements MaxRewardedAdListener
{
  private MaxRewardedAd rewardedAd;
  private int           retryAttempt;

  void createRewardedAd()
  {
    rewardedAd = MaxRewardedAd.getInstance( "«ad-unit-ID»" );
    rewardedAd.setListener( this );

    rewardedAd.loadAd();
  }

  // MAX Ad Listener
  @Override
  public void onAdLoaded(final MaxAd maxAd)
  {
    // Rewarded ad is ready to be shown. rewardedAd.isReady() will now return 'true'

    // Reset retry attempt
    retryAttempt = 0;
  }

  @Override
  public void onAdLoadFailed(final String adUnitId, final int errorCode)
  {
    // Rewarded ad failed to load
    // AppLovin recommends that you retry with exponentially higher delays up to a maximum delay (in this case 64 seconds)

    retryAttempt++;
    long delayMillis = TimeUnit.SECONDS.toMillis( (long) Math.pow( 2, Math.min( 6, retryAttempt ) ) );

    new Handler().postDelayed( new Runnable()
    {
      @Override
      public void run()
      {
        rewardedAd.loadAd();
      }
    }, delayMillis );
  }

  @Override
  public void onAdDisplayFailed(final MaxAd maxAd, final MaxError error)
  {
    // Rewarded ad failed to display. AppLovin recommends that you load the next ad
    rewardedAd.loadAd();
  }

  @Override
  public void onAdDisplayed(final MaxAd maxAd) {}

  @Override
  public void onAdClicked(final MaxAd maxAd) {}

  @Override
  public void onAdHidden(final MaxAd maxAd)
  {
    // rewarded ad is hidden. Pre-load the next ad
    rewardedAd.loadAd();
  }

  @Override
  public void onUserRewarded(final MaxAd maxAd, final MaxReward maxReward)
  {
    // Rewarded ad was displayed and user should receive the reward
  }
}

rewarded広告の表示

rewarded広告を表示するには、上記で作成したMaxRewardedAdオブジェクトのshowAd()を呼び出します。

if ( rewardedAd.isReady() )
{
  rewardedAd.showAd();
}

仮想通貨サーバーへのコールバック受信方法については、MAX S2S rewardedコールバックAPIガイドを参照し、Edit Ad Unit(広告ユニットの編集)ページでS2S Rewarded Callback URLを更新してください。

banner広告&MREC広告

プログラムによるbanner広告&MREC広告の読み込みと表示

banner広告またはMREC広告を読み込むには、広告ユニットIDを指定してMaxAdViewオブジェクトを作成し、loadAd()を呼び出します。 表示するには、MaxAdViewオブジェクトをビュー階層のサブビューとして追加します。 広告の準備ができたときや、その他の広告関連イベントの通知を受け取れるよう、MaxAdViewAdListenerを実装してください。

public class ExampleActivity extends Activity
        implements MaxAdViewAdListener
{
  private MaxAdView adView;

  void createBannerAd()
  {
    adView = new MaxAdView( "«ad-unit-ID»" );
    adView.setListener( this );

    // Stretch to the width of the screen for banners to be fully functional
    int width = ViewGroup.LayoutParams.MATCH_PARENT;

    // Banner height on phones and tablets is 50 and 90, respectively
    int heightPx = getResources().getDimensionPixelSize( R.dimen.banner_height );

    adView.setLayoutParams( new FrameLayout.LayoutParams( width, heightPx ) );

    // Set background or background color for banners to be fully functional
    adView.setBackgroundColor( ... );

    ViewGroup rootView = findViewById( android.R.id.content );
    rootView.addView( adView );

    // Load the ad
    adView.loadAd();
  }

  // MAX Ad Listener
  @Override
  public void onAdLoaded(final MaxAd maxAd) {}

  @Override
  public void onAdLoadFailed(final String adUnitId, final int errorCode) {}

  @Override
  public void onAdDisplayFailed(final MaxAd maxAd, final MaxError error) {}

  @Override
  public void onAdClicked(final MaxAd maxAd) {}

  @Override
  public void onAdExpanded(final MaxAd maxAd) {}

  @Override
  public void onAdCollapsed(final MaxAd maxAd) {}

  @Override
  public void onAdDisplayed(final MaxAd maxAd) { /* use this for impression tracking */ }

  @Override
  public void onAdHidden(final MaxAd maxAd) { /* DO NOT USE - THIS IS RESERVED FOR FULLSCREEN ADS ONLY AND WILL BE REMOVED IN A FUTURE SDK RELEASE */ }
}

レイアウトエディタでのbanner広告またはMREC広告の読み込みと表示

MAXのbanner広告またはMREC広告をビューレイアウトXMLに追加することもできます。 背景または背景色(android:background)を設定して、広告が完全に機能するようにしてください。 banner広告の場合は、幅(android:layout_width)を画面幅いっぱいに広げます。 MREC広告の場合は、それに応じてandroid:adFormatを設定します。

<com.applovin.mediation.ads.MaxAdView
  xmlns:maxads="http://schemas.applovin.com/android/1.0"
  maxads:adUnitId="«ad-unit-ID»"
  android:background="@color/banner_background_color"
  android:layout_width="match_parent"
  android:layout_height="@dimen/banner_height" />

res/values/attrs.xmlで基本のbanner広告の高さ50 dpを宣言します。

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <dimen name="banner_height">50dp</dimen>
</resources>

res/values-sw600dp/attrs.xmlでタブレット用のbanner広告の高さ90 dpを宣言します。

<?xml version="1.0" encoding="utf-8"?>
<resources>
  <dimen name="banner_height">90dp</dimen>
</resources>

banner広告またはMREC広告を非表示にするには、以下を呼び出します。

adView.setVisibility( View.GONE );
adView.stopAutoRefresh();

banner広告またはMREC広告を表示するには、以下を呼び出します。

adView.setVisibility( View.VISIBLE );
adView.startAutoRefresh();

メディエーションネットワークの準備

統合する広告ネットワークを選択します。 その後、具体的な手順に従ってください。

  • Amazon
  • Google Ad Manager
  • Google Bidding and Google AdMob
  • Liftoff Monetize
  • Meta Audience Network
  • Mintegral
  • AndroidXへの移行

    AndroidXライブラリをプロジェクトに統合します。 プロジェクトの移行方法の詳細については、AndroidXへの移行ガイドを参照してください。

    Google AdSense、AdManager、またはAdMobを使用するデベロッパーおよびパブリッシャーは、Googleが認定した同意管理プラットフォーム(CMP)を使用する必要があります。 欧州経済領域(EEA)または英国のユーザーに広告を配信する場合、CMPはIABのTransparency and Consent Framework(TCF)と統合されている必要があります。 詳細については、プライバシー:「TCF v2同意」を参照してください。

    Google biddingおよびGoogle AdMob / Google Ad ManagerのアプリIDの追加

    アプリのAndroidManifest.xmlで、<application>タグ内に<meta-data>タグを追加します。 以下の例は、このタグの正しい属性を示しています。 «your-admob-app-id»を、お客様のGoogle biddingおよびGoogle AdMob / Google Ad ManagerのアプリIDに置き換えてください。

    <?xml version="1.0" encoding="utf-8"?>
    <manifest … >
      <application … >
        <meta-data
          android:name="com.google.android.gms.ads.APPLICATION_ID"
          android:value="«your-admob-app-id»"/>
        ⋮
      </application>
    </manifest>
    

    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で、compileSdkVersion34以上に設定してください。

    最新の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.setMRAIDSupportedVersions( new String[] { "1.0", "2.0", "3.0" } );
    AdRegistration.setMRAIDPolicy( MRAIDPolicy.CUSTOM );
    

    Amazon SDKからのbanner広告またはMREC広告の読み込み

    Amazon広告をMAXに統合するには、まずAmazon広告を読み込む必要があります。 MAX広告を読み込む前に、DTBAdResponseまたはAdErrorMaxAdViewのインスタンスに渡します。 これは、MaxAdView#setLocalExtraParameter()を呼び出すことで行えます。

    自動更新されるbanner広告の場合、広告の読み込みは1回だけで済みます。

    class ExampleActivity
            extends Activity
    {
      ⋮
    
      private void loadAd()
      {
        String amazonAdSlotId;
        MaxAdFormat adFormat;
    
        if ( AppLovinSdkUtils.isTablet( getApplicationContext() ) )
        {
          amazonAdSlotId = "«Amazon-leader-slot-ID»";
          adFormat = MaxAdFormat.LEADER;
        }
        else
        {
          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( getApplicationContext(), new DTBAdNetworkInfo( ApsAdNetwork.MAX ) );
        adLoader.setSizes( size );
        adLoader.loadAd( new DTBAdCallback()
        {
          @Override
          public void onSuccess(@NonNull final DTBAdResponse dtbAdResponse)
          {
            // 'adView' is your instance of MaxAdView
            adView.setLocalExtraParameter( "amazon_ad_response", dtbAdResponse );
            adView.loadAd();
          }
    
          @Override
          public void onFailure(@NonNull final AdError adError)
          {
            // 'adView' is your instance of MaxAdView
            adView.setLocalExtraParameter( "amazon_ad_error", adError );
            adView.loadAd();
          }
        } );
      }
    }
    

    Amazon SDKからのinterstitial広告の読み込み

    Amazonのinterstitial広告をMAXに統合するには、まずAmazon広告を読み込む必要があります。 MAX広告を読み込む前に、DTBAdResponseまたはAdErrorMaxInterstitialAdのインスタンスに渡します。 これは、MaxInterstitialAd#setLocalExtraParameter()を呼び出すことで行えます。

    セッションごとに1回だけ、AmazonのDTBAdResponseまたはDTBAdErrorInfoを読み込んでMaxInterstitialAdインスタンスに渡す必要があります。

    class ExampleActivity
           extends Activity
    {
      private static MaxInterstitialAd interstitialAd; // static to ensure only one instance exists
      private static boolean           isFirstLoad = true;
    
      private void loadAd()
      {
        if ( isFirstLoad )
        {
          isFirstLoad = false;
    
          if ( interstitialAd == null )
          {
            interstitialAd = new MaxInterstitialAd( "«MAX-inter-ad-unit-ID»" );
          }
    
          DTBAdRequest adLoader = new DTBAdRequest( getApplicationContext(), new DTBAdNetworkInfo( ApsAdNetwork.MAX ) );
          adLoader.setSizes( new DTBAdSize.DTBInterstitialAdSize( "«Amazon-inter-slot-ID»" ) );
          adLoader.loadAd( new DTBAdCallback()
          {
            @Override
            public void onSuccess(@NonNull final DTBAdResponse dtbAdResponse)
            {
              // 'interstitialAd' is your instance of MaxInterstitialAd
              interstitialAd.setLocalExtraParameter( "amazon_ad_response", dtbAdResponse );
              interstitialAd.loadAd();
            }
    
            @Override
            public void onFailure(@NonNull final AdError adError)
            {
              // 'interstitialAd' is your instance of MaxInterstitialAd
              interstitialAd.setLocalExtraParameter( "amazon_ad_error", adError );
              interstitialAd.loadAd();
            }
          } );
        }
        else
        {
          interstitialAd.loadAd();
        }
      }
    }
    

    Amazon SDKからの動画interstitial広告の読み込み

    Amazonの動画interstitial広告をMAXに統合するには、まずAmazon広告を読み込む必要があります。 MAX広告を読み込む前に、DTBAdResponseまたはAdErrorMaxInterstitialAdのインスタンスに渡します。 これは、MaxInterstitialAd#setLocalExtraParameter()を呼び出すことで行えます。

    セッションごとに1回だけ、DTBAdResponseまたはDTBAdErrorInfoを読み込んでMaxInterstitialAdインスタンスに渡す必要があります。

    class ExampleActivity
           extends Activity
    {
      private static MaxInterstitialAd interstitialAd; // static to ensure only one instance exists
      private static boolean           isFirstLoad = true;
    
      private void loadAd()
      {
        if ( isFirstLoad )
        {
          isFirstLoad = false;
    
          if ( interstitialAd == null )
          {
            interstitialAd = new MaxInterstitialAd( "«MAX-inter-ad-unit-ID»" );
          }
    
          DTBAdRequest adLoader = new DTBAdRequest( getApplicationContext(), new DTBAdNetworkInfo( ApsAdNetwork.MAX ) );
    
          // 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()
          {
            @Override
            public void onSuccess(@NonNull final DTBAdResponse dtbAdResponse)
            {
              // 'interstitialAd' is your instance of MaxInterstitialAd
              interstitialAd.setLocalExtraParameter( "amazon_ad_response", dtbAdResponse );
              interstitialAd.loadAd();
            }
    
            @Override
            public void onFailure(@NonNull final AdError adError)
            {
              // 'interstitialAd' is your instance of MaxInterstitialAd
              interstitialAd.setLocalExtraParameter( "amazon_ad_error", adError );
              interstitialAd.loadAd();
            }
          } );
        }
        else
        {
          interstitialAd.loadAd();
        }
      }
    }
    

    Amazon SDKからの動画rewarded広告の読み込み

    Amazonの動画rewarded広告をMAXに統合するには、まずAmazon広告を読み込みます。 MAX広告を読み込む前に、DTBAdResponseまたはAdErrorMaxRewardedAdのインスタンスに渡します。 これは、MaxRewardedAd#setLocalExtraParameter()を呼び出すことで行えます。

    セッションごとに1回だけ、DTBAdResponseまたはAdErrorMaxRewardedAdインスタンスに渡す必要があります。

    class ExampleActivity
            extends Activity
    {
      private static MaxRewardedAd rewardedAd; // static to ensure only one instance exists
      private static boolean       isFirstLoad = true;
    
      private void loadAd()
      {
        if ( isFirstLoad )
        {
          isFirstLoad = false;
    
          if ( rewardedAd == null )
          {
            rewardedAd = MaxRewardedAd.getInstance( "«MAX-rewarded-ad-unit-ID»" );
          }
    
          DTBAdRequest adLoader = new DTBAdRequest( getApplicationContext(), new DTBAdNetworkInfo( ApsAdNetwork.MAX ) );
    
          // 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()
          {
            @Override
            public void onSuccess(@NonNull final DTBAdResponse dtbAdResponse)
            {
              // 'rewardedAd' is your instance of MaxRewardedAd
              rewardedAd.setLocalExtraParameter( "amazon_ad_response", dtbAdResponse );
              rewardedAd.loadAd();
            }
    
            @Override
            public void onFailure(@NonNull final AdError adError)
            {
              // 'rewardedAd' is your instance of MaxRewardedAd
              rewardedAd.setLocalExtraParameter( "amazon_ad_error", adError );
              rewardedAd.loadAd();
            }
          } );
        }
        else
        {
          rewardedAd.loadAd();
        }
      }
    }
    

    Amazon Publisher Servicesのテスト

    AppLovinでは、Amazon SDKのテストモードを有効にすることを推奨しています。 これにより、テスト広告を受信できるようになります。 テストモードを有効にするには、以下のコールを行います。

    AdRegistration.enableTesting( true );
    AdRegistration.enableLogging( true );
    

    ウォーターフォールをフィルタリングして、Amazon広告のみを含めることができます。 これを行うには、Mediation DebuggerSelect Live Networkに移動し、Amazonネットワークを選択します。

    Meta Audience Networkのデータ処理オプション

    Limited Data Use(LDU)モードを有効にしたくない場合は、SetDataProcessingOptions()に空の文字列配列を渡します。

    import com.facebook.ads.AdSettings;
    ⋮
    AdSettings.setDataProcessingOptions( new String[] {} );
    ⋮
    // Initialize MAX SDK
    

    ユーザーに対してLDUを有効にし、ユーザーの地域を指定するには、以下のような形式でSetDataProcessingOptions()を呼び出します。

    import com.facebook.ads.AdSettings;
    ⋮
    AdSettings.setDataProcessingOptions( new String[] {"LDU"}, «country», «state» );
    ⋮
    // Initialize MAX SDK
    

    Google UMPの使用

    CMPとしてGoogle UMPを使用している場合、ユーザーがMetaに同意したかどうかを判断できます。 そのためには、以下のようなコードを使用します。

    Boolean hasMetaConsent = AppLovinPrivacySettings.getAdditionalConsentStatus( 89 );
    if ( hasMetaConsent != null )
    {
      // Set Meta Data Processing Options accordingly.
    }
    else
    {
      // 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 Developersのドキュメントを参照してください。

    Androidマニフェストのマージエラー

    一部のネットワークSDKには、バンドルされているAndroid Manifestファイルに<queries>要素が含まれています。 互換性のないバージョンのAndroid Gradleプラグインを使用している場合、これが原因で以下のいずれかのビルドエラーが発生します。

    com.android.builder.internal.aapt.v2.Aapt2Exception: Android resource linking failed
    error: unexpected element <queries> found in <manifest>.
    

    このエラーを修正するには、以下のいずれかのバージョンのAndroid Gradleプラグインにアップグレードしてください。 これらのバージョンは<queries>要素をサポートしています。

    Gradle Build Toolsではなく、Android Gradle Pluginをアップグレードしてください。

    現在の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+

    MAXメディエーションネットワークの手動ダウンロード

    読み込み中...

    search