中文
登录
后可查看全部文档
开发测试/iOS集成文档/iOS自渲染基础模块配置说明
iOS自渲染基础模块配置说明
最近更新 2022-01-24 14:43:59

简介

  1. BUNativeAd 类提供了原生广告的数据类型等各种信息,开发者在获取数据后可在属性 data(BUMaterialMeta)里面获取图片类广告的数据信息,如交互的广告类型、图片、广告logo、广告描述、标题等等。
  2. BUNativeAd类提供了原生广告的数据绑定、点击事件的上报,开发者可自行定义信息流广告展示形态与布局。
  3. 使用BUAdSlot初始化一个BUNativeAd的对象,调用loadAdData:方法,开发者可以在拉取广告成功的回调中获取到BUMaterialMeta中的广告数据。
  4. 开发者可提前创建好需要展示广告的视图,在创建好的视图中按照自身项目需求渲染广告样式。
  5. 开发者可以使用registerContainer:withClickableViews:clickableViews注册绑定点击的 View,包含图片、按钮等等。备注
    1. BUNativeAd注册view具体点击事件(跳转广告页,下载,打电话等等)行为由 SDK 控制。
    2. 具体点击事件类型interactionType(BUInteractionType)来自BUNativeAd请求获得的数据data(BUMaterialMeta)
  6. 开发者想要获取视频类广告的相关数据信息,需初始化BUNativeAdRelatedView类,来获取需要添加的广告logo、dislike按钮、视频视图等等。
  7. 如果当前dislike样式不满足自身项目需求,可参照BUDislike类自行实现dislike按钮样式。
  8. 如果需要添加广告logo、dislike按钮、视频视图等,请先初始化BUNativeAdRelatedView。


广告位类(BUAdSlot)

BUAdSlot 对象为加载广告时需要设置的广告位描述信息,在BUNativeAd、BUNativeAdsManager、BUBannerAdView、BUInterstitialAd中均需要初始化阶段传入。在加载广告前,必须须设置好

备注:一次请求多条广告数据请使用BUNativeAdsManager

BUNativeAd 类为加载广告的接口类,可以通过数据接口每次请求一个广告数据,并能协助 UIView 注册处理各种广告点击事件,设置delegate后可获取数据。rootViewController是必传参数,是弹出落地页广告ViewController的。

BUAdSlot接口说明

字段定义

字段名称

字段类型

备注

ID

代码位

NSString

必传参数,代码位ID

AdType

广告类型

BUAdSlotAdType

必传参数;BUAdSlotAdTypeUnknown = 0, BUAdSlotAdTypeBanner = 1, // bannar广告 BUAdSlotAdTypeInterstitial = 2, // 插屏广告 BUAdSlotAdTypeSplash = 3, // 开屏广告 BUAdSlotAdTypeSplash_Cache = 4, // 缓存的开屏广告 BUAdSlotAdTypeFeed = 5, // 信息流广告 BUAdSlotAdTypePaster = 6, // paster ads BUAdSlotAdTypeRewardVideo = 7, // 激励视频广告 BUAdSlotAdTypeFullscreenVideo = 8, // 全屏视频广告 BUAdSlotAdTypeDrawVideo = 9, // 垂直(沉浸式)视频广告

position

广告位置

BUAdSlotPosition

必传参数;BUAdSlotPositionTop = 1, BUAdSlotPositionBottom = 2, BUAdSlotPositionFeed = 3, BUAdSlotPositionMiddle = 4, // 只供插屏广告使用 BUAdSlotPositionFullscreen = 5,

imgSizeArray

一组图片尺寸

NSMutableArray<BUSize *>

// 单位px;可选参数@property (nonatomic, assign) NSInteger width;@property (nonatomic, assign) NSInteger height;

imgSize

图片尺寸

BUSize

// 单位px;必传参数@property (nonatomic, assign) NSInteger width;@property (nonatomic, assign) NSInteger height;

iconSize

logo尺寸

BUSize

// 单位px;可选参数@property (nonatomic, assign) NSInteger width;@property (nonatomic, assign) NSInteger height;

titleLengthLimit

标题最大长度限制

NSInteger

可选参数;广告标题最大长度限制

descLengthLimit

描述最大长度限制

NSInteger

可选参数;广告描述最大长度限制

isOriginAd


BOOL

原生bannar广告和原生插屏广告设置为1,其他广告类型为0,默认为0。

dictionaryValue

/

NSDictionary

/


广告数据类(BUMaterialMeta)

广告数据的载体类 BUMaterialMeta ,访问可以获取所有的广告属性。

BUMaterialMeta接口说明

字段定义

字段名称

字段类型

备注

interactionType

广告交互类型

BUInteractionType

BUInteractionTypeCustorm = 0,BUInteractionTypeNO_INTERACTION = 1, // 纯广告展示BUInteractionTypeURL = 2, // 使用浏览器打开网页BUInteractionTypePage = 3, // 在app内打开网页BUInteractionTypeDownload = 4, // 下载appBUInteractionTypePhone = 5, // 打电话BUInteractionTypeMessage = 6, // 发信息BUInteractionTypeEmail = 7, // 发邮件BUInteractionTypeVideoAdDetail = 8 // 视频广告详情页

