中文
登录
后可查看全部文档
开发测试/iOS集成文档/模版渲染全屏视频广告
模版渲染全屏视频广告
最近更新 2023-02-17 10:53:26

简介

全屏视频是一种全屏播放的视频广告,用户可以进行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代理,获取广告、展示、点击、关闭等回调。其他代理方法可参见demoBUDExpressFullScreenVideoViewController类#pragma mark - BUFullscreenVideoAdDelegate部分

注意事项

①必须要设置rootViewController,用来处理广告跳转。SDK里所有的跳转均采用present的方式,请确保传入的rootViewController不能为空且没有present其他的控制器,否则会出现presentedViewController已经存在而导致present失败。

②nativeExpressFullscreenVideoAdViewRenderSuccess渲染成功回调在广告展示后返回

③为保证播放流畅和展示流畅,用户体验更好,在收到nativeExpressFullscreenVideoAdDidDownLoadVideo回调后进行广告的展示

④判断广告是否有效直接使用self.fullscreenAd判断即可

⑤个性化模板广告为了优化展示速度,会使用本地模板,请求时会拦截相关数据.如果接入方正在使用H5的页面发送请求,会造成请求body清空,其他逻辑不变.如果使用body传参请更换其他方式.例如:jsBridge方式。

⑥每次请求数据时,都需要重新初始化一个新的BUNativeExpressFullscreenVideoAd对象。请勿重复使用本地缓存的全屏视频对象多次展示.

资源

详细接入可参照Demo中的BUDExpressFullScreenVideoViewController类,广告加载请求部分可参照loadFullscreenVideoAdWithSlotID方法,广告展示部分可参照showFullscreenVideoAd方法


本篇目录
联系我们