
开屏广告为用户进入App时展示的全屏广告,开屏广告返回为一个视图View,开屏广告使用BUSplashAd对象管理开屏广告所有业务;接入方式上,使用BUSplashAd对象调用loadAdData方法请求广告,调用show方法展示广告,通过设置BUSplashAdDelegate代理,获取广告加载、 渲染、点击、关闭、跳转等回调。
注意事项:
navigationController(viewController.navigationController)。如果使用新创建的viewController,注意在开屏广告视图控制器关闭回调splashAdViewControllerDidClose移除构建广告对象时必须传入代码位ID,广告物料、素材加载成功后会回调splashAdLoadSuccess方法,在该方法中调用show展示广告;
使用App主window对象的根视图控制器展示,不需要管理开屏控制器展示,6900及以上版本点击广告SDK将不再主动移除视图,开发者可以根据业务场景自行处理,点击跳过按钮或倒计时结束时仍由SDK进行移除。
展示广告
移除广告
开发者根据业务场景需要,使用[splashAd removeSplashView]方式移除广告视图
开发者如果使用新创建的视图控制器接入,需要自行管理viewController的展示和关闭,同时需要处理广告点击时的视图移除逻辑,点击跳过按钮或倒计时结束仍由SDK进行移除。
展示广告
移除广告
开发者可在开屏相关代理回调中关闭当前视图控制器,示例代码如下:
方法 | 说明 |
- (instancetype)initWithSlotID:(NSString *)slotID adSize:(CGSize)adSize; | 构建广告请求, |
- (void)loadAdData; | 加载广告 |
- (void)showSplashViewInRootViewController:(UIViewController *)viewController; | 展示开屏视图 |
- (void)removeSplashView; | 移除开屏视图 |
tolerateTimeout | 广告加载超时时间 |
方法 | 说明 |
- (void)splashAdLoadSuccess:(BUSplashAd *)splashAd; | 物料加载成功,可以在这个回调中调用show方法展示开屏 |
- (void)splashAdLoadFail:(BUSplashAd *)splashAd error:(BUAdError *)error; | 物料加载失败,不会展示开屏,提供如下错误码: |
- (void)splashAdRenderSuccess:(BUSplashAd *)splashAd; | load方法调用后若渲染成功则返回该回调;show方法调用后开屏视图会被添加到ViewController上。 |
- (void)splashAdRenderFail:(BUSplashAd *)splashAd error:(BUAdError *)error; | load方法调用后,若渲染失败则返回该回调;即使调用show方法开屏视图也不会被添加到ViewController上,提供如下错误码: |
- (void)splashAdWillShow:(BUSplashAd * )splashAd; | 广告即将展示 |
- (void)splashAdDidShow:(BUSplashAd * )splashAd; | 广告展示,注意:该回调时机和show埋点上报时机一致 |
- (void)splashAdDidClose:(BUSplashAd * )splashAd closeType:(BUSplashAdCloseType)closeType; | 广告视图会在以下场景关闭:1、开屏未转化关闭(点击跳过、倒计时结束),通知开发者开屏视图已经关闭;2、 开屏转化后内开调起市场页,市场页关闭时通知开发者开屏视图已经关闭;3、开屏转化其他场景,点击广告后通知开发者开屏视图已经关闭 |
- (void)splashAdViewControllerDidClose:(BUSplashAd *)splashAd; | 如果采用自定义视图控制器展示广告,广告视图控制器会在以下场景关闭:1、开屏未转化关闭(点击跳过、倒计时结束),通知开发者关闭视图控制器;2、开屏转化后内跳,中间页、市场页关闭时,通知开发者关闭视图控制器;3、开屏转化外跳,即将跳转时,通知开发者关闭视图控制器 |
- (void)splashAdDidClick:(BUSplashAd * )splashAd; | 广告点击 |
- (void)splashDidCloseOtherController:(BUSplashAd *)splashAd interactionType:(BUInteractionType)interactionType; | 此回调在广告跳转到其他控制器时(广告中间页,市场页面),该控制器被关闭时调用。interactionType:此参数可区分是打开的appstore/网页/视频广告详情页面 |
- (void)splashVideoAdDidPlayFinish:(BUSplashAd *)splashAd didFailWithError:(NSError *)error; | 视频广告播放完毕 |
超时的计算逻辑:穿山甲从开发者加载广告开始倒计时(注意并非从SDK初始化开始计时),若广告在倒计时结束之前完成广告加载,则会为开发者响应广告。若倒计时结束前未完成广告加载,则将响应超时。
开发者可添加开屏底部View,用于logo等个性化展示,这种场景请求时传入的高度应减去底部view的高度;
完整代码可参考官方demo中BUDSplashViewController 类
在线客服智能客服 7*24小时在线人工客服 工作日 10~12点/14~19点