imageAry

物料图片

NSArray<BUImage *>

物料图片

icon

logo标识

BUImage

logo标识

AdTitle

广告标题

NSString

广告标题

AdDescription

广告描述

NSString

广告描述

source

广告源

NSString

广告源

buttonText

文本按钮

NSString

文本按钮

imageMode

信息流广告模式

BUFeedADMode

仅使用于信息流广告,其他广告忽略此属性BUFeedADModeSmallImage = 2, //小图BUFeedADModeLargeImage = 3, //大图BUFeedADModeGroupImage = 4, //组图BUFeedVideoAdModeImage = 5, // 视频广告

score

星级评级

NSInteger

评级标准1~5

commentNum

评论数

NSInteger

评论数

appSize

广告安装包大小

NSInteger

广告安装包大小,单位字节

videoDuration

视频时长

NSInteger

视频时长

mediaExt

透传参数

NSDictionary

透传参数


相关视图类(BUNativeAdRelatedView)

相关视图类可以添加logo、广告标签、视频视图、不喜欢按钮等。

BUNativeAdRelatedView接口说明

字段定义

字段名称

字段类型

备注

dislikeButton

dislike按钮

UIButton

需主动添加视图,接受用户反馈,提高广告的准确性。

adLabel

广告Label

UILabel

广告标签,需主动添加到视图中。

logoImageView

广告logo

UIImageView

广告logo,需主动添加到视图中。

logoADImageView

广告logo+广告标识语

UIImageView

广告logo+广告标识语,需主动添加到视图中。

videoAdView

视频View

BUVideoAdView

视频View,需主动添加到视图中。

refreshData:nativeAd

/

/

刷新数据回调方法;注意:添加logo、广告标签、视频视图、dislike按钮,每次获取物料信息后需要刷新调用-(void)refreshData:(BUNativeAd *)nativeAd 方法刷新对应的视图绑定的数据.


视频视图(BUVideoAdView)

BUVideoAdView 提供了 play、pause、currentPlayTime 等方法,开发者可用于在信息流中实现划入屏幕自动播放,划出屏幕暂停,点击传入已播放时间用于续播等。

BUVideoAdView接口说明

回调方法

注释

- (CGFloat)currentPlayTime;

获取播放进度(当前时间)方法

- (void)play;

播放方法

- (void)pause;

暂停方法

@property (nonatomic, weak, readwrite) UIViewController *rootViewController;

必传参数;设置rootViewController,广告跳转的载体,根视图控制器。

@property (nonatomic, assign) BOOL drawVideoClickEnable;

是否允许点击暂停视频,默认NO。仅用于Draw视频广告(沉浸式广告)

@property (nonatomic, strong, readwrite, nullable) BUMaterialMeta *materialMeta;

BUMaterialMeta广告数据的载体类,用于获取广告的所有属性

@property (nonatomic, assign) BOOL supportAutoPlay;

是否支持自动播放,视频广告的自定义模式,默认支持自动播放

playerPlayIncon: playInconSize:

自定义暂停按钮样式方法

BUVideoAdViewDelegate回调说明

回调方法

注释

videoAdView:didLoadFailWithError:videoAdView

播放失败时调用此方法;返回的错误码(error)表示播放失败的原因,所有错误码详情请见链接。Link

videoAdView: stateDidChanged:

当videoAdView回放状态更改时调用此方法。playerState:更改后的状态

playerDidPlayFinish:

播放完成时调用此方法

videoAdViewDidClick:videoAdView

点击回调方法,点击视频区域会触发此回调方法

videoAdViewFinishViewDidClick:

此方法在单击videoAdView的finish视图时被调用

videoAdViewDidCloseOtherController: interactionType

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

BUVideoAdView初始化事例


不感兴趣类(BUDislike)

通过BUDislike类可以自定义dislike按钮的样式。

BUDislike接口说明

回调方法

注释

其他说明

@property (nonatomic, copy, readonly) NSArray<BUDislikeWords *> *filterWords;

BUDislikeWords数组如果[filterWords.options count] > 0可展示第二页

-

initWithNativeAd:

使用nativeAd初始化以获得filterWords返回BUDislike

-

didSelectedFilterWordWithReason:

1)在用户选择不喜欢的原因后调用此方法。(仅适用于使用 BUDislike.filterWords 的对象)2)如果 [filterWords.options count]> 0 。不需要调用这个方法。3)不能更改 BUDislike.filterWords ,filterWord必须是BUDislike中的一个,否则将被过滤。

-

nativeAd: adContainerViewDidRemoved:

信息流广告的强制关闭广告回调,需要媒体在此回调做关闭的相关处理避免页面布局异常

3600版本SDK新增,自渲染信息流/Banner广告使用

注意:使用BUDislike类必须确保用户点击后调用接口 (didSelectedFilterWordWithReason:) 将原因上报


本篇目录
联系我们