概要
バナー広告は画面の一部領域に表示される長方形の広告です。AdropBannerViewウィジェットを使用して簡単に実装できます。
主な特徴
- 画面上部、下部、または中央に固定配置可能
- 画像および動画広告をサポート
- コールバックによる広告イベント処理
- 広告メタデータを提供(クリエイティブID、キャンペーンIDなど)
開発環境ではテストユニットIDを使用してください:
PUBLIC_TEST_UNIT_ID_320_100AdropBannerView
コンストラクタ
プロパティ
メソッド
基本的な使い方
AdropBannerListener
バナー広告イベントを処理するリスナーです。コールバック関数
コールバックの説明
メタデータ
onAdReceived、onAdClicked、onAdImpressionコールバックでメタデータを受け取ることができます。
クリエイティブサイズはメタデータではなく、
bannerView.creativeSize?.widthおよびbannerView.creativeSize?.heightからアクセスします。広告サイズ
バナー広告はユニットに設定したサイズに合わせてコンテナサイズを指定する必要があります。一般的なバナーサイズ
固定サイズの使用
画面幅に合わせる
サイズ設定
adSizeプロパティを使用してバナービューのサイズを明示的に設定できます。
エラー処理
広告ロード失敗時に適切なエラー処理を実装してください。ベストプラクティス
1. リソースの解放
バナービューが不要になったら必ずdispose()を呼び出してください。
2. 広告の更新
必要に応じて広告を更新できます。3. 条件付きレンダリング
広告がロードされるまでバナー領域を非表示にするか、プレースホルダーを表示してください。4. 複数バナーの管理
複数のバナーを使用する場合は、それぞれの状態を管理してください。完全な例
バックフィル広告
バックフィル広告が有効な場合、ダイレクト広告がない時に自動的にバックフィル広告がロードされます。バックフィル広告のロードはSDKが自動的に処理します。backfillNoFillエラーコードを使用してバックフィル関連のエラーを処理できます。
バナー広告のメタデータには
creativeId、txId、campaignId、destinationURL、browserTargetフィールドのみが含まれます。バックフィル広告はメタデータでは区別できません。backfillNoFillエラーコードを使用してバックフィル広告の失敗を検知できます。バックフィル広告を使用するには、ネイティブプラットフォームにバックフィル依存性を追加する必要があります。はじめにを参照してください。
バックフィル広告のプリロード (preload)
SDK 1.17.0から、AdropBannerView.preload()でバックフィルバナー広告をプリロードしておくことができます。同じユニットIDと同じサイズでload()したバナーが、ダイレクト広告なしでバックフィル広告に切り替わると、バックフィル広告を再度リクエストせず、プリロードしておいた広告をすぐに表示します。
load()はpreloadに関係なく、まずダイレクト広告をリクエストします。ダイレクト広告が表示された場合、プリロードしておいた広告はそのまま残ります。preloadを呼び出さなければ、動作はこれまでと同じです。
動作条件
adrop_ads_flutter1.17.0以降と、ネイティブプラットフォームのバックフィル依存性1.17.0以降が必要です。はじめにを参照してください。- 現在表示するダイレクト広告がないとサーバーからアプリに通知されている状態でのみ、バックフィル広告を受信します。それ以外の場合は、バックフィル広告をリクエストせずに
ERROR_CODE_AD_PRELOAD_SKIPPEDで終了します。ダイレクト広告のキャンペーンがあるアプリでは正常な結果です。 - アプリのインストール直後、アプリキーを変更した直後、
setUIDで別のユーザーに切り替えた直後は、サーバーの応答を受信するまでERROR_CODE_AD_PRELOAD_SKIPPEDで終了します。 - テストユニットIDでは常に
ERROR_CODE_AD_PRELOAD_SKIPPEDで終了します。
使用方法
バナーがある画面を表示する直前に呼び出してください。プリロードした広告は使用されないと30分後に破棄されるため、すぐに表示するバナーに対してのみ呼び出してください。結果を待ってからload()する必要はありません。まだ受信中の場合は、load()がその結果を待って使用します。
preload()はプリロードに成功すると完了し、それ以外の結果(ERROR_CODE_AD_PRELOAD_SKIPPEDを含む)は、codeがエラーコード文字列であるPlatformExceptionとして渡されます。処理しないと、正常な結果であるSKIPPEDも未処理の非同期エラーとして報告されるため、try/catchで囲むか、.catchErrorを付けてください。
load()するAdropBannerViewのadSizeを、preloadに渡したサイズと同じに設定してください。
プリロードした広告が使われる条件
- 同じユニットIDと同じサイズ:
load()するAdropBannerViewのadSizeが、preloadに渡したサイズと同じである必要があります。サイズが異なる場合、プリロードした広告はそのまま残り、load()は通常どおりバックフィル広告をリクエストします。 - 一度だけ使用: プリロードした広告は、1回の
load()で使用されるとなくなります。再度プリロードするには、preloadをもう一度呼び出してください。 - 有効期間と個数: 30分以内に使用されなかった広告は破棄されます。同じユニット・サイズには1個のみ保持し、バナーは異なるユニット・サイズの組み合わせを最大5個まで保持します。5個を超えると、最も早く受信した広告から破棄します。
- 再度呼び出す場合: 同じユニット・サイズで再度呼び出しても、新たにリクエストしません。受信済みの広告がある場合は新しいリクエストなしで完了し、受信中の場合はそのロードの結果(成功または失敗)がそのまま伝えられます。広告を更新する用途には使用できません。ただし、その間にユーザーの同意状態が変わった場合は、既存の広告を破棄して新たに受信します。
- 同意状態の変更: プリロードした後にユーザーの同意状態が変わると、その広告は
load()に使用されません。 - 完了の意味:
preload()が完了したということは、プリロードが終わったという意味です。その結果を待っていたload()がすでに使用している場合もあります。
失敗コード
次のステップ
ネイティブ広告
UIに合わせてカスタマイズ可能なネイティブ広告を実装する
インタースティシャル広告
全画面を覆うインタースティシャル広告を実装する
ポップアップ広告
ポップアップ形式の広告を実装する
リファレンス
タイプ、メソッド、エラーコードを参照する