class ExampleViewController: UIViewController {
private var daroRewardedAd: DaroRewardedAd? = nil
let daroRewardedLoader = DaroRewardedAdLoader(unit: rewardAdUnit)
override func viewDidLoad() {
super.viewDidLoad()
setupRewardedAd()
}
private func setupRewardedAd() {
// Ad load success listener
daroRewardedLoader.listener.onAdLoadSuccess = { [weak self] ad, adInfo in
print("[DARO] Listener Reward Ad loaded: \(ad) \(adInfo)")
self?.showAd(ad: ad)
}
// Ad click listener
daroRewardedLoader.listener.onAdClicked = { adInfo in
print("[DARO] Listener Reward Ad clicked: \(adInfo)")
}
// Ad impression listener
daroRewardedLoader.listener.onAdImpression = { adInfo in
print("[DARO] Listener Reward Ad impression: \(adInfo)")
}
// Ad load fail listener
daroRewardedLoader.listener.onAdLoadFail = { error in
print("[DARO] Listener Reward Ad failed: \(error)")
}
daroRewardedLoader.loadAd()
}
private func showAd(ad: DaroRewardedAd) {
self.daroRewardedAd = ad
// Reward earned listener
self.daroRewardedAd?.rewardedAdListener.onEarnedReward = { adInfo, rewardedItem in
print("[DARO] Listener Reward Ad earned: \(adInfo) \(rewardedItem)")
}
// Ad show success listener
self.daroRewardedAd?.rewardedAdListener.onShown = { adInfo in
print("[DARO] Listener Reward Ad shown: \(adInfo)")
}
// Ad dismiss listener
self.daroRewardedAd?.rewardedAdListener.onDismiss = { adInfo in
print("[DARO] Listener Reward Ad dismissed: \(adInfo)")
}
// Ad show fail listener
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)
}
}