全屏视频是一种全屏播放的视频广告,用户可以进行5s跳过操作,且会显示结束endCard页面,视频播放完展示互动页面。全屏视频广告的展示场景为应用功能自然体验中断时,如游戏关卡之间。全屏视频广告不应突然出现,不应干扰用户使用应用的正常流程,例如应用加载,退出应用或者游戏过程中。
支持的广告尺寸: 全屏横屏(宽高比16:9)、全屏竖屏(宽高比9:16)
模板渲染全屏视频: 已回收,不再提供创建(该部分面向历史有历史使用该广告类型的开发者)
模版全屏视频使用BUNativeExpressFullscreenVideoAd对象调用loadAdData请求广告,使用BUNativeExpressFullscreenVideoAd对象调用showAdFromRootViewController:展示广告,通过设置BUNativeExpressFullscreenVideoAdDelegate代理,获取广告、展示、点击、关闭等回调。
BUNativeExpressFullscreenVideoAd
请求广告时需要传入广告位对象,广告位对象创建时必须传入广告位id
字段定义 | 必传参数 | 字段名称 | 字段类型 | 备注 |
SlotID | 是 | 广告位 | NSString | 代码位ID |
使用BUNativeExpressFullscreenVideoAd创建对象,使用BUNativeExpressFullscreenVideoAd调用loadAdData请求广告
全屏视频广告不应有诸如看视频给金币或奖励之类的激励展示规则,并允许用户在5秒后跳过该广告。开发者不应对用户何时可以跳过广告的设置进行更改,或添加任何其他跳过功能。
调用showAdFromRootViewController:方法展示激励视频广告,此处需要传入当前展示的页面。一定要设置rootViewController,即展示广告和跳转落地页需要的viewController,此处建议开发者在收到nativeExpressFullscreenVideoAdDidDownLoadVideo回调后再允许用户观看广告,可保证播放流畅和展示流畅,用户体验更好。
在收到nativeExpressFullscreenVideoAdDidDownLoadVideo回调后再允许用户观看广告,可保证播放流畅和展示流畅,用户体验更好。
同一次请求的广告最多只能计一次展示,重复的展示会被系统过滤。 因此建议开发者在用户观看完广告后在nativeExpressFullscreenVideoAdDidClose回调里将原来的广告对象置为nil 保证广告对象为新的请求对象
回调方法 | 注释 |
nativeExpressFullscreenVideoAd:didFailWithError | 返回的错误码(error)表示广告加载失败的原因,所有错误码详情请见链接。Link |
nativeExpressFullscreenVideoAdViewRenderFail:error | 渲染失败,网络原因或者硬件原因导致渲染失败,可以更换手机或者网络环境测试。建议升级到穿山甲最新版本SDK |
nativeExpressFullscreenVideoAdDidLoad | 广告素材物料加载成功 |
nativeExpressFullscreenVideoAdDidDownLoadVideo | 视频下载完成 |
BUNativeExpressFullscreenVideoAdDelegate回调说明
回调方法 | 注释 |
nativeExpressFullscreenVideoAdDidLoad: | 此回调进入证明广告物料已成功加载 |
nativeExpressFullscreenVideoAd: didFailWithError: | 此回调方法中可定位具体的失败原因对应的错误码,打印error即可。所有错误码详情请见链接。Link |
nativeExpressFullscreenVideoAdViewRenderSuccess: | 渲染成功回调方法 |
nativeExpressFullscreenVideoAdViewRenderFail:error: | 进入了此回调证明触发了渲染失败条件,可更换手机或者网络环境测试。建议直接升级到穿山甲平台最新版本 |
nativeExpressFullscreenVideoAdDidDownLoadVideo: | 在此回调方法中进行广告的展示,可保证播放流畅和展示流畅,用户体验更好。 |
nativeExpressFullscreenVideoAdWillVisible: | 模版全屏广告即将展示回调 |
nativeExpressFullscreenVideoAdDidVisible: | 模版全屏广告已经展示回调 |
nativeExpressFullscreenVideoAdDidClick: | 点击回调 |
nativeExpressFullscreenVideoAdDidClickSkip: | 点击5s跳过会触发此回调,如果需要在用户点击跳过时做相关的逻辑处理,可在此回调中进行相关逻辑处理 |
nativeExpressFullscreenVideoAdWillClose: | 此回调方法可知用户进行了广告关闭操作,可在此回调方法中进行用户关闭广告时的相应的逻辑处理 |
nativeExpressFullscreenVideoAdDidClose: | 点击关闭按钮会触发此回调 |
nativeExpressFullscreenVideoAdDidPlayFinish: | 广告播放完成会触发此回调 |
nativeExpressFullscreenVideoAdCallback:withType: | 此回调可知模版全屏视频的广告类型 |
nativeExpressFullscreenVideoAdDidCloseOtherController: interactionType: | 此回调在广告跳转到其他控制器时,该控制器被关闭时调用interactionType:此参数可区分是打开的appstore/网页/视频广告详情页面 |
通过设置BUNativeExpressFullscreenVideoAdDelegate代理,获取广告、展示、点击、关闭等回调。其他代理方法可参见demo中BUDExpressFullScreenVideoViewController类#pragma mark - BUFullscreenVideoAdDelegate部分
①必须要设置rootViewController,用来处理广告跳转。SDK里所有的跳转均采用present的方式,请确保传入的rootViewController不能为空且没有present其他的控制器,否则会出现presentedViewController已经存在而导致present失败。
②nativeExpressFullscreenVideoAdViewRenderSuccess渲染成功回调在广告展示后返回
③为保证播放流畅和展示流畅,用户体验更好,在收到nativeExpressFullscreenVideoAdDidDownLoadVideo回调后进行广告的展示
④判断广告是否有效直接使用self.fullscreenAd判断即可
⑤个性化模板广告为了优化展示速度,会使用本地模板,请求时会拦截相关数据.如果接入方正在使用H5的页面发送请求,会造成请求body清空,其他逻辑不变.如果使用body传参请更换其他方式.例如:jsBridge方式。
⑥每次请求数据时,都需要重新初始化一个新的BUNativeExpressFullscreenVideoAd对象。请勿重复使用本地缓存的全屏视频对象多次展示.
详细接入可参照Demo中的BUDExpressFullScreenVideoViewController类,广告加载请求部分可参照loadFullscreenVideoAdWithSlotID方法,广告展示部分可参照showFullscreenVideoAd方法
在线客服智能客服 7*24小时在线人工客服 工作日 10~12点/14~19点