Skip to main content

概要

バナー広告は画面の一部に表示される矩形の広告です。XMLレイアウトとコードの両方で使用できます。

主な特徴

  • 画面の上部、下部、または中央に固定配置可能
  • 画像および動画広告に対応
  • XMLレイアウトとプログラム方式の両方に対応
  • リスナーによる広告イベント処理
開発環境ではテストユニットIDを使用してください:PUBLIC_TEST_UNIT_ID_320_100

XMLレイアウト実装

XMLレイアウトでAdropBannerを定義し、ActivityまたはFragmentからロードする方式です。

1. XMLレイアウト定義

FrameLayoutまたは他のコンテナにAdropBannerを配置します。
activity_main.xml

2. Activityからロード

XML属性


プログラム方式での実装

コードで直接AdropBannerインスタンスを作成してビューに追加する方式です。

AdropBannerの初期化

コンストラクタ

Context
必須
ActivityまたはApplicationのContext

ユニットIDの設定

String
必須
Adropコンソールで作成したユニットID

広告のロード

バナーを画面に追加した後、load()メソッドを呼び出して広告をリクエストします。
バナーが画面に表示されている時点でload()を呼び出してください。表示されていない状態でロードすると、インプレッションが正確に測定されない場合があります。

リスナーの実装

AdropBannerListenerインターフェースは広告のライフサイクルイベントを処理します。

onAdReceived(必須)

広告の受信に成功した時に呼び出されます。

onAdFailedToReceive(必須)

広告の受信に失敗した時に呼び出されます。
AdropErrorCode
エラーの種類を示すコード。詳細はリファレンスを参照してください。

onAdImpression(オプション)

広告が画面に表示された時に呼び出されます。

onAdClicked(必須)

ユーザーが広告をクリックした時に呼び出されます。

onAdVideoStart(オプション)

動画バナー広告で動画再生が開始された時に呼び出されます。

onAdVideoEnd(オプション)

動画バナー広告で動画再生が終了した時に呼び出されます。

コンテキストIDの設定

コンテキストターゲティングのためにコンテキストIDを設定できます。
コンテキストIDは広告をロードする前に設定する必要があります。

ライフサイクル管理

destroy()

バナーを使用しなくなった時は、必ずdestroy()を呼び出してリソースを解放してください。
destroy()を呼び出さないとメモリリークが発生する可能性があります。

広告サイズ

バナー広告はユニットに設定したサイズに合わせてビューのサイズを指定する必要があります。

一般的なバナーサイズ

XMLでサイズを指定

コードでサイズを指定


テストユニットID

開発およびテスト時は以下のテストユニットIDを使用してください。

使用例


動画再生制御

動画バナー広告の場合、play()pause()を使用してビデオ再生を手動で制御できます。

play()

動画の再生を再開します。ポップアップが閉じたり、アプリがバックグラウンドから復帰してバナーが再び表示されるときに呼び出してください。

pause()

動画の再生を一時停止します。バナーがポップアップで隠れたり、アプリがバックグラウンドに移行するときに呼び出してください。

例:バックグラウンド/フォアグラウンドの処理

play()pause()は動画バナー広告にのみ影響します。画像バナーには効果がありません。

カスタムクリック処理

デフォルトでは、SDKはユーザーがバナー広告をクリックすると自動的に遷移先URLを開きます。クリックイベントを自分で処理したい場合(例:確認ダイアログの表示、分析ログの記録後に遷移など)、useCustomClickを使用できます。
Boolean
デフォルト:"false"
trueに設定すると、SDKはクリック時に自動的に遷移先URLを開きません。onAdClickedイベントのみ発火し、open()を手動で呼び出す必要があります。

open()

広告の遷移先URLを開きます。カスタムURLを渡して別のURLを開くこともできます。
open()useCustomClicktrueに設定されている場合のみ動作します。useCustomClickfalse(デフォルト)の場合、SDKが自動的にURLを開きます。

ベストプラクティス

1. メモリ管理

ActivityやFragmentが終了する時は必ずバナーを解放してください。

2. 画面の可視性

バナーが画面に表示されている時に広告をロードしてください。

3. エラー処理

広告ロード失敗時の適切なエラー処理を実装してください。

4. RecyclerViewでの使用

RecyclerViewでバナーを使用する時は、ViewHolderで適切に管理してください。

完全な例

Kotlinの例

Javaの例

XMLレイアウト

activity_banner.xml

一括ロード (loads)

AdropBanner.loads()を使用すると、1回の呼び出しで複数のバナー広告をまとめてリクエストできます。カルーセルやページネーション付きフィード、広告プールのプリフェッチなどに有用です。

シグネチャ

使用方法

リスナーコールバック

単体onAdReceived / onAdFailedToReceiveコールバックはloads()経路では呼ばれません。バッチ結果は必ずonAdsReceived / onAdsFailedToReceiveで受け取ってください。

制約事項

  • 呼び出しあたり最大5個。 サーバーがそれ以上を返しても先頭の5個のみ配信されます。
  • バックフィルは適用されません。 ダイレクト広告が埋まらない場合、バックフィル設定に関わらずonAdsFailedToReceiveERROR_CODE_AD_NO_FILLで呼ばれます。
  • onAdsReceived内でdestroy()を呼ばないでください。 まず各バナーをビュー階層に付加し、その後親Activity.onDestroy()(または同等のタイミング)でdestroy()してください。
  • onAdsReceivedは広告データが適用され次第発火し、単体load()と同じ動作です — ビューに付加後にクリエイティブが描画されます。

バックフィル広告

バックフィル広告が有効な場合、ダイレクト広告がないときに自動的にバックフィル広告がロードされます。isBackfilledプロパティでバックフィル広告かどうかを確認できます。
バックフィル広告を使用するには、io.adrop:adrop-ads-backfill依存関係を追加する必要があります。

次のステップ

ネイティブ広告

UIに合わせてカスタマイズ可能なネイティブ広告を実装

インタースティシャル広告

全画面のインタースティシャル広告を実装

ターゲティング設定

ユーザー属性とコンテキストターゲティングを設定

リファレンス

クラス、リスナー、エラーコードを確認