Appearance
开屏广告
开屏广告以App启动作为曝光时机,国内广告提供5s的可感知广告展示。用户可以点击广告跳转到目标页面;或者点击右上角的“跳过”按钮,跳转到app内容首页。国外广告大部分样式没有倒记时。点击右上角的关闭按钮跳转到app内容首页
1. 包含头文件
objc
#import <ADP/ADP.h>
2. ADPSplash的创建和初始化
在Adelegate头文件中导入头文件并声明实例以及声明代理,(开屏需要在AppDelegate中实现,如在其他页面创建可能会出现落地页无法弹出的问题,或者在启动时不会销毁掉的VC里)
objc
#import <ADP/ADP.h>
@interface AppDelegate ()<ADPSplashDelegate>
@property (nonatomic, strong) ADPSplash *splash;
@end
创建和初始化广告,广告是异步的,所以不需要修改APP原有逻辑,初始化广告的方法放到
objc
[self.window makeKeyAndVisible];
之后进行初始化
objc
//初始化开屏广告 ,lifeTime 为超时秒数。
- (void)initAd{
self.splash = [[ADPSplash alloc]initWithUnitID:ADP_TEST_UNIT_ID lifeTime:10];
self.splash.delegate = self;
}
显示广告
objc
//开屏广告初始化并展示代码
- (void)loadAd {
UIImage *splashImage = [UIImage imageNamed:@"launchbg"];
self.splash.backgroundImage = splashImage;
[self.splash loadAndShow:self.window.rootViewController]
}
如果需要设置底部的logoView可以调用相应的代理详细代码参考Demo
3. ADPSplash 主要属性和方法说明
objc
/**
开屏广告的背景图片
可以设置背景图片作为开屏加载时的默认背景
*/
@property (nonatomic, strong) UIImage *backgroundImage;
4.ADPSplashDelegate
objc
//国内开屏广告显示底部自定义内容,海外开屏广告无效
//如果不需要请直接注释此方法
- (UIView *)splashBottomView
{
// return nil;
CGFloat logoHeight = 60;
UIView *bottomView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, [[UIScreen mainScreen] bounds].size.width, logoHeight)];
bottomView.backgroundColor = [UIColor whiteColor];
UIImageView *logo = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"SplashLogo"]];
logo.accessibilityIdentifier = @"splash_logo";
logo.frame = CGRectMake(0, 0, 311, 47);
logo.center = bottomView.center;
[bottomView addSubview:logo];
return bottomView;
}
/**
广告已加载
*/
- (void)splashAdDidLoad:(ADPSplash *)splash {
_statusLabel.text = @"广告已加载";
}
/**
开屏展现
*/
- (void)splashDidPresentScreen:(ADPSplash *)splash
{
NSLog(@"开屏展现广告");
}
/**
开屏消失
*/
- (void)splashDidDismissScreen:(ADPSplash *)splash
{
NSLog(@"开屏消失");
}
/**
开屏点击
*/
- (void)splashDidClick:(ADPSplash *)splash
{
NSLog(@"广告点击了");
}
/**
开屏请求失败
*/
- (void)splash:(ADPSplash *)splash didFailWithError:(NSError *)error
{
NSLog(@"广告请求失败");
}