概要
バナー広告は、画面の一部領域に表示される長方形の広告です。UIKitとSwiftUIの両方で使用できます。主な特徴
- 画面の上部、下部、または中央に固定配置可能
- 画像および動画広告に対応
- UIKitおよびSwiftUIの両方をサポート
- デリゲートによる広告イベント処理
開発環境ではテストユニットIDを使用してください:
PUBLIC_TEST_UNIT_ID_320_100UIKit実装
UIKit環境ではAdropBannerクラスを使用してバナー広告を実装します。
基本実装
AdropBannerの初期化
Adropコンソールで作成したユニットID
広告の読み込み
バナーを画面に追加した後、load()メソッドを呼び出して広告をリクエストします。
Context IDの設定
コンテキストターゲティングのためにContext IDを設定できます。SwiftUI実装
SwiftUI環境ではAdropBannerRepresentedを使用してバナー広告を実装します。
基本実装
デリゲート処理
デリゲートを通じて広告イベントを処理できます。Context IDの設定
Objective-C実装
Objective-C環境でバナー広告を実装する方法です。基本実装
Context IDの設定
デリゲートメソッド
AdropBannerDelegateプロトコルは広告のライフサイクルイベントを処理します。
onAdReceived (必須)
広告受信が成功したときに呼び出されます。onAdFailedToReceive (必須)
広告受信が失敗したときに呼び出されます。onAdImpression (オプション)
広告が画面に表示されたときに呼び出されます。onAdClicked (オプション)
ユーザーが広告をクリックしたときに呼び出されます。onAdVideoStart (オプション)
動画広告の再生が開始されたときに呼び出されます。onAdVideoEnd (オプション)
動画広告の再生が完了したときに呼び出されます。クロージャコールバック
デリゲートの代わりにクロージャベースのコールバックを使用できます。デリゲートとクロージャの両方を設定すると、両方が呼び出されます。
広告サイズ
バナー広告は、ユニットに設定したサイズに合わせてビューのサイズを指定する必要があります。一般的なバナーサイズ
| サイズ | 用途 |
|---|---|
| 320 x 50 | 小型バナー |
| 320 x 100 | 大型バナー |
| 16:9比率 | 動画バナー |
UIKit
SwiftUI
ベストプラクティス
1. メモリ管理
ビューコントローラーが解放されるときにバナーも一緒に削除してください。2. 画面の可視性
バナーが画面に表示されるときに広告を読み込んでください。3. 再利用
同じバナーインスタンスを再利用するには、load()を再度呼び出してください。
4. エラー処理
広告読み込み失敗時に適切なエラー処理を実装してください。テストユニットID
開発およびテスト時には以下のテストユニットIDを使用してください。| 広告タイプ | テストユニットID | サイズ |
|---|---|---|
| バナー (320x50) | PUBLIC_TEST_UNIT_ID_320_50 | 320 x 50 |
| バナー (320x100) | PUBLIC_TEST_UNIT_ID_320_100 | 320 x 100 |
| カルーセルバナー | PUBLIC_TEST_UNIT_ID_CAROUSEL | 可変 |
| バナービデオ (16:9) | PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_16_9 | 16:9比率 |
| バナービデオ (9:16) | PUBLIC_TEST_UNIT_ID_BANNER_VIDEO_9_16 | 9:16比率 |
使用例
動画再生制御
動画バナー広告の場合、play()とpause()を使用してビデオ再生を手動で制御できます。
play()
動画の再生を再開します。ポップアップが閉じたり、アプリがバックグラウンドから復帰してバナーが再び表示されるときに呼び出してください。pause()
動画の再生を一時停止します。バナーがポップアップで隠れたり、アプリがバックグラウンドに移行するときに呼び出してください。例:バックグラウンド/フォアグラウンドの処理
play()とpause()は動画バナー広告にのみ影響します。画像バナーには効果がありません。カスタムクリック処理
useCustomClickを使用して、広告クリック動作を直接制御できます。有効にすると、SDKはクリック時に自動的にデスティネーションURLを開かず、自分で処理できます。
useCustomClick
useCustomClickがtrueの場合、広告クリック時にSDKが自動的にデスティネーションURLを開きません。onAdClickedデリゲートコールバックは引き続き呼び出され、open()メソッドを使用するか、ナビゲーションを自分で処理できます。
open()
広告のデスティネーションURLを開きます。オプションでカスタムURLを渡すことができます。一括ロード (loads)
AdropBanner.loads(...)を使用すると、1回の呼び出しで複数のバナー広告をまとめてリクエストできます。カルーセルやページネーション付きフィード、広告プールのプリフェッチなどに有用です。
シグネチャ
使用方法
デリゲートメソッド
| メソッド | 呼び出されるタイミング |
|---|---|
onAdsReceived(_:) | バッチ配信完了。各AdropBannerにはデリゲートがすでに付与され、広告データが適用されています。 |
onAdsFailedToReceive(_:) | リクエスト拒否、ネットワーク失敗、または表示可能な広告がなかった場合 (ERROR_CODE_AD_NO_FILL)。 |
onAdClicked / onAdImpression / onAdVideoStart / onAdVideoEnd | 単体load()と同様に、各バナーごとに呼ばれます。 |
定数
1回の
loads(...)呼び出しで返却される広告の最大数。制約事項
- 呼び出しあたり最大5個。 サーバーがそれ以上を返しても先頭の5個のみ配信されます。
- バックフィルは適用されません。 ダイレクト広告が埋まらない場合、バックフィル設定に関わらず
onAdsFailedToReceiveがERROR_CODE_AD_NO_FILLで呼ばれます。 onAdsReceivedは広告データが適用され次第発火し、単体load()と同じ動作です — ビューに追加後にクリエイティブが描画されます。- 返却されたバナーへの強参照を保持してください(例: ビューコントローラーに保存)。ビュー階層に追加される前に解放されると黙って破棄されます。
バックフィル広告
バックフィル広告が有効な場合、ダイレクト広告がない時に自動的にバックフィル広告がロードされます。isBackfilledプロパティでバックフィル広告かどうかを確認できます。
バックフィル広告を使用するには、
AdropAds-Backfill依存性を追加する必要があります。はじめにを参照してください。次のステップ
ネイティブ広告
UIに合わせてカスタマイズ可能なネイティブ広告の実装
インタースティシャル広告
画面全体を覆うインタースティシャル広告の実装
ターゲティング設定
ユーザー属性とコンテキストターゲティングの設定
リファレンス
クラス、デリゲート、エラーコードの参照