模板渲染信息流:场景应在应用的内容流中与应用内容穿插展示,广告内容与应用其他内容区分开,防止意外点击。
支持的广告尺寸:开发者在穿山甲平台上可以进行多模板、多尺寸的勾选。模板渲染信息流广告支持开发者调整、编辑
模版渲染信息流广告: 默认提供
模版信息流广告使用BUNativeExpressAdManager对象调用loadAd请求广告,使用BUNativeExpressAdView对象来进行广告的渲染render,通过设置BUNativeExpressAdViewDelegate代理,获取广告、展示、点击、关闭等回调。
BUNativeExpressAdManager
请求广告时需要传入广告位对象,广告位对象创建时必须传入广告位ID
字段定义 | 是否必传 | 字段名称 | 字段类型 | 备注 |
BUAdSlot | 是 | / | / | 基本信息配置,详见事例 |
adSize | 是 | 广告尺寸 | CGSize | 广告尺寸,可将宽度设置为屏宽,自适应时,可将高度直接设置为0 |
请求广告前需要配置BUAdSlot广告的基本信息,使用BUNativeExpressAdManager创建对象,使用BUNativeExpressAdManager调用loadAd请求广告
注意:
- self.nativeExpressAdManager可以重用
- 模版信息流的尺寸adSize建议宽度设置为屏宽 高度设置为0或者设置平台勾选的高度 不要随意设置尺寸大小否则有可能出现拉取失败或者广告变形的情况
- 模版信息流广告可多条广告同时请求,最大请求数量为3
- 模版信息流广告默认设置imgSize为BUProposalSize_Feed228_150即可
由于官方Demo使用tableView进行的广告的插入展示,直接更新数据源即可更新广告的相关插入展示,此处建议开发者在收到nativeExpressAdSuccessToLoad回调后再进行广告的渲染展示,可保证播放流畅和展示流畅,用户体验更好。因此如果不是使用此种方式进行的信息流广告的展示,切记不要忘记addSubview添加广告对象来进行广告的展示。
在收到nativeExpressAdSuccessToLoad回调后再进行广告的渲染展示,刷新数据源
注意:为了避免内存过大触发系统优化机制,建议在合适的时机进行remove移除操作,目前SDK使用WKWebView实现,此建议不限于模版信息流广告,其他广告同样适用,保证不使用的广告,在合适的时机进行释放处理
BUNativeExpressAdViewDelegate回调说明
回调方法 | 注释 |
nativeExpressAdFailToLoad | 返回的错误码(error)表示广告加载失败的原因,所有错误码详情请见链接。Link |
nativeExpressAdViewRenderFail | 渲染失败,网络原因或者硬件原因导致渲染失败,可以更换手机或者网络环境测试。建议升级到穿山甲平台最新版本 |
nativeExpressAdSuccessToLoad | 广告视图加载成功 |
nativeExpressAdViewRenderSuccess | 渲染成功 |
通过设置BUNativeExpressAdViewDelegate代理,获取广告、展示、点击、关闭等回调。其他代理方法可参见Demo中BUDExpressFeedViewController类#pragma mark - BUNativeExpressAdViewDelegate部分
BUVideoAdViewDelegate回调说明
回调方法 | 注释 |
didLoadFailWithError: | 播放失败时调用 |
playerReadyToPlay: | 准备播放时调用 |
stateDidChanged: | 回放状态改变时调用 |
rewardDidCountDown: | 当奖励视频奖励开始倒计时调用,5.0.0.0及以上版本新增 |
playerDidPlayFinish: | 播放结束时调用 |
videoAdViewDidClick: | 点击时调用 |
videoAdViewFinishViewDidClick: | 播放完成被点击时调用 |
videoAdViewDidCloseOtherController: | 在app中打开appstore或打开网页或查看视频广告详情页面 |
激励信息流代理方法BUVideoAdViewDelegate
新增奖励倒计时回调接口:
注意:
- 切记不要忘记设置BUNativeExpressAdView对象的rootViewController,保证当前传入的rootViewController不为空,并确保self.nativeExpressAdManager进行了重用判断,否则有可能出现偶现dislike回调方法不进的异常场景
BUMaterialMeta.h
广告推荐说明dislike功能下 “为什么看到此广告”模块,相关API在5.1.0.0及之后版本会完全下掉
BUAdSlot.h
isOriginAd
只有banner广告需要设置YES(5.1.0.0及后续版本)
①self.nativeExpressAdManager可以重用
②模版信息流的尺寸adSize建议宽度设置为屏宽 高度设置为0或者设置平台勾选的高度 不要随意设置尺寸大小否则有可能出现拉取失败或者广告变形的情况
③为了避免内存过大触发系统优化机制,建议在合适的时机进行remove移除操作
④不要忘记设置BUNativeExpressAdView对象的rootViewController,保证当前传入的rootViewController不为空
详细接入可参照Demo中的BUDExpressFeedViewController类,广告加载请求部分可参照loadData方法,广告展示渲染部分可参照nativeExpressAdSuccessToLoad方法
在线客服智能客服 7*24小时在线人工客服 工作日 10~12点/14~19点