메인 콘텐츠로 건너뛰기

리워드 비디오 형태 소개

  • 광고 시청을 대가로 인앱 가치를 지닌 보상(재화, 기능, 컨텐츠 등)을 제공하는 형태의 광고입니다.
  • 보상을 대가로 시청하므로 동영상 광고의 스킵이 불가능하며 일반적인 길이는 30초입니다.
Rv Example Image Pn

How It Works

Rv Example Gif Gi

광고 단위 설정

대시보드에서 발급받은 ad unit ID를 사용하여 광고 단위를 설정하세요.
  • Swift
  • Objective-C
let rewardAdUnit = DaroAdUnit(unitId: "your_rewarded_unit_id")

광고 구현

  • Swift
  • Objective-C
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)
    }
}

리워드 아이템 구조

리워드 비디오 광고 시청 완료 시 전달되는 리워드 아이템은 다음과 같은 구조를 가집니다:
  • Swift
  • Objective-C
struct DaroRewardedItem {
    let amount: Int           // 보상 수량
    let rewardType: String    // 보상 타입 (예: "coin", "gem", "energy" 등)
}

추가 기능

사용자 식별자 설정

다음 코드는 사용자의 내부 User ID를 태그하는 방법을 보여줍니다. User ID 문자열의 최대 크기는 8192자입니다.
  • Swift
  • Objective-C
DaroAds.shared.userId = "user_id"

플레이스먼트 설정

광고 표시 전에 placement를 설정할 수 있습니다.
  • Swift
  • Objective-C
daroRewardedAd?.setPlacement("your_rewarded_placement")
daroRewardedAd?.show(viewController: self)

커스텀 데이터 설정

리워드 비디오 광고에 커스텀 데이터를 추가할 수 있습니다. 이 데이터는 서버 측 콜백에서 사용할 수 있습니다.
  • Swift
  • Objective-C
daroRewardedAd?.setCustomData("your_custom_data")
daroRewardedAd?.show(viewController: self)