GoogleMobileAds Framework Reference
Stay organized with collections
Save and categorize content based on your preferences.
GADRewardedInterstitialAd
A rewarded interstitial ad. Rewarded Interstitial ads are full screen ads that can be presented
without user-opt in and allow you to reward the user with in-app items.
-
Declaration
Swift
var adUnitID: String { get }
Objective-C
@property (nonatomic, readonly, nonnull) NSString *adUnitID;
-
Information about the ad response that returned the ad.
Declaration
Swift
var responseInfo: ResponseInfo { get }
Objective-C
@property (nonatomic, readonly, nonnull) GADResponseInfo *responseInfo;
-
The reward earned by the user for interacting with the ad.
Declaration
Swift
var adReward: AdReward { get }
Objective-C
@property (nonatomic, readonly, nonnull) GADAdReward *adReward;
-
Options specified for server-side user reward verification. Must be set before presenting this
ad.
Declaration
Swift
@NSCopying var serverSideVerificationOptions: ServerSideVerificationOptions? { get set }
-
Delegate for handling full screen content messages.
Declaration
Swift
weak var fullScreenContentDelegate: (any FullScreenContentDelegate)? { get set }
-
Called when the ad is estimated to have earned money. Available for allowlisted accounts only.
-
An identifier for a placement in reporting. This property must be set prior to presenting the
ad.
Declaration
Swift
var placementID: Int64 { get set }
Objective-C
@property (nonatomic) int64_t placementID;
-
Loads a rewarded interstitial ad.
Declaration
Swift
class func load(with adUnitID: String, request: Request?) async throws -> RewardedInterstitialAd
Parameters
adUnitID
|
An ad unit ID created in the AdMob or Ad Manager UI.
|
request
|
An ad request object. If nil, a default ad request object is used.
|
completionHandler
|
A handler to execute when the load operation finishes or times out.
|
-
Loads a rewarded interstitial ad.
Declaration
Swift
class func load(with adResponseString: String) async throws -> RewardedInterstitialAd
Parameters
adResponseString
|
A server-to-server ad response string.
|
completionHandler
|
A handler to execute when the load operation finishes or times out.
|
-
Indicates whether the rewarded interstitial ad can be presented from the provided root view
controller. Must be called on the main thread.
Declaration
Swift
@MainActor func canPresent(from rootViewController: UIViewController?) throws
Objective-C
- (BOOL)canPresentFromRootViewController:
(nullable UIViewController *)rootViewController
error:(NSError *_Nullable *_Nullable)error;
Return Value
YES
if the rewarded interstitial ad can be presented from the provided root view
controller, NO
otherwise.
-
Presents the rewarded interstitial ad. Must be called on the main thread.
Declaration
Objective-C
- (void)presentFromRootViewController:
(nullable UIViewController *)viewController
userDidEarnRewardHandler:
(nonnull GADUserDidEarnRewardHandler)userDidEarnRewardHandler;
Parameters
viewController
|
A view controller to present the ad. If nil, attempts to present from the
top view controller of the application’s main window.
|
userDidEarnRewardHandler
|
A handler to execute when the user earns a reward. adReward
contains the reward information.
|
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-20 UTC.
[null,null,["Last updated 2025-08-20 UTC."],[[["\u003cp\u003e\u003ccode\u003eGADRewardedInterstitialAd\u003c/code\u003e objects represent rewarded interstitial ads, which are full-screen and reward users with in-app items without requiring opt-in.\u003c/p\u003e\n"],["\u003cp\u003eYou can load these ads using an ad unit ID and request, or with a server-to-server ad response string via provided static methods.\u003c/p\u003e\n"],["\u003cp\u003eBefore presenting, ensure the ad can be presented from the desired view controller using the \u003ccode\u003ecanPresentFromRootViewController:error:\u003c/code\u003e method.\u003c/p\u003e\n"],["\u003cp\u003eTo display the ad, call \u003ccode\u003epresentFromRootViewController:userDidEarnRewardHandler:\u003c/code\u003e and provide a handler to process user rewards.\u003c/p\u003e\n"],["\u003cp\u003eThis class offers properties to access ad details such as the ad unit ID, reward information, and response information.\u003c/p\u003e\n"]]],[],null,["# GoogleMobileAds Framework Reference\n\nGADRewardedInterstitialAd\n=========================\n\n\n @interface GADRewardedInterstitialAd\n : NSObject \u003c../Protocols/GADAdMetadataProvider.html, ../Protocols/GADFullScreenPresentingAd.html\u003e\n\nA rewarded interstitial ad. Rewarded Interstitial ads are full screen ads that can be presented\nwithout user-opt in and allow you to reward the user with in-app items.\n- `\n ``\n ``\n `\n\n ### [adUnitID](#/c:objc(cs)GADRewardedInterstitialAd(py)adUnitID)\n\n `\n ` \n The ad unit ID. \n\n #### Declaration\n\n Swift \n\n var adUnitID: String { get }\n\n Objective-C \n\n @property (nonatomic, readonly, nonnull) NSString *adUnitID;\n\n- `\n ``\n ``\n `\n\n ### [responseInfo](#/c:objc(cs)GADRewardedInterstitialAd(py)responseInfo)\n\n `\n ` \n Information about the ad response that returned the ad. \n\n #### Declaration\n\n Swift \n\n var responseInfo: ResponseInfo { get }\n\n Objective-C \n\n @property (nonatomic, readonly, nonnull) ../Classes/GADResponseInfo.html *responseInfo;\n\n- `\n ``\n ``\n `\n\n ### [adReward](#/c:objc(cs)GADRewardedInterstitialAd(py)adReward)\n\n `\n ` \n The reward earned by the user for interacting with the ad. \n\n #### Declaration\n\n Swift \n\n var adReward: AdReward { get }\n\n Objective-C \n\n @property (nonatomic, readonly, nonnull) ../Classes/GADAdReward.html *adReward;\n\n- `\n ``\n ``\n `\n\n ### [serverSideVerificationOptions](#/c:objc(cs)GADRewardedInterstitialAd(py)serverSideVerificationOptions)\n\n `\n ` \n Options specified for server-side user reward verification. Must be set before presenting this\n ad. \n\n #### Declaration\n\n Swift \n\n @NSCopying var serverSideVerificationOptions: ServerSideVerificationOptions? { get set }\n\n Objective-C \n\n @property (nonatomic, copy, nullable) ../Classes/GADServerSideVerificationOptions.html *serverSideVerificationOptions;\n\n- `\n ``\n ``\n `\n\n ### [fullScreenContentDelegate](#/c:objc(cs)GADRewardedInterstitialAd(py)fullScreenContentDelegate)\n\n `\n ` \n Delegate for handling full screen content messages. \n\n #### Declaration\n\n Swift \n\n weak var fullScreenContentDelegate: (any FullScreenContentDelegate)? { get set }\n\n Objective-C \n\n @property (nonatomic, weak, nullable) id\u003c../Protocols/GADFullScreenContentDelegate.html\u003e fullScreenContentDelegate;\n\n- `\n ``\n ``\n `\n\n ### [paidEventHandler](#/c:objc(cs)GADRewardedInterstitialAd(py)paidEventHandler)\n\n `\n ` \n Called when the ad is estimated to have earned money. Available for allowlisted accounts only. \n\n #### Declaration\n\n Swift \n\n var paidEventHandler: ../Type-Definitions.html#/c:GADAdValue.h@T@GADPaidEventHandler? { get set }\n\n Objective-C \n\n @property (nonatomic, copy, nullable) ../Type-Definitions.html#/c:GADAdValue.h@T@GADPaidEventHandler paidEventHandler;\n\n- `\n ``\n ``\n `\n\n ### [placementID](#/c:objc(cs)GADRewardedInterstitialAd(py)placementID)\n\n `\n ` \n An identifier for a placement in reporting. This property must be set prior to presenting the\n ad. \n\n #### Declaration\n\n Swift \n\n var placementID: Int64 { get set }\n\n Objective-C \n\n @property (nonatomic) int64_t placementID;\n\n- `\n ``\n ``\n `\n\n ### [+loadWithAdUnitID:request:completionHandler:](#/c:objc(cs)GADRewardedInterstitialAd(cm)loadWithAdUnitID:request:completionHandler:)\n\n `\n ` \n Loads a rewarded interstitial ad. \n\n #### Declaration\n\n Swift \n\n class func load(with adUnitID: String, request: Request?) async throws -\u003e RewardedInterstitialAd\n\n Objective-C \n\n + (void)loadWithAdUnitID:(nonnull NSString *)adUnitID\n request:(nullable ../Classes/GADRequest.html *)request\n completionHandler:\n (nonnull ../Type-Definitions.html#/c:GADRewardedInterstitialAd.h@T@GADRewardedInterstitialAdLoadCompletionHandler)\n completionHandler;\n\n #### Parameters\n\n |---------------------------|---------------------------------------------------------------------|\n | ` `*adUnitID*` ` | An ad unit ID created in the AdMob or Ad Manager UI. |\n | ` `*request*` ` | An ad request object. If nil, a default ad request object is used. |\n | ` `*completionHandler*` ` | A handler to execute when the load operation finishes or times out. |\n\n- `\n ``\n ``\n `\n\n ### [+loadWithAdResponseString:completionHandler:](#/c:objc(cs)GADRewardedInterstitialAd(cm)loadWithAdResponseString:completionHandler:)\n\n `\n ` \n Loads a rewarded interstitial ad. \n\n #### Declaration\n\n Swift \n\n class func load(with adResponseString: String) async throws -\u003e RewardedInterstitialAd\n\n Objective-C \n\n + (void)loadWithAdResponseString:(nonnull NSString *)adResponseString\n completionHandler:\n (nonnull ../Type-Definitions.html#/c:GADRewardedInterstitialAd.h@T@GADRewardedInterstitialAdLoadCompletionHandler)\n completionHandler;\n\n #### Parameters\n\n |---------------------------|---------------------------------------------------------------------|\n | ` `*adResponseString*` ` | A server-to-server ad response string. |\n | ` `*completionHandler*` ` | A handler to execute when the load operation finishes or times out. |\n\n- `\n ``\n ``\n `\n\n ### [-canPresentFromRootViewController:error:](#/c:objc(cs)GADRewardedInterstitialAd(im)canPresentFromRootViewController:error:)\n\n `\n ` \n Indicates whether the rewarded interstitial ad can be presented from the provided root view\n controller. Must be called on the main thread. \n\n #### Declaration\n\n Swift \n\n @MainActor func canPresent(from rootViewController: UIViewController?) throws\n\n Objective-C \n\n - (BOOL)canPresentFromRootViewController:\n (nullable UIViewController *)rootViewController\n error:(NSError *_Nullable *_Nullable)error;\n\n #### Return Value\n\n `YES` if the rewarded interstitial ad can be presented from the provided root view\n controller, `NO` otherwise.\n- `\n ``\n ``\n `\n\n ### [-presentFromRootViewController:userDidEarnRewardHandler:](#/c:objc(cs)GADRewardedInterstitialAd(im)presentFromRootViewController:userDidEarnRewardHandler:)\n\n `\n ` \n Presents the rewarded interstitial ad. Must be called on the main thread. \n\n #### Declaration\n\n Swift \n\n @MainActor func present(from viewController: UIViewController?, userDidEarnRewardHandler: @escaping ../Type-Definitions.html#/c:GADAdReward.h@T@GADUserDidEarnRewardHandler)\n\n Objective-C \n\n - (void)presentFromRootViewController:\n (nullable UIViewController *)viewController\n userDidEarnRewardHandler:\n (nonnull ../Type-Definitions.html#/c:GADAdReward.h@T@GADUserDidEarnRewardHandler)userDidEarnRewardHandler;\n\n #### Parameters\n\n |----------------------------------|---------------------------------------------------------------------------------------------------------------------------------|\n | ` `*viewController*` ` | A view controller to present the ad. If nil, attempts to present from the top view controller of the application's main window. |\n | ` `*userDidEarnRewardHandler*` ` | A handler to execute when the user earns a reward. adReward contains the reward information. |"]]