# 2.开屏广告
# 导入头文件
#import <HXADSDK/HXADSDK.h>
1
# 初始化HXSplashAD
初始化HXSplashAD时,可以进行倒计时设置(传0时,为5s)、是否允许跳过设置(不设置时,默认为允许跳过)。
/**
初始化开屏广告
@param delegate 委托对象
@param countdown 广告展示时间,取值范围为2-10s
@param allowSkip 是否允许跳过广告
*/
- (instancetype)initWithDelegate:(id <HXSplashADDelegate>)delegate
countdown:(NSUInteger)countdown
allowSkip:(BOOL)allowSkip;
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
示例代码:
@interface AppDelegate ()<HXSplashADDelegate>
@property (nonatomic, strong) HXSplashAD *splashAD;
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[HXADManager adInit];
self.splashAD = [[HXSplashAD alloc] initWithDelegate:self countdown:5 allowSkip:YES];
return YES;
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 实时加载广告方式并展示广告
/**
加载并展示开屏广告
@param window 当前展示的视图窗口
@param backgroundImage 背景图片(视频加载完成前可显示该图片)
@param timeout 超时时间(毫秒数。当前时间内广告未加载完成则超时,当次不再展示开屏广告。值为0时默认5000ms)
*/
- (void)loadAndShowInKeyWindow:(UIWindow *)window
backgroundImage:(nullable UIImage *)backgroundImage
timeout:(NSInteger)timeout;
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
示例代码:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[HXADManager adInit];
self.splashAD = [[HXSplashAD alloc] initWithDelegate:self countdown:5 allowSkip:YES];
[self.splashAD loadAndShowInKeyWindow:self.window backgroundImage:[Tools launchViewImage] timeout:5000];
return YES;
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 预加载广告方式并展示广告
/**
预加载开屏广告
*/
- (void)preload;
/**
判断开屏广告是否可以展示(已预加载完成后调用该方法返回true,为true时可调用showInKeyWindow:方法立即展示)
*/
- (BOOL)isADReadyToShow;
/**
展示开屏广告(需用isADReadyToShow方法判断已完成加载后直接调用该方法展示)
@param window 当前展示的视图窗口
*/
- (void)showInKeyWindow:(UIWindow *)window;
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
# HXSplashAD回调
@protocol HXSplashADDelegate <NSObject>
@optional
/* 广告预加载成功 */
- (void)splashADPreloadSuccess:(HXSplashAD *)splashAD;
/* 广告预加载失败 */
- (void)splashADPreloadFail:(HXSplashAD *)splashAD error:(NSError *)error;
/* 开屏广告素材加载成功 */
- (void)splashADLoadSuccess:(HXSplashAD *)splashAD;
/* 开屏广告素材加载失败 */
- (void)splashADLoadFail:(HXSplashAD *)splashAD error:(NSError *)error;
/* 开屏广告展示成功 */
- (void)splashADShowSuccess:(HXSplashAD *)splashAD;
/* 开屏广告展示失败 */
- (void)splashADShowFail:(HXSplashAD *)splashAD error:(NSError *)error;
/* 离开应用(当前应用放置到后台) */
- (void)splashADDidLeaveApplication:(HXSplashAD *)splashAD;
/* 点击广告 */
- (void)splashADDidClick:(HXSplashAD *)splashAD;
/* 广告即将关闭 */
- (void)splashADWillClose:(HXSplashAD *)splashAD;
/* 广告已经关闭 */
- (void)splashADDidClose:(HXSplashAD *)splashAD;
/* 广告倒计时 */
- (void)splashAD:(HXSplashAD *)splashAD timeLeft:(NSUInteger)time;
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
示例代码:
#pragma mark - HXSplashADDelegate
- (void)splashADPreloadSuccess:(HXSplashAD *)splashAD {
NSLog(@"广告预加载成功");
}
- (void)splashADPreloadFail:(HXSplashAD *)splashAD error:(NSError *)error {
NSLog(@"广告预加载失败");
}
- (void)splashADLoadSuccess:(HXSplashAD *)splashAD {
NSLog(@"开屏广告素材加载成功");
}
- (void)splashADLoadFail:(HXSplashAD *)splashAD error:(NSError *)error {
NSLog(@"开屏广告素材加载失败");
}
- (void)splashADShowSuccess:(HXSplashAD *)splashAD {
NSLog(@"展示成功");
}
- (void)splashADShowFail:(HXSplashAD *)splashAD error:(NSError *)error {
NSLog(@"展示失败");
}
- (void)splashADDidLeaveApplication:(HXSplashAD *)splashAD {
NSLog(@"离开应用");
}
- (void)splashADDidClick:(HXSplashAD *)splashAD {
NSLog(@"点击");
}
- (void)splashADWillClose:(HXSplashAD *)splashAD {
NSLog(@"将要关闭");
}
- (void)splashADDidClose:(HXSplashAD *)splashAD {
NSLog(@"已经关闭");
}
- (void)splashAD:(HXSplashAD *)splashAD timeLeft:(NSUInteger)time {
NSLog(@"倒计时");
}
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
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