Skip to main content

인터스티셜 광고 형태 소개

  • 화면 전체를 덮는 형태로 노출되는 광고입니다.
  • 이미지/동영상 모두 포함되나 동영상 소재가 더 많이 노출되며 일반적으로 5초 후부터 스킵이 가능합니다.
인터스티셜 광고 예시

광고 단위 설정

대시보드에서 발급받은 ad unit ID를 사용하여 광고 단위를 설정하세요.
let interstitialUnit = DaroAdUnit(unitId: "your_interstitial_unit_id")

광고 구현

class ExampleViewController: UIViewController {
    private var daroInterstitialAd: DaroInterstitialAd? = nil
    let daroInterstitialLoader = DaroInterstitialAdLoader(unit: interstitialUnit)
    
    override func viewDidLoad() {
        super.viewDidLoad()
        setupInterstitialAd()
    }
    
    private func setupInterstitialAd() {
        // 광고 로드 성공 리스너
        daroInterstitialLoader.listener.onAdLoadSuccess = { [weak self] ad, adInfo in
            print("[DARO] Listener Interstitial Ad loaded: \(ad) \(adInfo)")
            self?.showAd(ad: ad)
        }
        
        // 광고 클릭 리스너
        daroInterstitialLoader.listener.onAdClicked = { adInfo in
            print("[DARO] Listener Interstitial Ad clicked: \(adInfo)")
        }
        
        // 광고 노출 리스너
        daroInterstitialLoader.listener.onAdImpression = { adInfo in
            print("[DARO] Listener Interstitial Ad impression: \(adInfo)")
        }
        
        // 광고 로드 실패 리스너
        daroInterstitialLoader.listener.onAdLoadFail = { error in
            print("[DARO] Listener Interstitial Ad failed: \(error)")
        }
        daroInterstitialLoader.loadAd()
    }

    private func showAd(ad: DaroInterstitialAd) {
        self.daroInterstitialAd = ad
        
        // 광고 표시 성공 리스너
        self.daroInterstitialAd?.interstitialListener.onShown = { adInfo in
            print("[DARO] Listener Interstitial Ad shown: \(adInfo)")
        }
            
        // 광고 닫힘 리스너
        self.daroInterstitialAd?.interstitialListener.onDismiss = { adInfo in
            print("[DARO] Listener Interstitial Ad dismissed: \(adInfo)")
        }
            
        // 광고 표시 실패 리스너
        self.daroInterstitialAd?.interstitialListener.onFailedToShow = { adInfo, error in
            print("[DARO] Listener Interstitial Ad failed to show: \(adInfo) \(error)")
        }
        showInterstitialAd()
    }
    
    private func showInterstitialAd() {
        daroInterstitialAd?.show(viewController: self)
    }
}
I