插屏广告
大约 2 分钟
插屏广告
概述
插屏广告是移动广告的一种常见形式,一般在应用使用过程中弹出,用户可以选择点击广告以访问目标网址,或者关闭广告以返回应用。
插屏广告有两种形式:半屏和全屏。两者都覆盖整个屏幕,区别在于广告内容的展示区域大小。半屏广告在展示区域之外,背景为半透明。
开屏广告 YTInterstitialAd 属性及方法介绍
属性 | 含义 | 是否必填 |
---|---|---|
tolerateTimeout | 加载超时时间,默认5s | 可选 |
delegate | 代理回调 | 必填 |
广告中的视频是否静音,默认静音。 | 可选 |
方法 | 说明 |
---|---|
- (instancetype)initWithSlotId:(NSString *)slotId adSize:(CGSize)adSize | 构造方法,slotId不能为空,adSize可以传空 |
- (void)loadAd; | 开始加载广告,仅加载不做展示,需要手动调用showAdFromRootViewController展示广告 |
- (BOOL)showAdFromRootViewController:(UIViewController *)rootViewController; | 展示广告,基于传入的rootViewController present弹出 |
- (BOOL)isReady; | 对于已经加载成功,但未及时展示的广告,在展示前用此方法判断广告是否还可用 |
YTInterstitialAd 的代理方法
/// 插屏广告加载成功
- (void)yt_interstitialAdLoadSuccess:(YTInterstitialAd *)interstitialAd;
/// 插屏广告的各种错误
- (void)yt_interstitialAd:(YTInterstitialAd *)interstitialAd didFailWithError:(NSError * _Nullable)error;
/// 插屏广告将要显示
- (void)yt_interstitialAdWillShow:(YTInterstitialAd *)interstitialAd;
/// 插屏广告已经显示
- (void)yt_interstitialAdDidShow:(YTInterstitialAd *)interstitialAd;
/// 点击了插屏广告
- (void)yt_interstitialAdDidClick:(YTInterstitialAd *)interstitialAd;
/// 插屏广告将要关闭
- (void)yt_interstitialAdWillClose:(YTInterstitialAd *)interstitialAd;
/// 插屏广告已经关闭
- (void)yt_interstitialAdDidClose:(YTInterstitialAd *)interstitialAd;
/// 插屏广告曝光
- (void)yt_interstitialAdExposed:(YTInterstitialAd *)interstitialAd;
插屏广告的使用
// 引入头文件
#import <YouTuiAdSDK/YouTuiAdSDK.h>
// 遵守协议
@interface YTDemoInterstitialViewController ()<YTInterstitialAdDelegate>
// 关联对象
@property (strong, nonatomic) YTInterstitialAd *interstitialAd;
@end
@implementation YTDemoInterstitialViewController
- (void)loadInterstitialAd {
NSString *slotId = @"slot id";
CGSize adSize = CGSizeMake(width, height);
// 创建对象
_interstitialAd = [[YTInterstitialAd alloc] initWithSlotId:slotId adSize:adSize];
// 设置代理
_interstitialAd.delegate = self;
// 开始加载
[_interstitialAd loadAd];
}
// 展示广告
- (void)showInterstitialAd {
[_interstitialAd showAdFromRootViewController:self];
}
//MARK: - YTInterstitialAdDelegate
- (void)yt_interstitialAdLoadSuccess:(YTInterstitialAd *)interstitialAd {
// 加载成功
}