开屏广告主要是 APP 启动时展示的全屏广告视图,开发只要按照接入标准就能够展示设计好的视图。展示完毕后自动关闭并进入应用的主界面。
支持的广告尺寸:开屏广告的尺寸为开发者请求广告时设置的尺寸,建议设置的请求尺寸传入与展示区域大小保持一致,避免素材变形。
SDK渲染开屏广告: 默认开放模板渲染开屏广告: 需要申请(4700及以上版本不区分渲染方式的rit位)
SDK渲染开屏广告使用BUSplashAd
调用loadAdData
方法请求广告,调用show方法展示广告,通过设置BUSplashAdDelegate
代理,获取广告加载、 渲染、点击、关闭、跳转等回调。
SDK渲染开屏广告使用BUSplashAdView对象调用loadAdData方法请求广告,使用addSubview添加广告进行展示,通过设置BUSplashAdDelegate代理,获取广告、展示、点击、关闭、跳转等回调。备注:支持横版和竖版开屏,SDK调用方法无差异,只是代码位上的差异
请求广告时需要传入广告位对象,广告位对象创建时必须传入广告位ID
字段定义 | 字段名称 | 字段类型 | 备注 |
SlotID | 代码位 | NSString | 广告位id |
frame | 尺寸 | CGRect | 广告请求尺寸 |
字段定义 | 字段名称 | 字段类型 | 备注 |
hideSkipButton | 是否隐藏跳过按钮 | BOOL类型 | 是否自定义跳过按钮 BOOL类型 默认为NO |
tolerateTimeout | 超时时间 | NSTimeInterval | 默认超时时间为3.5s |
needSplashZoomOutAd | 是否设置点睛广告 | BOOL | 是否需要点睛广告 默认为NO 注:3200-3500版本有效, 3600以及以上版本无效 |
4700及以上版本使用BUSplashAd创建对象,使用BUSplashAd调用loadAdData请求广告
4700以下版本使用BUSplashAdView创建对象,使用BUSplashAdView调用loadAdData请求广告
回调方法 | 注释 |
splashAdLoadFail: error: | 返回的错误码(error)表示广告加载失败的原因,所有错误码详情请见链接Link 。 |
splashAdLoadSuccess:splashAd | 广告加载成功回调 |
回调方法 | 注释 |
splashAd: didFailWithError: | 返回的错误码(error)表示广告加载失败的原因,所有错误码详情请见链接Link 。 |
splashAdDidLoad | 广告加载成功回调 |
回调方法 | 注释 |
splashAdLoadSuccess:splashAd | SDK渲染开屏广告加载成功回调 |
splashAdLoadFail: error: | 返回的错误码(error)表示广告加载失败的原因,所有错误码详情请见链接Link |
splashAdWillShow: | SDK渲染开屏广告即将展示 |
splashAdDidShow: | SDK渲染开屏广告展示 |
splashAdDidClick: | SDK渲染开屏广告点击回调 |
splashAdDidClose: | SDK渲染开屏广告关闭回调,当用户点击广告时会直接触发此回调,建议在此回调方法中直接进行广告对象的移除操作 |
splashAdViewControllerDidClose: | SDK渲染开屏广告视图控制器关闭 |
splashDidCloseOtherController:splashAd interactionType:interactionType | 此回调在广告跳转到其他控制器时,该控制器被关闭时调用。interactionType:此参数可区分是打开的appstore/网页/视频广告详情页面 |
splashAdRenderSuccess: | SDK渲染开屏广告渲染成功回调 |
splashAdRenderFail: | SDK渲染开屏广告渲染失败回调 |
splashVideoAdDidPlayFinish: | 视频广告播放完毕回调 |
回调方法 | 注释 |
splashAdDidLoad: | SDK渲染开屏广告加载成功回调 |
splashAd: didFailWithError: | 返回的错误码(error)表示广告加载失败的原因,所有错误码详情请见链接Link |
splashAdWillVisible: | SDK渲染开屏广告即将展示 |
splashAdDidClick: | SDK渲染开屏广告点击回调 |
splashAdDidClose: | SDK渲染开屏广告关闭回调,当用户点击广告时会直接触发此回调,建议在此回调方法中直接进行广告对象的移除操作 |
splashAdWillClose: | SDK渲染开屏广告即将关闭回调 |
splashAdDidCloseOtherController:(BUSplashAdView *)splashAd interactionType: | 此回调在广告跳转到其他控制器时,该控制器被关闭时调用。interactionType:此参数可区分是打开的appstore/网页/视频广告详情页面 |
splashAdDidClickSkip: | 用户点击跳过按钮时会触发此回调,可在此回调方法中处理用户点击跳转后的相关逻辑 |
splashAdCountdownToZero: | 倒计时为0时会触发此回调,如果客户端使用了此回调方法,建议在此回调方法中进行广告的移除操作 |
通过设置BUSplashAdDelegate代理,获取广告的点击、关闭、跳转等回调。其他代理方法详见AppDelegate类/BUDSplashViewController类#pragma mark - BUSplashAdView
部分
splashAdDidClick
、splashAdDidClickSkip
、splashAd:didFailWithError
、splashAdDidCloseOtherController: interactionType
、splashAdCountdownToZero
回调方法中进行广告的移除操作,避免异常情况的发生: [self.splashView removeSplashView];详细接入可参照demo中的AppDelegate类/BUDSplashViewController类,广告加载展示请求部分可参照AppDelegate类中的addSplashAD方法/BUDSplashViewController类中buildupDefaultSplashView方法
1、自渲染&模板渲染 rit位:新版本不区分渲染方式的rit位
2、开屏内部相关的视图生命周期由SDK管理,开发者关注BUSplashAd对象。当BUSplashAd被非法释放时,开屏内部视图会被同时移除释放。
3、接入开屏的最佳实践,在loadSuccess回调中调用show方法展示广告。
4、开屏关闭后,splashView即被释放(nil),开发者不应强持有splashView对象,如在开屏结束后依赖开屏视图做动画,可以使用splashViewSnapshot对象。
5、rootViewController建议使用应用当前window对象的rootViewController(window.rootViewController)或者当前视图控制器的根控制器navigationController
(viewController.navigationController)。如果使用新创建的viewController,注意在开屏广告关闭回调中从当前控制器堆栈中移除viewController。
删除了旧版 BUNativeExpressSplashView
类
模版渲染开屏广告使用BUNativeExpressSplashView对象调用loadAdData方法请求广告,使用addSubview添加广告对象进行广告的展示,通过设置BUNativeExpressSplashViewDelegate代理,获取广告、展示、点击、关闭、跳转等回调。
请求广告时需要传入广告位对象,广告位对象创建时必须传入广告位ID
字段定义 | 字段名称 | 字段类型 | 备注 |
slotID | 代码位 | NSString | 代码位ID |
adSize | 广告尺寸 | CGSize | 广告请求尺寸 |
字段定义 | 字段名称 | 字段类型 | 备注 |
hideSkipButton | 是否自定义跳过按钮 | BOOL | 是否自定义跳过按扭 默认为NO |
tolerateTimeout | 超时时间 | NSTimeInterval | 默认超时时间为3.5s |
使用BUNativeExpressSplashView
创建对象,使用BUNativeExpressSplashView
调用loadAdData
请求广告,使用addSubview
添加广告对象来进行广告的展示
将BUNativeExpressSplashView对象的hideSkipButton属性设置为YES即可,客户端自行实现跳过按钮的样式及相关跳转逻辑即可
回调方法 | 注释 |
nativeExpressSplashView: didFailWithError: | 返回的错误码(error)表示广告加载失败的原因,所有错误码详情请见链接。Link |
nativeExpressSplashViewDidLoad | 广告加载成功回调 |
nativeExpressSplashViewRenderFail: error: | 渲染失败,网络原因或者硬件原因导致渲染失败,可以更换手机或者网络环境测试。建议升级到穿山甲平台最新版本SDK |
nativeExpressSplashViewRenderSuccess: | 渲染成功回调 |
回调方法 | 注释 |
nativeExpressSplashViewDidLoad: | 广告物料加载成功回调 |
nativeExpressSplashView: didFailWithError: | 返回的错误码(error)表示广告加载失败的原因,所有错误码详情请见链接。Link |
nativeExpressSplashViewRenderSuccess: | 渲染成功回调 |
nativeExpressSplashViewRenderFail: error: | 渲染失败,网络原因或者硬件原因导致渲染失败,可以更换手机或者网络环境测试。建议升级到穿山甲最新版本 |
SDKnativeExpressSplashViewWillVisible: | 模版开屏广告即将展示 |
nativeExpressSplashViewDidClick: | 点击回调 |
nativeExpressSplashViewDidClickSkip: | 点击跳过回调 |
nativeExpressSplashViewCountdownToZero: | 倒计时为0时会触发此回调,如果客户端使用了此回调方法,建议在此回调方法中进行广告的移除操作,并将广告对象置为nil |
nativeExpressSplashViewDidClose: | 广告关闭回调,当用户点击广告时会直接触发此回调,建议在此回调方法中直接进行广告对象的移除操作,并将广告对象置为nil |
nativeExpressSplashViewFinishPlayDidPlayFinish:didFailWithError: | 广告播放完成会触发此回调 |
nativeExpressSplashViewDidCloseOtherController: interactionType: | 此回调在广告跳转到其他控制器时,该控制器被关闭时调用interactionType:此参数可区分是打开的appstore/网页/视频广告详情页面 |
通过设置BUNativeExpressSplashViewDelegate代理,获取广告的点击、关闭、跳转等回调。其他代理方法可参见BUDExpressSplashViewController类#pragma mark - SplashAdView
部分
splashAdDidClick
、splashAdDidClickSkip
、splashAd:didFailWithError
、splashAdDidCloseOtherController: interactionType
、splashAdCountdownToZero
回调方法中进行广告的移除操作,避免异常情况的发生。开发者需要先调用穿山甲提供的removeSplashView方法,再用removeFromSuperview从父试图移除,需要两次移除操作;详细接入可参照Demo中的BUDExpressSplashViewController类,广告加载展示请求部分可参照BUDExpressSplashViewController类中buildupDefaultSplashView方法
开屏点睛广告使用方法: 初始化, 增加 supportZoomOutView 设置若接入了开屏点睛样式,则必须实现以下逻辑
SDK内部会判断本次广告是否会展示点睛,并且在需要展示点睛的时机提供splashZoomOutReadyToShow
回调,开发者只需要在该回调中调用show方法展示即可。
SDK支持开发者自定义点睛的缩放动画,并且提供开屏的最后一帧视图splashViewSnapshot
作为动画起点:
开屏点睛广告使用方法: 初始化, 增加 needSplashZoomOutAd 设置若接入了开屏点睛样式,则必须实现以下逻辑
在线客服智能客服 7*24小时在线人工客服 工作日 10~12点/14~19点