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

How It Works

광고 단위 설정
대시보드에서 발급받은ad unit ID를 사용하여 광고 단위를 설정하세요.
- Swift
- Objective-C
복사
AI에게 묻기
let interstitialUnit = DaroAdUnit(unitId: "your_interstitial_unit_id")
복사
AI에게 묻기
// Objective-C에서는 초기화 시 unitId를 직접 전달합니다
NSString *interstitialUnitId = @"your_interstitial_unit_id";
광고 구현
- Swift
- Objective-C
복사
AI에게 묻기
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)
}
}
1. 헤더 파일에서 delegate 프로토콜 채택:2. 인터스티셜 광고 설정 및 로드:3. Delegate 메서드 구현:4. 광고 표시:
복사
AI에게 묻기
@interface ExampleViewController () <DaroObjCInterstitialAdDelegate>
@property (nonatomic, strong) DaroObjCInterstitialAd *interstitialAd;
@end
복사
AI에게 묻기
- (void)setupInterstitialAd {
self.interstitialAd = [[DaroObjCInterstitialAd alloc]
initWithAdUnitId:@"your_interstitial_unit_id"];
self.interstitialAd.delegate = self;
// 광고 로드
[self.interstitialAd load];
}
복사
AI에게 묻기
#pragma mark - DaroObjCInterstitialAdDelegate
- (void)interstitialAdDidLoad:(DaroObjCInterstitialAd *)ad
adInfo:(DaroObjCAdInfo *)adInfo {
NSLog(@"[DARO] Interstitial ad loaded - Unit: %@", adInfo.adUnitId);
}
- (void)interstitialAdDidFail:(DaroObjCInterstitialAd *)ad
toLoad:(NSError *)error {
NSLog(@"[DARO] Failed to load: %@", error.localizedDescription);
}
- (void)interstitialAdDidShow:(DaroObjCInterstitialAd *)ad
adInfo:(DaroObjCAdInfo *)adInfo {
NSLog(@"[DARO] Interstitial ad shown");
}
- (void)interstitialAdDidFail:(DaroObjCInterstitialAd *)ad
toShow:(DaroObjCAdInfo *)adInfo
error:(NSError *)error {
NSLog(@"[DARO] Failed to show: %@", error.localizedDescription);
}
- (void)interstitialAdDidClick:(DaroObjCInterstitialAd *)ad
adInfo:(DaroObjCAdInfo *)adInfo {
NSLog(@"[DARO] Interstitial ad clicked");
}
- (void)interstitialAdDidRecordImpression:(DaroObjCInterstitialAd *)ad
adInfo:(DaroObjCAdInfo *)adInfo {
NSLog(@"[DARO] Impression recorded");
}
- (void)interstitialAdDidDismiss:(DaroObjCInterstitialAd *)ad
adInfo:(DaroObjCAdInfo *)adInfo {
NSLog(@"[DARO] Interstitial ad dismissed");
}
복사
AI에게 묻기
- (void)showInterstitialAd {
if (self.interstitialAd.isReady) {
[self.interstitialAd showFrom:self];
} else {
NSLog(@"[DARO] Ad is not ready to show");
}
}

