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\u003eGADRewardedInterstitialAd is a full-screen ad format that rewards users with in-app items without requiring opt-in.\u003c/p\u003e\n"],["\u003cp\u003eYou can load these ads using an ad unit ID or a server-to-server ad response string.\u003c/p\u003e\n"],["\u003cp\u003eBefore presenting, ensure the ad can be presented from the root view controller and set server-side verification options, if needed.\u003c/p\u003e\n"],["\u003cp\u003eImplement delegate methods to handle ad events, such as when a user earns a reward or when the ad is estimated to have earned revenue.\u003c/p\u003e\n"],["\u003cp\u003ePresent the ad from a view controller, providing a handler to execute when the user earns a reward.\u003c/p\u003e\n"]]],["GADRewardedInterstitialAd facilitates full-screen ads that reward users. Key actions include loading ads using `loadWithAdUnitID:request:completionHandler:` or `loadWithAdResponseString:completionHandler:`, and presenting ads via `presentFromRootViewController:userDidEarnRewardHandler:`. Important properties include `adUnitID`, `responseInfo`, `adReward`, `serverSideVerificationOptions`, and `fullScreenContentDelegate`. Also, the function `canPresentFromRootViewController:error:` determines if the ad can be displayed. The ad also has `paidEventHandler`.\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. |"]]