메인 콘텐츠로 건너뛰기

개요

백필 광고(Backfill Ad)는 기본 광고가 로드되지 않을 때 대체로 표시되는 광고입니다. 광고 인벤토리가 부족하거나 네트워크 문제로 광고를 받지 못했을 때 빈 공간 없이 다른 광고를 표시할 수 있습니다.

활용 시나리오

  • 기본 광고 네트워크에서 광고를 받지 못한 경우
  • 특정 지역이나 시간대에 광고 인벤토리가 부족한 경우
  • 광고 로드 실패 시 대체 광고 표시

콘솔 설정

백필 광고를 사용하려면 애드컨트롤 콘솔에서 설정이 필요합니다.
1

광고 유닛 선택

애드컨트롤 콘솔 > Ad Unit 에서 백필을 설정할 유닛을 선택합니다.
2

백필 설정

유닛 설정에서 백필 광고 옵션을 활성화하고 백필 소스를 선택합니다.
3

저장

설정을 저장합니다.
자세한 콘솔 설정은 백필 광고 가이드를 참고하세요.

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("광고 수신 성공")
    // 뷰에 바인딩
}

백필 동작 방식

  1. SDK가 기본 광고 요청
  2. 기본 광고 로드 실패 시 자동으로 백필 광고 요청
  3. 백필 광고 수신 성공 → onAdReceived 호출
  4. 백필 광고도 실패 → 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. 빈도 제한

백필 광고가 자주 표시되는 경우 광고 품질을 모니터링하세요. 콘솔의 대시보드에서 기본 광고와 백필 광고의 비율을 확인할 수 있습니다.

관련 문서