logo

帮助中心/文档详情/

iOS自渲染基础模块配置说明

简介

  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; 是否支持自动播放,视频广告的自定义模式,默认支持自动播放
InitWithMaterial:/playerSeekToTime: 恢复视频进度方法
playerPlayIncon: playInconSize: 自定义暂停按钮样式方法

BUVideoAdViewDelegate回调说明

回调方法 注释
videoAdView:didLoadFailWithError:videoAdView 播放失败时调用此方法;返回的错误码(error)表示播放失败的原因,所有错误码详情请见链接。Link
videoAdView: stateDidChanged: 当videoAdView回放状态更改时调用此方法。playerState:更改后的状态
playerDidPlayFinish: 播放完成时调用此方法
videoAdViewDidClick:videoAdView 点击回调方法,点击视频区域会触发此回调方法
videoAdViewFinishViewDidClick: 此方法在单击videoAdView的finish视图时被调用
videoAdViewDidCloseOtherController: interactionType :此回调在广告跳转到其他控制器时,该控制器被关闭时调用interactionType:此参数可区分是打开的appstore/网页/视频广告详情页面

BUVideoAdView初始化事例

self.videoAdView = [[BUVideoAdView alloc] init];
self.videoAdView.materialMeta = (BUMaterialMeta *)self.material;
self.videoAdView.rootViewController = self;
[self addSubview:self.videoAdView];

不感兴趣类(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:) 将原因上报

文档内容是否对您有帮助?
联系我们