lpw
2024-06-24 96fe7669fe8da0110590467e2e95ad88c0149112
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
//
//  GADRewardedInterstitialAd.h
//  Google Mobile Ads SDK
//
//  Copyright 2020 Google LLC. All rights reserved.
//
 
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
 
#import <GoogleMobileAds/GADAdMetadata.h>
#import <GoogleMobileAds/GADAdReward.h>
#import <GoogleMobileAds/GADAdValue.h>
#import <GoogleMobileAds/GADFullScreenContentDelegate.h>
#import <GoogleMobileAds/GADRequest.h>
#import <GoogleMobileAds/GADResponseInfo.h>
#import <GoogleMobileAds/GADServerSideVerificationOptions.h>
 
@class GADRewardedInterstitialAd;
 
/// A block to be executed when the ad request operation completes. On success,
/// rewardedInterstitialAd is non-nil and |error| is nil. On failure, rewardedInterstitialAd is nil
/// and |error| is non-nil.
typedef void (^GADRewardedInterstitialAdLoadCompletionHandler)(
    GADRewardedInterstitialAd *_Nullable rewardedInterstitialAd, NSError *_Nullable error);
 
/// 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.
@interface GADRewardedInterstitialAd : NSObject <GADAdMetadataProvider, GADFullScreenPresentingAd>
 
/// The ad unit ID.
@property(nonatomic, readonly, nonnull) NSString *adUnitID;
 
/// Information about the ad response that returned the ad.
@property(nonatomic, readonly, nonnull) GADResponseInfo *responseInfo;
 
/// The reward earned by the user for interacting with the ad.
@property(nonatomic, readonly, nonnull) GADAdReward *adReward;
 
/// Options specified for server-side user reward verification. Must be set before presenting this
/// ad.
@property(nonatomic, copy, nullable)
    GADServerSideVerificationOptions *serverSideVerificationOptions;
 
/// Delegate for handling full screen content messages.
@property(nonatomic, weak, nullable) id<GADFullScreenContentDelegate> fullScreenContentDelegate;
 
/// Called when the ad is estimated to have earned money. Available for allowlisted accounts only.
@property(nonatomic, nullable, copy) GADPaidEventHandler paidEventHandler;
 
/// Loads a rewarded interstitial ad.
///
/// @param adUnitID An ad unit ID created in the AdMob or Ad Manager UI.
/// @param request An ad request object. If nil, a default ad request object is used.
/// @param completionHandler A handler to execute when the load operation finishes or times out.
+ (void)loadWithAdUnitID:(nonnull NSString *)adUnitID
                 request:(nullable GADRequest *)request
       completionHandler:(nonnull GADRewardedInterstitialAdLoadCompletionHandler)completionHandler;
 
/// Returns whether the rewarded interstitial ad can be presented from the provided root view
/// controller. Sets the error out parameter if the ad can't be presented. Must be called on the
/// main thread. If rootViewController is nil, uses the top view controller of the application's
/// main window.
- (BOOL)canPresentFromRootViewController:(nullable UIViewController *)rootViewController
                                   error:(NSError *_Nullable __autoreleasing *_Nullable)error;
 
/// Presents the rewarded interstitial ad. Must be called on the main thread.
///
/// @param viewController A view controller to present the ad. If nil, attempts to present from the
/// top view controller of the application's main window.
/// @param userDidEarnRewardHandler A handler to execute when the user earns a reward. adReward
/// contains the reward information.
- (void)presentFromRootViewController:(nullable UIViewController *)viewController
             userDidEarnRewardHandler:(nonnull GADUserDidEarnRewardHandler)userDidEarnRewardHandler;
 
@end