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.
[null,null,["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\u003eYou can load a \u003ccode\u003eGADRewardedAd\u003c/code\u003e 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 using \u003ccode\u003ecanPresentFromRootViewController:error:\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eTo display the ad, use \u003ccode\u003epresentFromRootViewController:userDidEarnRewardHandler:\u003c/code\u003e providing a handler to execute when a user earns a reward.\u003c/p\u003e\n"],["\u003cp\u003eAccess ad-related information like the reward, ad unit ID, and response details using properties like \u003ccode\u003eadReward\u003c/code\u003e, \u003ccode\u003eadUnitID\u003c/code\u003e, and \u003ccode\u003eresponseInfo\u003c/code\u003e.\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. |"]]