> For the complete documentation index, see [llms.txt](https://ios-docs.adster.tech/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ios-docs.adster.tech/ad-types/rewarded-interstitial-ad.md).

# Rewarded-Interstitial Ad

To receive Rewarded Ads, conform to the `MediationAdDelegate` protocol. Once the ad is loaded, it can be presented by calling `presentRewardedInterstitial(from:)`.

**Implementation:**

```swift
extension RewardedInterstitialAdManager: MediationAdDelegate {
    func onRewardedInterstitialAdLoaded(rewardedInterstitialAd: any MediationRewardedInterstitialAd) {
        rewardedInterstitialAd.presentRewardedInterstitial(from: self)
        rewardedInterstitialAd.eventDelegate = self
    }

    func onAdFailedToLoad(error: AdError) {
        print("RewardedInterstitialAd Ad request failed with reason \(error.description)")
    }
    
    func onAdRevenuePaid(revenue: Double, adUnitId: String, network: String, currency: String, precisionType: AdsFramework.PrecisionType) {
        print("Revenue: \(revenue) \(currency), adUnitId: \(adUnitId), network: \(network), precision: \(precisionType)")
        
    }
}
```

**Tracking Events:**

To track rewarded-interstitial video events, conform to `MediationRewardedInterstititalAdEventDelegate`:

```swift
extension RewardedInterstitialAdManager: MediationRewardedInterstitialAdEventDelegate {
    func recordRewardedInterstitialClick() {
        print("Rewarded interstitial clicked")
    }
    
    func recordRewardedInterstitialImpression() {
        print("Rewarded interstitial impression recorded")
    }
    
    func didRewardUser(reward: AdsFramework.AdReward) {
        print("User rewarded: \(reward.amount) \(reward.type)")
    }
}
```
