优酷定制 SDK 开屏广告
适用于本仓库 SDK 6.5.1。API 以所安装版本的 framework 公开头为准。
先完成隐私与请求配置。下面使用普通请求;如需指定参数,可用该指南中的配置替换默认 IFLYAdRequestConfig。
开屏广告由 SDK 展示到宿主 window。先持有广告实例、设置代理并加载;收到 splashAdDidReady: 后,在宿主页面已进入 window 且可展示时调用展示接口:
#import <IFLYADLib/IFLYADLib.h>
@interface SplashViewController () <IFLYSplashAdDelegate>
@property (nonatomic, strong) IFLYSplashAd *splashAd;
@end
- (void)loadSplash {
IFLYSplashAd *ad = [[IFLYSplashAd alloc] initWithAdUnitId:@"YOUR_SPLASH_AD_UNIT_ID"];
ad.delegate = self;
ad.currentViewController = self;
self.splashAd = ad;
[ad loadAdWithRequestConfig:[[IFLYAdRequestConfig alloc] init]];
}
- (void)splashAdDidReady:(IFLYSplashAd *)ad {
if (ad != self.splashAd || !ad.isAdValid || !self.view.window) return;
IFLYSplashAdConfig *config = [[IFLYSplashAdConfig alloc] init];
config.traceDuration = 5;
config.muteOnStart = YES;
[ad showAdFromRootViewController:self config:config];
}
- (void)splashAd:(IFLYSplashAd *)ad didFailWithError:(IFLYAdError *)error {
NSLog(@"Splash failed: %d %@", error.errorCode, error.errorDescription);
}splashAdDidLoad: 只表示广告数据已返回;等待 splashAdDidReady: 才能展示。traceDuration 支持 3~5 秒,默认 5 秒;自定义底部 Logo 可设置 mediumBottomView。若就绪时页面尚不可展示,应保存就绪状态,在合适时机再次检查 isAdValid,不要忽略后永久等待。
通过 splashAdDidShow:、splashAdDidExpose:、splashAdDidClick:、splashAdDidSkip:、splashAdDidClose: 处理界面状态。点击或离开 App 不等于广告关闭,应结合关闭及落地页返回回调处理。展示完成或放弃本次展示后,清理实例;下次重新创建。
请求失败、广告关闭或业务放弃展示时,先置空 delegate,调用 destroy 并释放持有的广告;下次创建新实例。开屏业务还应处理跳过、倒计时关闭和宿主等待超时,进入后续页面的操作应保证只执行一次。