贴片广告: 贴片广告是一种视频广告形式,开发者可以将广告位设置在其APP内的视频播放前/播放中/播放结束后。贴片广告的时长可以设置成固定时长,如5s/15s等;也可以不限制固定时长,在5-60s范围内由系统返回收益最高的广告,帮助开发者实现收益最大化。贴片广告目前仅支持自渲染,可以使用穿山甲默认播放器,也可以申请使用开发者自己的播放器。
支持的广告尺寸:横版视频 (宽高比:1.78)
自渲染贴片广告:默认需要申请权限
SDK版本要求: 3400及以上
自渲贴片广告使用BUNativeAdsManager对象调用loadAdDataWithCount: 请求广告,通过设置BUNativeAdsManagerDelegate、BUVideoAdViewDelegate、BUNativeAdDelegate代理,获取广告相关素材、以及点击等回调。
BUNativeAdsManager
请求广告时需要传入广告位对象,广告位对象创建时必须传入广告位ID及广告基本配置BUAdSlot
字段定义 | 是否必传 | 字段名称 | 字段类型 | 备注 |
BUAdSlot | 是 | / | / | 基本配置 |
slotID | 是 | 代码位 | NSString | 代码位ID |
使用BUAdSlot创建广告基本信息,使用BUNativeAdsManager调用loadAdDataWithCount: 请求广告
注意:loadAdDataWithCount请求数建议一次请求不超过3个
回调方法 | 注释 |
nativeAdsManagerSuccessToLoad: nativeAds: | 加载成功回调;在此回调中进行相关的数据插入处理 |
nativeAdsManager:didFailWithError: | 返回的错误码(error)表示广告加载失败的原因,所有错误码详情请见链接。Link |
BUNativeAdDelegate回调说明
回调方法 | 注释 |
nativeAdDidLoad: | 广告物料加载成功 |
nativeAd:didFailWithError: | 返回的错误码(error)表示广告加载失败的原因,所有错误码详情请见链接。Link |
nativeAdDidBecomeVisible: | 广告显示回调 |
nativeAdDidCloseOtherController: interactionType: | 此回调在广告跳转到其他控制器时,该控制器被关闭时调用interactionType:此参数可区分是打开的appstore/网页/视频广告详情页面 |
nativeAdDidClick:withView: | 除视频区域外,点击会响应此回调方法 |
nativeAd:dislikeWithReason: | dislike按钮点击回调,需要在此回调方法中进行响应的数据处理 |
媒体可能会希望使用自己工程里的播放器,对视频播放更多细节进行控制。当广告物料BUMaterial中的allowCustomVideoPlayer为YES时,允许媒体通过BUMaterialMeta提供的 videoUrl进行视频播放,同时媒体需要使用BUVideoAdReportor协议方法进行埋点上报。
媒体需要使用BUNativeAdRelatedView中的videoAdReportor进行视频播放埋点的上报。
埋点的上报由BUVideoAdReportor
协议提供接口,根据不同的播放状态进行上报。
在自定义播放状态改变时进行埋点上报。
事件名称 | 上报时机 | 含义 |
didStartPlayVideoWithVideoDuration: | 视频开始时上报 | 视频开始播放上报此事件,duration为视频时长 |
didPauseVideoWithCurrentDuration: | 视频暂停时上报 | 视频暂停是上报此事件,duration为视频暂停时视频已播放的时长 |
didFinishVideo | 视频播放完成时上报 | 视频播放完成时上报此事件 |
didResumeVideoWithCurrentDuration: | 视频复播时上报 | 视频复播时上报此事件,duration为视频复播时视频已播放的时长 |
didBreakVideoWithCurrentDuration: | 视频播放异常时上报 | 视频播放异常时上报,duration为出现异常时视频已播放的时长 |
详细接入可参照Demo中的BUDCustomVideoPlayerViewController类,广告加载请求部分可参照loadAdData方法
媒体使用SDK播放器,需要使用BUNativeAdRelatedView中的videoAdView添加到自渲染的广告视图中,此时视频播放以及埋点有SDK控制。
详细接入可参照Demo中的BUDPasterContentView类,BUNativeAdRelatedView内容需要使用refreshData:来刷新
多个贴片广告媒体可以根据需求进行切换或是顺序调整,每个贴片广告的时长可以通过BUMaterialMeta的属性videoDuration获取。
媒体自渲染的贴片广告需要使用registerContainer:withClickableViews:clickableViews注册绑定点击的View
点击事件回调
回调方法 | 注释 | 备注 |
- (void)videoAdViewDidClick: | SDK播放器点击事件 | 仅适用SDK播放器 |
- (void)videoAdViewDidCloseOtherController: | 此回调在广告跳转到其他控制器时,该控制器被关闭时调用interactionType:此参数可区分是打开的appstore/网页/视频广告详情页面。用于SDK播放器点击关闭控制器的回调。 | 仅适用于SDK播放器 |
- (void)nativeAdDidClick:withView: | 整个广告区域点击事件,使用SDK播放器的话,表示非视频区域点击事件 | |
- (void)nativeAdDidCloseOtherController:interactionType: | 此回调在广告跳转到其他控制器时,该控制器被关闭时调用interactionType:此参数可区分是打开的appstore/网页/视频广告详情页面 | |
- (void)nativeAd:dislikeWithReason: | 使用BUNativeAdRelatedView中提供的关闭按钮,在点击关闭按钮的回调 |
详细可参照Demo中的BUDPasterBaseViewController类。
1、在物料加载成功方法里获取相关广告信息赋值后,需调用 registerContainer:withClickableViews:clickableViews注册绑定点击的View并刷新数据源refreshData:。
2、每次获取物料信息后需要刷新调用refreshData:方法。
在线客服智能客服 7*24小时在线人工客服 工作日 10~12点/14~19点