BUNativeExpressBannerView.h
5.85 KB
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
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
//
// BUNativeExpressBannerView.h
// BUAdSDK
//
// Created by xxx on 2019/5/17.
// Copyright © 2019 bytedance. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "BUMaterialMeta.h"
#import "BUMopubAdMarkUpDelegate.h"
NS_ASSUME_NONNULL_BEGIN
@class BUNativeExpressBannerView;
@class BUDislikeWords;
@class BUSize;
@protocol BUNativeExpressBannerViewDelegate <NSObject>
@optional
/**
This method is called when bannerAdView ad slot loaded successfully.
@param bannerAdView : view for bannerAdView
*/
- (void)nativeExpressBannerAdViewDidLoad:(BUNativeExpressBannerView *)bannerAdView;
/**
This method is called when bannerAdView ad slot failed to load.
@param error : the reason of error
*/
- (void)nativeExpressBannerAdView:(BUNativeExpressBannerView *)bannerAdView didLoadFailWithError:(NSError *_Nullable)error;
/**
This method is called when rendering a nativeExpressAdView successed.
*/
- (void)nativeExpressBannerAdViewRenderSuccess:(BUNativeExpressBannerView *)bannerAdView;
/**
This method is called when a nativeExpressAdView failed to render.
@param error : the reason of error
*/
- (void)nativeExpressBannerAdViewRenderFail:(BUNativeExpressBannerView *)bannerAdView error:(NSError * __nullable)error;
/**
This method is called when bannerAdView ad slot showed new ad.
*/
- (void)nativeExpressBannerAdViewWillBecomVisible:(BUNativeExpressBannerView *)bannerAdView;
/**
This method is called when bannerAdView is clicked.
*/
- (void)nativeExpressBannerAdViewDidClick:(BUNativeExpressBannerView *)bannerAdView;
/**
This method is called when the user clicked dislike button and chose dislike reasons.
@param filterwords : the array of reasons for dislike.
*/
- (void)nativeExpressBannerAdView:(BUNativeExpressBannerView *)bannerAdView dislikeWithReason:(NSArray<BUDislikeWords *> *_Nullable)filterwords;
/**
This method is called when another controller has been closed.
@param interactionType : open appstore in app or open the webpage or view video ad details page.
*/
- (void)nativeExpressBannerAdViewDidCloseOtherController:(BUNativeExpressBannerView *)bannerAdView interactionType:(BUInteractionType)interactionType;
@end
@interface BUNativeExpressBannerView : UIView <BUMopubAdMarkUpDelegate>
@property (nonatomic, weak, nullable) id<BUNativeExpressBannerViewDelegate> delegate;
/**
The carousel interval, in seconds, is set in the range of 30~120s, and is passed during initialization. If it does not meet the requirements, it will not be in carousel ad.
*/
@property (nonatomic, assign, readonly) NSInteger interval;
/// media configuration parameters.
@property (nonatomic, copy, readonly) NSDictionary *mediaExt;
/**
Initializes express banner ad.
@param slotID The unique identifier of banner ad.
@param rootViewController The root controller where the banner is located.
@param adsize Customize the size of the view. Please make sure that the width and height passed in are available.
@return BUNativeExpressBannerView
*/
- (instancetype)initWithSlotID:(NSString *)slotID
rootViewController:(UIViewController *)rootViewController
adSize:(CGSize)adsize;
/**
Initializes carousel express banner ad.
@param slotID The unique identifier of banner ad.
@param rootViewController The root controller where the banner is located.
@param adsize Customize the size of the view. Please make sure that the width and height passed in are available.
@param interval The carousel interval, in seconds, is set in the range of 30~120s, and is passed during initialization. If it does not meet the requirements, it will not be in carousel ad.
@return BUNativeExpressBannerView
*/
- (instancetype)initWithSlotID:(NSString *)slotID
rootViewController:(UIViewController *)rootViewController
adSize:(CGSize)adsize
interval:(NSInteger)interval;
/**
Initializes express banner ad.
@param slot A object, through which you can pass in the banner unique identifier, ad type, and so on
@param rootViewController The root controller where the banner is located.
@param adsize Customize the size of the view. Please make sure that the width and height passed in are available.
@return BUNativeExpressBannerView
*/
- (instancetype)initWithSlot:(BUAdSlot *)slot
rootViewController:(UIViewController *)rootViewController
adSize:(CGSize)adsize;
/**
Initializes carousel express banner ad.
@param slot A object, through which you can pass in the banner unique identifier, ad type, and so on
@param rootViewController The root controller where the banner is located.
@param adsize Customize the size of the view. Please make sure that the width and height passed in are available.
@param interval The carousel interval, in seconds, is set in the range of 30~120s, and is passed during initialization. If it does not meet the requirements, it will not be in carousel ad.
@return BUNativeExpressBannerView
*/
- (instancetype)initWithSlot:(BUAdSlot *)slot
rootViewController:(UIViewController *)rootViewController
adSize:(CGSize)adsize
interval:(NSInteger)interval;
- (void)loadAdData;
@end
@interface BUNativeExpressBannerView (Deprecated)
- (instancetype)initWithSlotID:(NSString *)slotID
rootViewController:(UIViewController *)rootViewController
adSize:(CGSize)adsize
IsSupportDeepLink:(BOOL)isSupportDeepLink DEPRECATED_MSG_ATTRIBUTE("Use initWithSlotID:rootViewController:adSize: instead.");
- (instancetype)initWithSlotID:(NSString *)slotID
rootViewController:(UIViewController *)rootViewController
adSize:(CGSize)adsize
IsSupportDeepLink:(BOOL)isSupportDeepLink
interval:(NSInteger)interval DEPRECATED_MSG_ATTRIBUTE("Use initWithSlotID:rootViewController:adSize:interval: instead.");
@end
NS_ASSUME_NONNULL_END