コンテンツにスキップ

バナーおよびMREC広告

次のセクションでは、バナーまたはMREC広告をロードし、表示または非表示にする方法について説明します。

バナーまたはMRECのローディング

バナーやミディアムレクタングル広告(MREC)を表示するには、広告ユニットに対応するMaxAdViewオブジェクトを作成し、そのオブジェクトの loadAd()メソッドを呼び出します。 広告を表示するには、MaxAdView オブジェクトをビュー階層のサブビューとして追加します。 広告の準備が完了した際に通知されるように、MaxAdViewAdListenerを実装します。これにより、他の広告関連イベントも通知されます。

MREC広告をコンテンツフィードに表示することが連携に必要である場合、AppLovinは以下を推奨します。

  • 作成するインスタンス数を最低限に留める。
  • 自動更新を停止する。
  • loadAd() を呼び出してコンテンツを手動で更新します(MaxAdView インスタンスを再利用します)。

実装例については、AppLovinのデモアプリの(JavaKotlin)を参照してください。

バナー

public class ExampleActivity extends Activity
implements MaxAdViewAdListener
{
private MaxAdView adView;
void createBannerAd()
{
adView = new MaxAdView( "«ad-unit-ID»", this );
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 MaxError error) {}
@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) { /* DO NOT USE - THIS IS RESERVED FOR FULLSCREEN ADS ONLY AND WILL BE REMOVED IN A FUTURE SDK RELEASE */ }
@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 */ }
}

MRECs

public class ExampleActivity extends Activity
implements MaxAdViewAdListener
{
private MaxAdView adView;
void createMrecAd
{
adView = new MaxAdView( "«ad-unit-ID»", MaxAdFormat.MREC, this );
adView.setListener( this );
// MREC width and height are 300 and 250 respectively, on phones and tablets
int widthPx = AppLovinSdkUtils.dpToPx( this, 300 );
int heightPx = AppLovinSdkUtils.dpToPx( this, 250 );
adView.setLayoutParams( new FrameLayout.LayoutParams( widthPx, heightPx ) );
// Set background or background color for MRECs 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 MaxError error) {}
@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) { /* DO NOT USE - THIS IS RESERVED FOR FULLSCREEN ADS ONLY AND WILL BE REMOVED IN A FUTURE SDK RELEASE */ }
@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 */ }
}

レイアウトエディターにバナーまたはMRECをロードして表示

別の方法として、ビューレイアウトXMLにMAXバナーまたはMRECを追加することもできます。 背景または背景色 (android:background) を設定して、広告が完全に動作することを確認してください。 バナーの場合は、幅 (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で、ベースとなるバナーの高さが50dpであることを宣言します。

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

res/values-sw600dp/attrs.xmlで、タブレットのバナーの高さが90dpであることを宣言します。

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

この場合も、以下の方法で作成したMaxAdViewで、loadAd()を呼び出す必要があります。

MaxAdView adView = findViewById( R.id.ad_view );
adView.loadAd();

バナーおよびMRECの破棄

MaxAdViewインスタンスが不要になった場合は、そのdestroy()メソッドを呼び出してリソースを解放します。 例えば、ユーザーが広告削除を購入した場合などがこれに該当します。 ただし、同じ広告ユニットIDを持つ複数のインスタンスを使用している場合は、destroy()メソッドを呼び出さないでください。

adView.destroy();

アダプティブバナー

アダプティブバナーは、デバイスの種類やバナーの幅に基づいて高さが調整される、レスポンシブなバナーです。 アダプティブバナーは、通常のバナーと同じ方法で連携します。 ただし、高さは50や90のような定数ではなく、MAAdFormat.banner.adaptiveSize.height が返す値に設定する必要があります。 広告をロードする前に、以下のコードで示すように、バナーの追加パラメーター adaptive_bannertrue に設定してください。

void createBannerAd()
{
adView = new MaxAdView( "«ad-unit-ID»", this );
adView.setListener( this );
// Stretch to the width of the screen for banners to be fully functional
int width = ViewGroup.LayoutParams.MATCH_PARENT;
// Get the adaptive banner height.
int heightDp = MaxAdFormat.BANNER.getAdaptiveSize( this ).getHeight();
int heightPx = AppLovinSdkUtils.dpToPx( this, heightDp );
adView.setLayoutParams( new FrameLayout.LayoutParams( width, heightPx ) );
adView.setExtraParameter( "adaptive_banner", "true" );
// 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();
}

カスタム幅を設定する

より特殊な連携では、ローカルの追加パラメーターAPIを使用してカスタム幅を設定できます(現時点では、Googleアダプターバージョン21.5.0.3およびGoogle アド マネージャーアダプターバージョン21.5.0.2で可能です)。 アダプティブサイズAPIを使用すると、カスタムのアダプティブバナーの高さとして適切な数値を取得できます。

int width = 400;
int heightDp = MaxAdFormat.BANNER.getAdaptiveSize( width, context ).getHeight();
adView.setLocalExtraParameter( "adaptive_banner_width", width );

インラインアダプティブバナー

アダプティブバナーは、デフォルトで固定されています。 または、スクロール可能なコンテンツ内に表示されるインライン アダプティブバナーを有効化することもできます。 インラインアダプティブバナーは、通常、アンカーされたアダプティブバナーよりも大きく、高さがあります。 高さは可変で、デバイス画面の高さいっぱいまで伸ばすことができる。

インラインアダプティブバナーは、Androidアダプターバージョン23.2.0.1、iOSアダプターバージョン11.7.0.1以降でサポートされています。有効化するには、以下のコードのように、追加のローカルパラメーター adaptive_banner_typeinlineに設定してください。

adView.setLocalExtraParameter( "adaptive_banner_type", "inline" );

インラインアダプティブバナーの最大の高さをdpで設定したい場合は、コードを利用します。 以下は、高さを100dpに設定する場合のコードの一例です。

adView.setLocalExtraParameter( "inline_adaptive_banner_max_height", 100 );

アダプティブバナーのサイズに応じてUIを設定する必要がある場合、次のようなコードを使用して、ロードされる広告の幅と高さをdpで取得できます。

@Override
public void onAdLoaded(final MaxAd maxAd)
{
AppLovinSdkUtils.Size adViewSize = maxAd.getSize();
int widthDp = adViewSize.getWidth();
int heightDp = adViewSize.getHeight();
}

自動更新の停止と開始

広告を非表示にする場合や手動で更新する場合など、自動更新を停止したいときは以下のコードを使用します。

// Set this extra parameter to work around SDK bug that ignores calls to stopAutoRefresh()
adView.setExtraParameter( "allow_pause_auto_refresh_immediately", "true" );
adView.stopAutoRefresh();

以下のコードで、広告の自動更新を開始します。

adView.startAutoRefresh();

loadAd()を呼び出して、広告コンテンツを手動で更新します。 これは、自動更新を停止している場合にのみ実行できます。

adView.loadAd();