Skip to main content

Rewarded Video Ad Format

Provides in-app rewards (currency, features, content) in exchange for watching video ads. Videos are non-skippable and typically run 30 seconds. Rv Example Image Pn

How It Works

Rv Example Gif Gi

Ad Unit Setup

Configure your ad unit using the ad unit ID issued from the dashboard.
  • Swift
  • Objective-C
let rewardAdUnit = DaroAdUnit(unitId: "your_rewarded_unit_id")

Ad Implementation

  • 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() {
        // 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)
    }
}

Reward Item Structure

The reward item delivered upon completion of watching a rewarded video ad has the following structure:
  • Swift
  • Objective-C
struct DaroRewardedItem {
    let amount: Int           // Reward amount
    let rewardType: String    // Reward type (e.g., "coin", "gem", "energy", etc.)
}

Additional Features

Setting User Identifier

The following code shows how to tag a user’s internal User ID. The maximum size of the User ID string is 8192 characters.
  • Swift
  • Objective-C
DaroAds.shared.userId = "user_id"

Setting Placement

You can set a placement before showing the ad.
  • Swift
  • Objective-C
daroRewardedAd?.setPlacement("your_rewarded_placement")
daroRewardedAd?.show(viewController: self)

Setting Custom Data

You can add custom data to rewarded video ads. This data can be used in server-side callbacks.
  • Swift
  • Objective-C
daroRewardedAd?.setCustomData("your_custom_data")
daroRewardedAd?.show(viewController: self)