中文
登录
后可查看全部文档
开发测试/iOS集成文档/模板渲染信息流广告
模板渲染信息流广告
最近更新 2026-03-18 17:41:11

一、简介

模板信息流场景应在应用的内容流中与应用内容穿插展示,支持图文和视频样式,不支持开发者自行对广告样式进行渲染,可直接调用SDK相关接口获取广告view去展示。开发者在穿山甲平台进行多模板、多尺寸的勾选。信息流广告应与应用内容穿插展示并明显区分,防止意外点击。

二、请求广告

模版信息流广告使用BUNativeExpressAdManager对象调用loadAd请求广告,并在接收到回调后调用render来渲染广告,通过设置BUNativeExpressAdViewDelegate代理,监听广告展示、点击、关闭等状态。

注意事项:

  • 模版信息流的尺寸adSize建议宽度设置为屏宽 高度设置为0或者设置平台勾选的高度, 】不要随意设置尺寸大小否则有可能出现拉取失败或者广告变形的情况
  • 模版信息流广告可多条广告同时请求,最大请求数量为3
  • 模版信息流广告默认设置imgSizeBUProposalSize_Feed228_150即可
  • self.nativeExpressAdManager可以重用

1. 使用示例

请求广告前需要构建BUAdSlot广告请求参数,使用BUNativeExpressAdManager创建对象

复制

2. 接口说明

方法

说明

- (instancetype)initWithSlot:(BUAdSlot * _Nullable)slot adSize:(CGSize)size

构建请求参数
slot:基本信息配置BUAdSlot ,如代码位id,广告类型等,详见使用示例
size:广告尺寸,可将宽度设置为屏宽,自适应时,可将高度直接设置为0

- (void)loadAdDataWithCount:(NSInteger)count

请求广告数量为1到3条

三、展示广告

使用BUNativeExpressAdManager调用loadAdDataWithCount请求广告,为了保证播放流畅和展示流畅,建议开发者在接收到广告加载回调nativeExpressAdSuccessToLoad后调用render渲染

注意事项:

  • 官方Demo使用tableView插入广告并展示,直接更新数据源即可更新广告的相关插入展示,若不是使用此种方式进行的信息流广告的展示,切记不要忘记addSubview添加广告对象来进行广告的展示。
  • 为了避免内存过大触发系统优化机制,建议在合适的时机进行remove移除操作,目前SDK使用WKWebView实现,此建议不限于模版信息流广告,其他广告同样适用,保证不使用的广告,在合适的时机进行释放处理

1. 使用示例

复制

2. 接口说明

  • BUNativeExpressAdManager

方法

说明

- (void)loadAdDataWithCount:(NSInteger)count

请求广告数量为1到3条

- (void)render

广告渲染,建议在收到nativeExpressAdSuccessToLoad回调后调用render渲染广告

  • BUNativeExpressAdViewDelegate

通过设置BUNativeExpressAdViewDelegate代理,监听广告、展示、点击、关闭等行为,其他代理方法可参见Demo中BUDExpressFeedViewController类#pragma mark - BUNativeExpressAdViewDelegate部分

分类

方法

说明

广告加载回调

nativeExpressAdSuccessToLoad

广告视图加载成功

nativeExpressAdFailToLoad

广告填充失败,返回的错误码(error)说明请见链接。Link

广告渲染回调

nativeExpressAdViewRenderFail

渲染失败,网络原因或者硬件原因导致渲染失败,可以更换手机或者网络环境测试。建议升级到穿山甲平台最新版本

nativeExpressAdViewRenderSuccess

渲染成功

广告交互回调

nativeExpressAdViewWillShow

信息流广告即将展示

nativeExpressAdViewDidClick

点击回调方法

nativeExpressAdViewPlayerDidPlayFinish

视频正常播放完成时可触发此回调方法,当广告播放发生异常时,不会进入此回调;

nativeExpressAdViewDidCloseOtherController

此回调在广告跳转到其他控制器时,该控制器被关闭时调用interactionType:
此参数可区分是打开的appstore/网页/视频广告详情页面

  • BUVideoAdViewDelegate

方法

说明

didLoadFailWithError

播放失败时调用

playerReadyToPlay

准备播放时调用

stateDidChanged

回放状态改变时调用

rewardDidCountDown

当奖励视频奖励开始倒计时调用

playerDidPlayFinish

播放结束时调用

videoAdViewDidClick

点击时调用

videoAdViewFinishViewDidClick

播放完成被点击时调用

videoAdViewDidCloseOtherController

在app中打开appstore或打开网页或查看视频广告详情页面

四、dislike回调

注意事项:

  • 切记不要忘记设置BUNativeExpressAdView对象的rootViewController,保证当前传入的rootViewController不为空,并确保self.nativeExpressAdManager进行了重用判断,否则有可能出现偶现dislike回调方法不进的异常场景

1. 使用示例

复制

2. 接口说明

BUAdSlot.h

isOriginAd只有banner广告需要设置YES

复制

五、资源

详细接入可参照Demo中的BUDExpressFeedViewController类,广告加载请求部分可参照loadData方法,广告展示渲染部分可参照nativeExpressAdSuccessToLoad方法


本篇目录
联系我们