ネイティブ広告(Native ads)
ネイティブ広告を使用すると、既存のデザインと一貫性のある方法でアプリを収益化できます。AppLovin MAX SDKは、広告の個々のアセットへのアクセスを提供します。これにより、広告のレイアウトをアプリのルック&フィールに合わせてデザインできます。SDK は、画像を自動的にキャッシュし、メトリクスを追跡します。そのため、広告をいつ、どこで、どのように表示するかに集中できます。
テンプレート
ネイティブ広告をアプリに連携する最も簡単な方法は、テンプレートAPIを使用することです。
AppLovin MAX SDKでは、ネイティブ広告のアセットがあらかじめ準備されたandroid.view.View
をロードできます。
APIテンプレートを使用するには、Create New Ad Unit画面で「Small」(360×120dp)または「Midium」(300×250dp)のサイズのテンプレートを選択してください。
「Small」テンプレートのメディアビューの範囲は、テンプレート幅の3分の1と、テンプレートの高さまでを占めます。
「Medium」テンプレートのメディアビューでは、メディアコンテンツの幅と高さは上限までを占め、コンテンツのアスペクト比が維持されます。
必要に応じて最適なサイズを選んでください。
メディアコンテンツが正しく表示されるように、ネイティブ広告のコンテナビューの高さを設定します。
SDKが自動的にビューのレイアウトを処理します。
ネイティブ広告の読み込み
ネイティブ広告をロードするには、広告ユニットに対応するMaxNativeAdLoader
をインスタンス化し、そのloadAd()
メソッドを呼び出します。
ネイティブ広告の準備が完了した際に通知されるように、MaxNativeAdLoadListener
を実装します。その他の広告関連イベントの通知を受けるには、MaxAdListener
を実装します。
destroy()
メソッドを呼び出して、ネイティブ広告の使用されていないインスタンスをクリーンアップします。
public class ExampleActivity extends Activity{ private MaxNativeAdLoader nativeAdLoader; private MaxAd nativeAd;
void createNativeAd() { FrameLayout nativeAdContainer = findViewById( R.id.native_ad_layout );
nativeAdLoader = new MaxNativeAdLoader( "«ad-unit-ID»", this ); nativeAdLoader.setNativeAdListener( new MaxNativeAdListener() { @Override public void onNativeAdLoaded(final MaxNativeAdView nativeAdView, final MaxAd ad) { // Clean up any pre-existing native ad to prevent memory leaks. if ( nativeAd != null ) { nativeAdLoader.destroy( nativeAd ); }
// Save ad for cleanup. nativeAd = ad;
// Add ad view to view. nativeAdContainer.removeAllViews(); nativeAdContainer.addView( nativeAdView ); }
@Override public void onNativeAdLoadFailed(final String adUnitId, final MaxError error) { // AppLovin recommends that you retry with exponentially higher delays up to a maximum delay }
@Override public void onNativeAdClicked(final MaxAd ad) { // Optional click callback } } );
nativeAdLoader.loadAd(); }
@Override protected void onDestroy() { // Destroy the native ad and native ad loader to prevent memory leaks. if ( nativeAd != null ) { nativeAdLoader.destroy( nativeAd ); }
nativeAdLoader.destroy(); super.onDestroy(); }}
class ExampleActivity : Activity(){ private lateinit var nativeAdLoader: MaxNativeAdLoader private var nativeAd: MaxAd? = null
fun createNativeAd() { val nativeAdContainer = findViewById(R.id.native_ad_layout) nativeAdLoader = MaxNativeAdLoader("«ad-unit-ID»", this) nativeAdLoader.setNativeAdListener(object : MaxNativeAdListener() {
override fun onNativeAdLoaded(nativeAdView: MaxNativeAdView?, ad: MaxAd) { // Clean up any pre-existing native ad to prevent memory leaks. if (nativeAd != null) { nativeAdLoader.destroy(nativeAd) }
// Save ad for cleanup. nativeAd = ad
// Add ad view to view. nativeAdContainer.removeAllViews() nativeAdContainer.addView( nativeAdView ) }
override fun onNativeAdLoadFailed(adUnitId: String, error: MaxError) { // AppLovin recommends that you retry with exponentially higher delays up to a maximum delay }
override fun onNativeAdClicked(ad: MaxAd) { // Optional click callback } }) nativeAdLoader.loadAd() }
override fun onDestroy() { // Destroy the native ad and native ad loader to prevent memory leaks. if (nativeAd != null) { nativeAdLoader.destroy(nativeAd) }
nativeAdLoader.destroy() super.onDestroy() }}
アセットサイズ
AppLovin Exchangeデマンドの場合、タイトル、説明文、CTAに使用できる最大文字数は以下のとおりです。
アセット | 最大文字数数 |
---|---|
タイトル | 50文字 |
説明 | 150文字。149文字の後に省略記号(… )を150番目の文字として追加できます。 |
CTA | 15文字 |
SDKメディエーションネットワークの場合、ネットワークが最大文字数を設定します。
メディアコンテンツのアスペクト比を取得する方法
次のコード スニペットは、ネイティブ広告のメディア コンテンツのアスペクト比を取得する方法を示しています。
@Overridepublic void onNativeAdLoaded(final MaxNativeAdView adView, final MaxAd ad){ MaxNativeAd nativeAd = ad.getNativeAd(); if ( nativeAd != null ) { float aspectRatio = nativeAd.getMediaContentAspectRatio(); }}
override fun onNativeAdLoaded(nativeAdView: MaxNativeAdView?, ad: MaxAd) { val nativeAd = ad.nativeAd if (nativeAd != null) { val aspectRatio = nativeAd.mediaContentAspectRatio }}
サポートされているアダプターのバージョン
アドネットワーク | アダプターバージョン |
---|---|
BidMachine | 1.9.4.1 |
Google アドマネージャー | 20.5.0.2 |
Google 入札と Google AdMob | 20.5.0.2 |
Inmobi | 10.0.5.3 |
LINE | 2021.5.11.9 |
Meta Audience Network | 6.8.0.3 |
Mintegral | 15.8.1.1 |
Pangle | 4.1.1.5.2 |
スマート | 21.6.7.1 |
VK Ad Network | 5.14.4.2 |
Yandex | 5.3.0.1 |
マニュアル
この API は、カスタムビューがあり、ネイティブ広告アセットをそれらのビューに手動で読み込む場合に使用します。この統合方法には、次の 3 つの大まかな手順が含まれます。
- UI コンポーネントをバインドします。
- ネイティブ広告を読み込みます。
- ネイティブ広告を破棄します。
手動APIを使用するには、Create New Ad Unit画面でManualテンプレートを選択してください。
バインドUIコンポーネント
カスタム UI コンポーネントを MAX SDK にバインドできます。その後、ネイティブ広告アセットをそれらのコンポーネントにレンダリングできます。次の例は、レイアウトエディタを使用して作成したカスタムビューと一意のビュー ID でこれを示しています。ただし、ビューをプログラムで作成する場合は、この方法を使用することもできます。
AppLovinのポリシーでは、広告にプライバシー情報アイコンを含める必要があります。
このアイコンは、重要なプライバシー通知にリンクしており、MaxNativeAdViewBinder.Builder#setOptionsContentViewGroupId(…)
経由でバインドできます。
<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="https://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content">
<ImageView android:id="@+id/icon_image_view" … /> <LinearLayout android:id="@+id/ad_options_view" … /> <TextView android:id="@+id/title_text_view" … /> <FrameLayout android:id="@+id/star_rating_view" … /> <TextView android:id="@+id/advertiser_textView" … /> <TextView android:id="@+id/body_text_view" … /> <FrameLayout android:id="@+id/media_view_container" … /> <Button android:id="@+id/cta_button" … /></androidx.constraintlayout.widget.ConstraintLayout>
次に、一意のビューIDを使用してサブビューをMaxNativeAdViewBinder
のインスタンスにバインドします。
AppLovinは、ネットワークが特定のアセットを返すことを保証しません。
public class ExampleActivity extends Activity implements MaxAdRevenueListener{ ⋮ private MaxNativeAdView createNativeAdView() { MaxNativeAdViewBinder binder = new MaxNativeAdViewBinder.Builder( R.layout.native_custom_ad_view ) .setTitleTextViewId( R.id.title_text_view ) .setBodyTextViewId( R.id.body_text_view ) .setStarRatingContentViewGroupId( R.id.star_rating_view ) .setAdvertiserTextViewId( R.id.advertiser_textView ) .setIconImageViewId( R.id.icon_image_view ) .setMediaContentViewGroupId( R.id.media_view_container ) .setOptionsContentViewGroupId( R.id.options_view ) .setCallToActionButtonId( R.id.cta_button ) .build();
return new MaxNativeAdView( binder, this ); } ⋮}
class ExampleActivity : Activity(), MaxAdRevenueListener{ ⋮ private fun createNativeAdView(): MaxNativeAdView { val binder: MaxNativeAdViewBinder = MaxNativeAdViewBinder.Builder(R.layout.native_custom_ad_view) .setTitleTextViewId(R.id.title_text_view) .setBodyTextViewId(R.id.body_text_view) .setStarRatingContentViewGroupId(R.id.star_rating_view ) .setAdvertiserTextViewId(R.id.advertiser_textView) .setIconImageViewId(R.id.icon_image_view) .setMediaContentViewGroupId(R.id.media_view_container) .setOptionsContentViewGroupId(R.id.options_view) .setCallToActionButtonId(R.id.cta_button) .build() return MaxNativeAdView(binder, this) } ⋮}
ネイティブ広告を読み込む
プリレンダリングされた広告を読み込む
プリレンダリングされたネイティブ広告をロードするには、広告ユニットIDに対応するMaxNativeAdLoader
をインスタンス化して、そのloadAd(MaxNativeAdView)
メソッドを呼び出します。
ネイティブ広告のロードステートが変更された際に通知されるように、MaxNativeAdLoadListener
を実装し、設定します。
広告の読み込みとレンダリングを別々に行う
ネイティブ広告をロードするには、広告ユニットIDに対応するMaxNativeAdLoader
をインスタンス化して、そのloadAd()
メソッドを呼び出します。
ネイティブ広告のロードステートが変更された際に通知されるように、MaxNativeAdLoadListener
を実装し、設定します。次に、onNativeAdLoaded
で返されるMaxAd
を使用して広告ビューをレンダリングします。
これを行うには、MaxNativeAdLoader.render(MaxNativeAdView, MaxAd)
を呼び出してください。
ネイティブ広告を破棄する
ネイティブ広告の使用を中止する場合は、destroy()
メソッドを呼び出してリソースをクリーンアップします。
これを行わない場合、アプリのパフォーマンスは時間とともに低下します。
以下は、ネイティブ広告をロードして破棄する方法の例です。
これは、前の手順でUIコンポーネントをバインドした後に行います。
public class ExampleActivity extends Activity implements MaxAdRevenueListener{ private ViewGroup nativeAdContainerView; private MaxNativeAdLoader nativeAdLoader; private MaxAd loadedNativeAd;
⋮
private void createNativeAdLoader() { nativeAdLoader = new MaxNativeAdLoader( "«ad-unit-ID»", this ); nativeAdLoader.setRevenueListener( this ); nativeAdLoader.setNativeAdListener( new NativeAdListener() ); }
private void loadNativeAd() { nativeAdLoader.loadAd( createNativeAdView() ); }
@Override public void onAdRevenuePaid(final MaxAd ad) { }
private class NativeAdListener extends MaxNativeAdListener { @Override public void onNativeAdLoaded(final MaxNativeAdView nativeAdView, final MaxAd nativeAd) { // Clean up any pre-existing native ad to prevent memory leaks. if ( loadedNativeAd != null ) { nativeAdLoader.destroy( loadedNativeAd ); }
// Save ad for cleanup. loadedNativeAd = nativeAd;
nativeAdContainerView.removeAllViews(); nativeAdContainerView.addView( nativeAdView ); }
@Override public void onNativeAdLoadFailed(final String adUnitId, final MaxError error) { // Native ad load failed. // AppLovin recommends retrying with exponentially higher delays up to a maximum delay. }
@Override public void onNativeAdClicked(final MaxAd nativeAd) { } }
@Override protected void onDestroy() { // Destroy the native ad and native ad loader to prevent memory leaks. if ( loadedNativeAd != null ) { nativeAdLoader.destroy( loadedNativeAd ); }
nativeAdLoader.destroy(); super.onDestroy(); }}
class ExampleActivity : Activity(), MaxAdRevenueListener{ private val nativeAdContainerView: ViewGroup? = null private var nativeAdLoader: MaxNativeAdLoader? = null private var loadedNativeAd: MaxAd? = null
⋮
private fun createNativeAdLoader() { nativeAdLoader = MaxNativeAdLoader("«ad-unit-ID»", this) nativeAdLoader.setRevenueListener(this) nativeAdLoader.setNativeAdListener(NativeAdListener()) }
private fun loadNativeAd() { nativeAdLoader.loadAd(createNativeAdView()) }
override fun onAdRevenuePaid(ad: MaxAd) {}
private inner class NativeAdListener : MaxNativeAdListener() { override fun onNativeAdLoaded(nativeAdView: MaxNativeAdView?, nativeAd: MaxAd) { // Clean up any pre-existing native ad to prevent memory leaks. if (loadedNativeAd != null) { nativeAdLoader.destroy(loadedNativeAd) }
// Save ad for cleanup. loadedNativeAd = nativeAd nativeAdContainerView.removeAllViews() nativeAdContainerView.addView(nativeAdView) }
override fun onNativeAdLoadFailed(adUnitId: String, error: MaxError) { // Native ad load failed. // AppLovin recommends retrying with exponentially higher delays up to a maximum delay. }
override fun onNativeAdClicked(nativeAd: MaxAd) {}
override fun onDestroy() { // Destroy the native ad and native ad loader to prevent memory leaks. if (loadedNativeAd != null) { nativeAdLoader.destroy(loadedNativeAd) }
nativeAdLoader.destroy() super.onDestroy() } }}
アセットサイズ
AppLovinは、アプリの他の部分がどのように見えるかという文脈で適切なだけ、ネイティブ要素を組み込むことを推奨しています。これらには、タイトルとメディアビューまたはアイコンが含まれる場合があります。ユーザーに詳細情報を提供すれば、広告をクリックするかどうかをユーザーが判断しやすくなります。
AppLovin Exchangeデマンドの場合、タイトル、説明文、CTAに使用できる最大文字数は以下のとおりです。
アセット | 最大文字数数 |
---|---|
タイトル | 50文字 |
説明 | 150文字。149文字の後に省略記号(… )を150番目の文字として追加できます。 |
CTA | 15文字 |
SDKメディエーションネットワークの場合、ネットワークが最大文字数を設定します。
メディアコンテンツのアスペクト比を取得する方法
次のコード スニペットは、ネイティブ広告のメディア コンテンツのアスペクト比を取得する方法を示しています。
@Overridepublic void onNativeAdLoaded(final MaxNativeAdView adView, final MaxAd ad){ MaxNativeAd nativeAd = ad.getNativeAd(); if ( nativeAd != null ) { float aspectRatio = nativeAd.getMediaContentAspectRatio(); }}
override fun onNativeAdLoaded(nativeAdView: MaxNativeAdView?, ad: MaxAd) { val nativeAd = ad.nativeAd if (nativeAd != null) { val aspectRatio = nativeAd.mediaContentAspectRatio }}
サポートされているアダプターのバージョン
アドネットワーク | アダプターバージョン |
---|---|
BidMachine | 1.9.4.1 |
Google アドマネージャー | 20.5.0.2 |
Google 入札と Google AdMob | 20.5.0.2 |
Inmobi | 10.0.5.3 |
LINE | 2021.5.11.9 |
Meta Audience Network | 6.8.0.3 |
Mintegral | 15.8.1.1 |
Pangle | 4.1.1.5.2 |
スマート | 21.6.7.1 |
VK Ad Network | 5.14.4.2 |
Yandex | 5.3.0.1 |
星評価
AppLovin MAX SDK v11.7.0以降、広告されたアプリの星評価にアクセスしてレンダリングできます。この値は、使用可能な場合、[0.0, 5.0] の範囲の浮動小数点数です。
MAX SDK は、星評価コンテナとして指定したコンテナ ビューに星を自動的にレンダリングします。ネットワークが星評価を提供していない場合、または星評価が < 3 の場合、SDK は星評価コンテナビューを埋めません。それに応じてレイアウトを調整する責任があります。
現在の広告の星評価を取得するには:
@Overridepublic void onNativeAdLoaded(final MaxNativeAdView adView, final MaxAd ad){ MaxNativeAd nativeAd = ad.getNativeAd(); if ( nativeAd != null ) { Double starRating = nativeAd.getStarRating(); if ( starRating == null || starRating < 3 ) { // Star rating not available, or < 3 - hide star rating container view return; }
// Star rating available and >= 3 - show star rating container view }}
override fun onNativeAdLoaded(nativeAdView: MaxNativeAdView?, ad: MaxAd) { val nativeAd = ad.nativeAd if (nativeAd != null) { val starRating = nativeAd.starRating if (starRating == null || starRating < 3) { // Star rating not available, or < 3 - hide star rating container view return }
// Star rating available and >= 3 - show star rating container view }}
サポートされているアダプターのバージョン (星評価)
アドネットワーク | アダプターバージョン |
---|---|
Google アドマネージャー | 20.5.0.2 |
Google 入札と Google AdMob | 20.5.0.2 |
Inmobi | 10.1.2.3 |
Mintegral | 16.3.41.1 |
広告プレーサー
Ad PlacerはRecyclerView
を使用して、既存のコンテンツストリームにネイティブ広告を自動的に挿入します。
このAPIを連携するには、以下の手順に従ってください。
- ネイティブ広告のレイアウトを設定します。
- 広告プレーサー設定を作成します。
- 広告プレーサーを設定します。
- 広告のレンダリング設定を構成します。
- 必要に応じて、listener を設定します。
これらの手順については、以下で詳しく説明します。
AppLovinのポリシーでは、広告にプライバシー情報アイコンを含める必要があります。
このアイコンは、重要なプライバシー通知にリンクしており、MaxNativeAdViewBinder.Builder#setOptionsContentViewGroupId(…)
経由でバインドできます。
1. ネイティブ広告レイアウトを設定する
Ad Placerは、テンプレートまたは手動のネイティブ広告レイアウトをサポートします。 広告レイアウトの設定方法については、このページの「テンプレート」および「手動」セクションを参照してください。 Ad Placerを設定してレイアウトをサポートする方法については、以下の広告レンダリングの設定を参照してください。
2. 広告プレーサー設定を作成する
広告ユニット識別子を使用して MaxAdPlacerSettings
オブジェクトを作成します。
このオブジェクトは、Ad Placerを設定し、フィード内の広告の位置情報を提供します。
MaxAdPlacerSettings settings = new MaxAdPlacerSettings( "«ad-unit-ID»" );
val settings = MaxAdPlacerSettings("«ad-unit-ID»")
広告の位置を設定する
Ad placer はフィードに広告を配置します。これは、次のうち少なくとも 1 つに基づいて行われます。
- 広告を配置する場所を示す固定インデックス パスの一覧
- 広告を定期的に挿入する間隔
- 広告プレーサーでは、最後の固定位置の後に繰り返し広告が挿入されます。固定掲載順位を設定しない場合、広告掲載枠はストリームの最初の掲載順位の後に繰り返し広告を追加します。この間隔値は 2 以上である必要があります。 間隔の値が 2 より小さいと、広告プレーサーは無効になります。
MaxAdPlacerSettings
を変更して広告位置を設定します。
- 新しい固定広告の掲載順位(行 1 など)を追加するには:
settings.addFixedPosition( 3 );
settings.addFixedPosition( 3 )
- 既存の固定ポジションを削除するには:
settings.resetFixedPositions();
settings.resetFixedPositions()
- 繰り返しの間隔を変更するには(たとえば、フィードの 5 つの位置に広告を挿入する):
settings.setRepeatingInterval( 5 );
settings.repeatingInterval = 5
追加設定
Ad Placerに設定を加えるには、MaxAdPlacerSettings
の設定を調整します。
maxAdCount
- ストリーム内の広告の最大数を設定します (デフォルト = 256)。ストリームに複数のセクションが含まれている場合は、広告セクションあたりの広告の最大数を決定します。
maxPreloadedAdCount
- ストリームに配置するためにプリロードする広告の最大数に設定します(デフォルト = 4)。
3. Ad Placer を設定する
広告プレーサーを設定する際には、次の 2 つのオプションのいずれかを選択します。
- フィードが
RecyclerView
ベースの場合、MaxRecyclerAdapter
を使用します。ヘルパークラスが元のアダプターをラップし、広告を自動的にレンダリングして、フィードに挿入します。 基盤となるAd Placerにアクセスするには、getAdPlacer()
を呼び出します。 MaxAdPlacer
はサブクラス化するか、直接使用できます。これは、例えば、フィードに他のカスタムUIコンポーネントを使用する場合に利用します。
MaxRecyclerAdapter の使用
MaxRecyclerAdapter
でAd Placerを設定するには、以下の手順に従ってください。
MaxRecyclerAdapter
の設定、元のアダプター、アクティビティを初期化します。adAdapter = new MaxRecyclerAdapter( settings, adapter, this );
adAdapter = MaxRecyclerAdapter(settings, adapter, this)
- リサイクラービューのアダプターをインスタンス化された
MaxRecyclerAdapter
に設定してください:recyclerView.setAdapter(adAdapter );
recyclerView.adapter = adAdapter
- コードを更新して、以下を実装します。
- ストリームに項目を追加または削除するたびに、アダプターから適切なメソッドを呼び出します。次の方法では、配信の更新を広告掲載者に通知します。
notifyItemInserted()
notifyItemRemoved()
notifyItemsInserted()
notifyItemsRemoved()
- 元のアダプターにデータオブザーバーを登録している場合は、代わりに
MaxRecyclerAdapter
に登録してください。 これにより、広告挿入後にコンテンツアイテムの調整された位置を取得できます。 - 広告挿入前のコードの他の部分がコンテンツアイテムの位置に依存している場合は、元の位置に変換してください。
これを行うには、
adAdapter.getOriginalPosition()
を呼び出します。
- ストリームに項目を追加または削除するたびに、アダプターから適切なメソッドを呼び出します。次の方法では、配信の更新を広告掲載者に通知します。
loadAds()
を呼び出して、広告のロードを開始します。adAdapter.loadAds();
adAdapter.loadAds()
以下のコードは、MaxRecyclerAdapter
を使用して広告をリサイクラービューにロードする方法を示しています。
@Overridepublic void onCreate(Bundle savedInstanceState){ super.onCreate( savedInstanceState ); // Create your own recycler view and original adapter ⋮
// Configure ad adapter MaxAdPlacerSettings settings = new MaxAdPlacerSettings( "«ad-unit-ID»" ); settings.setRepeatingInterval( 5 ); adAdapter = new MaxRecyclerAdapter( settings, originalAdapter, this );
// Optionally, register listener adAdapter.setListener( this );
// Configure recycler view and load ads recyclerView.setAdapter( adAdapter ); adAdapter.loadAds();}
@Overridepublic void onDestroy(){ adAdapter.destroy(); super.onDestroy();}
override fun onCreate(savedInstanceState: Bundle?){ super.onCreate(savedInstanceState) // Create your own recycler view and original adapter ⋮
// Configure ad adapter val settings = MaxAdPlacerSettings("«ad-unit-ID»") settings.repeatingInterval = 5 adAdapter = MaxRecyclerAdapter(settings, originalAdapter, this)
// Optionally, register listener adAdapter.listener = this
// Configure recycler view and load ads recycler.adapter = adAdapter adAdapter.loadAds()}
override fun onDestroy(){ adAdapter.destroy() super.onDestroy()}
4. 広告レンダリング設定を構成する
テンプレート
デフォルトのテンプレートを使用すると、広告ビューのサイズは「小」の場合は 360×120、「中」の場合は 360×300 に自動的に表示されます。
広告をロードする前にAd PlacerのsetAdSize
プロパティを設定することで、レンダリングされる広告のサイズをカスタマイズできます。
例えば、広告サイズを幅300、高さ200に設定するには、以下を呼び出します。
adAdapter.getAdPlacer().setAdSize( 300, 200 );
adAdapter.adPlacer.setAdSize(300, 200)
幅または高さとして、-1 (MATCH_PARENT
) の値を渡すこともできます。
これを行うと、広告ビューは親ビューの対応するディメンションに表示されます。
マニュアル
手動レイアウトを使用する場合は、広告をロードする前にAd PlacerでsetNativeAdViewBinder
を呼び出す必要があります。
手動テンプレートを使用する場合は、常に広告サイズを設定してください。
これにより、レンダリングが最適化されます。
5. オプションでリスナーを設定
広告プレーサーは、イベントを通知するオプションのリスナーをサポートしています。
onAdLoaded()
onAdRemoved()
onAdClicked()
onAdRevenuePaid()