리워드 비디오 형태 소개
- 광고 시청을 대가로 인앱 가치를 지닌 보상(재화, 기능, 컨텐츠 등)을 제공하는 형태의 광고입니다.
- 보상을 대가로 시청하므로 동영상 광고의 스킵이 불가능하며 일반적인 길이는 30초입니다.

광고 단위 설정
대시보드에서 발급받은ad unit ID를 사용하여 광고 단위를 설정하세요.
Copy
Ask AI
let rewardAdUnit = DaroAdUnit(unitId: "your_rewarded_unit_id")
광고 구현
Copy
Ask AI
class ExampleViewController: UIViewController {
private var daroRewardedAd: DaroRewardedAd? = nil
let daroRewardedLoader = DaroRewardedAdLoader(unit: rewardAdUnit)
override func viewDidLoad() {
super.viewDidLoad()
setupRewardedAd()
}
private func setupRewardedAd() {
// 광고 로드 성공 리스너
daroRewardedLoader.listener.onAdLoadSuccess = { [weak self] ad, adInfo in
print("[DARO] Listener Reward Ad loaded: \(ad) \(adInfo)")
self?.showAd(ad: ad)
}
// 광고 클릭 리스너
daroRewardedLoader.listener.onAdClicked = { adInfo in
print("[DARO] Listener Reward Ad clicked: \(adInfo)")
}
// 광고 노출 리스너
daroRewardedLoader.listener.onAdImpression = { adInfo in
print("[DARO] Listener Reward Ad impression: \(adInfo)")
}
// 광고 로드 실패 리스너
daroRewardedLoader.listener.onAdLoadFail = { error in
print("[DARO] Listener Reward Ad failed: \(error)")
}
daroRewardedLoader.loadAd()
}
private func showAd(ad: DaroRewardedAd) {
self.daroRewardedAd = ad
// 보상 획득 리스너
self.daroRewardedAd?.rewardedAdListener.onEarnedReward = { adInfo, rewardedItem in
print("[DARO] Listener Reward Ad earned: \(adInfo) \(rewardedItem)")
}
// 광고 표시 성공 리스너
self.daroRewardedAd?.rewardedAdListener.onShown = { adInfo in
print("[DARO] Listener Reward Ad shown: \(adInfo)")
}
// 광고 닫힘 리스너
self.daroRewardedAd?.rewardedAdListener.onDismiss = { adInfo in
print("[DARO] Listener Reward Ad dismissed: \(adInfo)")
}
// 광고 표시 실패 리스너
self.daroRewardedAd?.rewardedAdListener.onFailedToShow = { adInfo, error in
print("[DARO] Listener Reward Ad failed to show: \(adInfo) \(error)")
}
showRewardedAd()
}
private func showRewardedAd() {
daroRewardedAd?.show(viewController: self)
}
}
리워드 아이템 구조
리워드 비디오 광고 시청 완료 시 전달되는DaroRewardedItem은 다음과 같은 구조를 가집니다:
Copy
Ask AI
struct DaroRewardedItem {
let amount: Int // 보상 수량
let rewardType: String // 보상 타입 (예: "coin", "gem", "energy" 등)
}
추가 기능
사용자 식별자 설정
다음 코드는 사용자의 내부 User ID를 태그하는 방법을 보여줍니다. User ID 문자열의 최대 크기는 8192자입니다.Copy
Ask AI
DaroAds.shared.userId = "user_id"
플레이스먼트 설정
다음 코드는 ad unit에 placement 이름을 추가하는 방법을 보여줍니다.Copy
Ask AI
let rewardAdUnit = DaroAdUnit(
unitId: "your_rewarded_unit_id",
placement: "your_rewarded_placement"
)

