GoogleMobileAds Framework Reference
Stay organized with collections
Save and categorize content based on your preferences.
GADRewardedAd
A rewarded ad. Rewarded ads are ads that users have the option of interacting with in exchange
for in-app rewards.
-
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;
-
Declaration
Swift
class func load(with adUnitID: String, request: Request?) async throws -> RewardedAd
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.
|
-
Declaration
Swift
class func load(with adResponseString: String) async throws -> RewardedAd
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 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 ad can be presented from the provided root view controller, NO
otherwise.
-
Presents the rewarded ad. Must be called on the main thread.
Declaration
Swift
@MainActor func present(from rootViewController: UIViewController?, userDidEarnRewardHandler: @escaping GADUserDidEarnRewardHandler
)
Objective-C
- (void)presentFromRootViewController:
(nullable UIViewController *)rootViewController
userDidEarnRewardHandler:
(nonnull GADUserDidEarnRewardHandler
)userDidEarnRewardHandler;
Parameters
rootViewController
|
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.
|
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\u003e\u003ccode\u003eGADRewardedAd\u003c/code\u003e allows users to interact with ads in exchange for in-app rewards.\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods to load ads using an ad unit ID or an ad response string.\u003c/p\u003e\n"],["\u003cp\u003eBefore presenting, you can check if the ad is ready to be displayed using \u003ccode\u003ecanPresentFromRootViewController:error:\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003epresentFromRootViewController:userDidEarnRewardHandler:\u003c/code\u003e is used to display the rewarded ad and provides a handler to execute when a user earns a reward.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can access ad information, reward details, and set options for server-side reward verification.\u003c/p\u003e\n"]]],["GADRewardedAd manages rewarded video ads, which users can interact with for in-app rewards. Key actions include loading an ad using `loadWithAdUnitID:request:completionHandler:` or `loadWithAdResponseString:completionHandler:`. It checks if the ad can be presented via `canPresentFromRootViewController:error:` and displays the ad with `presentFromRootViewController:userDidEarnRewardHandler:`. Properties include `adUnitID`, `responseInfo`, `adReward`, `serverSideVerificationOptions`, `fullScreenContentDelegate`, and `paidEventHandler` for managing the ad's behavior and state.\n"],null,["# GoogleMobileAds Framework Reference\n\nGADRewardedAd\n=============\n\n\n @interface GADRewardedAd\n : NSObject \u003c../Protocols/GADAdMetadataProvider.html, ../Protocols/GADFullScreenPresentingAd.html\u003e\n\nA rewarded ad. Rewarded ads are ads that users have the option of interacting with in exchange\nfor in-app rewards.\n- `\n ``\n ``\n `\n\n ### [adUnitID](#/c:objc(cs)GADRewardedAd(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)GADRewardedAd(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)GADRewardedAd(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)GADRewardedAd(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)GADRewardedAd(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)GADRewardedAd(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)GADRewardedAd(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)GADRewardedAd(cm)loadWithAdUnitID:request:completionHandler:)\n\n `\n ` \n Loads a rewarded ad. \n\n #### Declaration\n\n Swift \n\n class func load(with adUnitID: String, request: Request?) async throws -\u003e RewardedAd\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:GADRewardedAd.h@T@GADRewardedAdLoadCompletionHandler)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)GADRewardedAd(cm)loadWithAdResponseString:completionHandler:)\n\n `\n ` \n Loads a rewarded ad. \n\n #### Declaration\n\n Swift \n\n class func load(with adResponseString: String) async throws -\u003e RewardedAd\n\n Objective-C \n\n + (void)loadWithAdResponseString:(nonnull NSString *)adResponseString\n completionHandler:(nonnull ../Type-Definitions.html#/c:GADRewardedAd.h@T@GADRewardedAdLoadCompletionHandler)\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)GADRewardedAd(im)canPresentFromRootViewController:error:)\n\n `\n ` \n Indicates whether the rewarded ad can be presented from the provided root view controller. Must\n 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 ad can be presented from the provided root view controller,\n `NO` otherwise.\n- `\n ``\n ``\n `\n\n ### [-presentFromRootViewController:userDidEarnRewardHandler:](#/c:objc(cs)GADRewardedAd(im)presentFromRootViewController:userDidEarnRewardHandler:)\n\n `\n ` \n Presents the rewarded ad. Must be called on the main thread. \n\n #### Declaration\n\n Swift \n\n @MainActor func present(from rootViewController: UIViewController?, userDidEarnRewardHandler: @escaping ../Type-Definitions.html#/c:GADAdReward.h@T@GADUserDidEarnRewardHandler)\n\n Objective-C \n\n - (void)presentFromRootViewController:\n (nullable UIViewController *)rootViewController\n userDidEarnRewardHandler:\n (nonnull ../Type-Definitions.html#/c:GADAdReward.h@T@GADUserDidEarnRewardHandler)userDidEarnRewardHandler;\n\n #### Parameters\n\n |----------------------------------|---------------------------------------------------------------------------------------------------------------------------------|\n | ` `*rootViewController*` ` | 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. |"]]