Documentation Index
Fetch the complete documentation index at: https://guide.daro.so/llms.txt
Use this file to discover all available pages before exploring further.
배너 & MREC 형태 소개
배너 광고
- 앱 레이아웃의 일부를 차지하는 직사각형 광고 형태로 보편적으로 사용됩니다.
- 대부분의 광고 디맨드들이 지원하는 형태인 320x50 사이즈를 사용합니다.
MREC 광고
- 300x250 의 사이즈를 MREC으로 구분하여 부릅니다.
- 전반적으로 배너와 동일한 특성을 가집니다.
광고 단위 설정
대시보드에서 발급받은 ad unit ID를 사용하여 광고 단위를 설정하세요.
let bannerUnit = DaroAdUnit(unitId: "your_banner_unit_id")
let mrecUnit = DaroAdUnit(unitId: "your_mrec_unit_id")
// Objective-C에서는 DaroAdUnit을 별도로 생성하지 않고
// 초기화 시 unitId를 직접 전달합니다
NSString *bannerUnitId = @"your_banner_unit_id";
NSString *mrecUnitId = @"your_mrec_unit_id";
광고 구현
기본 사용법
// 배너 광고
let bannerView = DaroAdBannerView(
unit: bannerUnit,
bannerSize: .banner
)
// MREC 광고
let bannerView = DaroAdBannerView(
unit: mrecUnit,
bannerSize: .MREC
)
// 배너 광고
DaroObjCBannerView *bannerView = [[DaroObjCBannerView alloc]
initWithUnitId:bannerUnitId
bannerSize:DaroObjCBannerSizeBanner];
// MREC 광고
DaroObjCBannerView *mrecView = [[DaroObjCBannerView alloc]
initWithUnitId:mrecUnitId
bannerSize:DaroObjCBannerSizeMrec];
Note: 배너 광고는 생성 시 자동으로 초기 광고를 로드합니다.
수동 초기 로드 설정
광고의 초기 로드 시점을 직접 제어하려면 autoLoad 파라미터를 사용할 수 있습니다.
// 배너 광고 - 수동 초기 로드 모드
let bannerView = DaroAdBannerView(
unit: bannerUnit,
bannerSize: .banner,
autoLoad: false // 자동 초기 로드 비활성화
)
// 원하는 시점에 초기 광고 로드
bannerView.loadAd()
// 배너 광고 - 수동 초기 로드 모드
DaroObjCBannerView *bannerView = [[DaroObjCBannerView alloc]
initWithUnitId:bannerUnitId
bannerSize:DaroObjCBannerSizeBanner
autoLoad:NO]; // 자동 초기 로드 비활성화
// 원하는 시점에 초기 광고 로드
[bannerView loadAd];
autoLoad 파라미터
true (기본값): 뷰 생성 시 자동으로 초기 광고 로드
false: 수동으로 loadAd() 호출 시 초기 광고 로드
수동 초기 로드는 다음과 같은 경우에 유용합니다:
- 특정 사용자 액션 후에 광고를 표시하고 싶을 때
- 화면 전환 시 광고 로드 타이밍을 제어하고 싶을 때
- 네트워크 상태를 확인한 후 광고를 로드하고 싶을 때
참고: 로드 이후 광고 새로고침은 SDK가 자동으로 관리합니다.
리스너/델리게이트 설정
Swift (Listener)
Objective-C (Delegate)
광고의 상태 변화를 모니터링하기 위해 리스너를 설정할 수 있습니다.bannerView.listener.onAdLoadSuccess = { ad, adInfo in
print("[DARO] Listener Banner Ad loaded: \(ad) \(adInfo)")
}
bannerView.listener.onAdLoadFail = { error in
print("[DARO] Listener Banner Ad failed: \(error)")
}
bannerView.listener.onAdClicked = { adInfo in
print("[DARO] Listener Banner Ad clicked: \(adInfo)")
}
bannerView.listener.onAdImpression = { adInfo in
print("[DARO] Listener Banner Ad impression: \(adInfo)")
}
광고의 상태 변화를 모니터링하기 위해 델리게이트를 설정할 수 있습니다.1. 헤더 파일에서 델리게이트 프로토콜 채택:@interface YourViewController () <DaroObjCBannerViewDelegate>
@property (nonatomic, strong) DaroObjCBannerView *bannerView;
@end
2. 델리게이트 설정:// 델리게이트 설정
self.bannerView.delegate = self;
// 뷰 계층에 추가
[self.view addSubview:self.bannerView];
3. 델리게이트 메서드 구현:#pragma mark - DaroObjCBannerViewDelegate
- (void)bannerViewDidLoad:(DaroObjCBannerView *)bannerView
adInfo:(DaroObjCAdInfo *)adInfo {
NSLog(@"[DARO] Banner loaded - Unit: %@", adInfo.adUnitId);
}
- (void)bannerView:(DaroObjCBannerView *)bannerView
didFailWithError:(NSError *)error {
NSLog(@"[DARO] Failed to load: %@", error.localizedDescription);
}
- (void)bannerViewDidClick:(DaroObjCBannerView *)bannerView
adInfo:(DaroObjCAdInfo *)adInfo {
NSLog(@"[DARO] Banner clicked");
}
- (void)bannerViewDidRecordImpression:(DaroObjCBannerView *)bannerView
adInfo:(DaroObjCAdInfo *)adInfo {
NSLog(@"[DARO] Banner impression recorded");
}