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
Swift
@MainActor func present(from viewController: UIViewController?, userDidEarnRewardHandler: @escaping GADUserDidEarnRewardHandler
)
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.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["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. |"]]