Documentation

Unity Ads Monetization


iOS API reference - Swift

iOS API reference - Objective-C

Unity Ads Monetization


Implement rewarded ads in iOS

Implement rewarded ads in your iOS app. Load ad content, display it through Objective-C or Swift code, and use a delegate to manage ad events and reward logic.
Read time 1 minuteLast updated a day ago

Rewarding players for watching ads increases user engagement, resulting in higher revenue. For example, games might reward users with in-game currency, consumables, additional lives, or experience-multipliers. For more information on how to effectively design your rewarded ads, refer to the monetization strategy guide.

Rewarded video ad load example

Use
UADSLoadConfigurationBuilder
to construct a load request with the placement ID, mediation metadata, and optional ad markup for bidding, then pass it to
UADSRewardedAd.load()
. The completion block receives the loaded
UADSRewardedAd
instance on success. Retain it, as it's required to show the ad later, or an error object on failure.
@property (strong) UADSRewardedAd *rewardedAd;UADSLoadConfigurationBuilder *builder =[[UADSLoadConfigurationBuilder alloc] initWithPlacementId:placementId];builder = [builder withMediationInfo:self.mediationInfo];builder = [builder withAdMarkup:bidResponse];[UADSRewardedAd load:[builder build] completion:^(UADSRewardedAd *ad, id<UnityAdsError> error) { if (error) { // Handle error } else { self.rewardedAd = ad; }}];

Rewarded video ad show and reward handling example

Call
show()
on the retained
UADSRewardedAd
instance, passing a
UADSShowConfiguration
built with the presenting view controller, and a
UADSRewardedShowDelegate
. In addition to the standard
showDidStart
,
showDidClick
,
showDidComplete
, and
showDidFail
callbacks, the delegate provides a dedicated
showDidReceiveReward
callback that fires when the user earns a reward. Grant the reward in
showDidReceiveReward
rather than in
showDidComplete
to avoid conditional completion-state checks.
@interface MyDelegate : NSObject <UADSRewardedShowDelegate>@end@implementation MyDelegate- (void)showDidStart:(UADSRewardedAd *)unityAd {}- (void)showDidClick:(UADSRewardedAd *)unityAd {}- (void)showDidComplete:(UADSRewardedAd *)unityAd with:(UADSShowFinishState)finishState {}- (void)showDidFail:(UADSRewardedAd *)unityAd error:(id<UnityAdsError>)error {}- (void)showDidReceiveReward:(UADSRewardedAd *)unityAd { // reward callback}@endUADSShowConfigurationBuilder *builder =[[UADSShowConfigurationBuilder alloc] init];builder = [builder withViewController:viewController];[self.rewardedAd show:[builder build] delegate:delegate];
Next steps: To expand your implementation, refer to Implement banner ads in iOS.