バックフィル広告は、メイン広告が読み込めない場合に代わりに表示される広告です。広告在庫が不足していたり、ネットワークの問題で広告を受信できなかった場合でも、空白なく他の広告を表示できます。
活用シナリオ
- メイン広告ネットワークから広告を受信できなかった場合
- 特定の地域や時間帯に広告在庫が不足している場合
- 広告読み込み失敗時の代替広告表示
コンソール設定
バックフィル広告を使用するには、Adropコンソールでの設定が必要です。
バックフィル設定
ユニット設定でバックフィル広告オプションを有効にし、バックフィルソースを選択します。
詳細なコンソール設定はバックフィル広告ガイドを参照してください。
SDK実装
バックフィル広告はSDKで自動的に処理されます。メイン広告の読み込みが失敗すると、設定されたバックフィル広告が自動的に読み込まれます。
バナー広告のバックフィル
import AdropAds
class ViewController: UIViewController, AdropBannerDelegate {
private var banner: AdropBanner?
override func viewDidLoad() {
super.viewDidLoad()
// 通常のバナー広告と同じように実装
banner = AdropBanner(unitId: "YOUR_UNIT_ID")
banner?.delegate = self
if let bannerView = banner {
view.addSubview(bannerView)
// Auto Layoutの設定...
}
banner?.load()
}
// バックフィル広告も同じデリゲートで処理
func onAdReceived(_ banner: AdropBanner) {
print("広告受信 (メイン広告またはバックフィル広告)")
}
func onAdFailedToReceive(_ banner: AdropBanner, _ errorCode: AdropErrorCode) {
// メイン広告とバックフィル広告の両方が失敗した場合
print("広告受信失敗: \(errorCode)")
}
}
ネイティブ広告のバックフィル
ネイティブ広告も同じ方式でバックフィルが自動適用されます。
nativeAd = AdropNativeAd(unitId: "YOUR_UNIT_ID")
nativeAd?.delegate = self
nativeAd?.load()
// デリゲートでメイン広告またはバックフィル広告を受信
func onAdReceived(_ nativeAd: AdropNativeAd) {
print("広告受信成功")
// ビューにバインディング
}
バックフィルの動作方式
- SDKがメイン広告をリクエスト
- メイン広告の読み込み失敗時、自動的にバックフィル広告をリクエスト
- バックフィル広告受信成功 →
onAdReceivedを呼び出し
- バックフィル広告も失敗 →
onAdFailedToReceiveを呼び出し
バックフィル広告はコンソールで設定された場合にのみ動作します。SDKコードの変更なしに、コンソール設定だけでバックフィルを有効化/無効化できます。
ベストプラクティス
1. エラー処理
バックフィルまで失敗した場合に備えて、代替UIを準備してください。
func onAdFailedToReceive(_ banner: AdropBanner, _ errorCode: AdropErrorCode) {
// メイン広告とバックフィルの両方が失敗
// 代替コンテンツの表示または広告エリアを非表示
bannerContainerView.isHidden = true
// または自社プロモーションバナーを表示
showPromotionBanner()
}
2. ロギング
デバッグモードでどの広告が読み込まれたかを確認してください。
func onAdReceived(_ banner: AdropBanner) {
#if DEBUG
print("広告受信成功 - Unit ID: \(banner.unitId)")
#endif
}
3. 頻度制限
バックフィル広告が頻繁に表示される場合は、広告品質を監視してください。コンソールのダッシュボードでメイン広告とバックフィル広告の比率を確認できます。
関連ドキュメント