信息流广告

自定义使用时,相关类的使用

BUAdSlot(广告位类,加载广告时需要设置的广告位描述信息)

传入广告的主要请求 ID,广告类型,位置等

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

主要属性名

数据类型

作用

interactionType

枚举类型

点击广告后的效果,包括: App跳转网页,App 内下载等

imageAry

数组

返回的广告图片(图片的 url,及宽高)

AdTitle

字符串类型

广告标题

AdDescription

字符串类型

广告描述

source

字符串类型

广告厂商

imageMode

枚举类型

广告的图片模式(小图,大图,组图,有对应的图片比例)

score

整数型

星级/评分

commentNum

整数型

评论数量

BUNativeAd(广告类)

使用该类可以获取广告信息,通过绑定 BUAdSlot 对象(主要是传入:slot ID,广告类型 ),然后发起网络请求. 获取广告的数据类型等各种信息.

1.传入数据:BUAdSlot 的一个对象

2.传入rootViewController:广告被点击时,响应的控制器

3.返回数据:BUMaterialMeta 的一个对象

4.回调方法:广告信息获取成功的方法;广告已经完成显示的方法;广告信息获取失败的方法;广告被点击;广告展示完后被关闭

5.广告信息获取成功的回调中:通过- (void)registerContainer:(__kindof UIView *)containerView withClickableViews:(NSArray<__kindof uiview> *_Nullable)clickableViews;;将自定义的view 控件纳入可点击范围.

BUNativeAdRelatedView(相关视图类, 可以为添加logo、广告标签、视频视图、不喜欢按钮等)

主要属性名

数据类型

作用

dislikeButton

按钮

不喜欢/关闭 按钮,点击后的处理,用户自己设置

adLabel

标签

文案为: '广告' 的标签

logoImageView

图片

穿山甲 logo

在创建 BUNativeAdRelatedView 的对象,并未以上 3 个 视图控件设置框架位置时,会自动创建;

使用流程

根据 appKey 集成 穿山甲 SDK

创建自定义视图 customView; 创建广告图片imageView, 标题标签 titleView, 详情标签 descView,并把这些视图添加到 customView

创建 相关视图类(BUNativeAdRelatedView)对象,决定是否在广告上添加 穿山甲 logo,关闭按钮,带有 '广告' 2 个字的标签

创建 BUNativeAd 对象,传入广告 id, 点击广告需要响应的控制器等; 然后进行网络请求,再各个回调中做相应的处理;若成功获取到广告相关数据,将数据赋值给在第二步创建的 imageView, titleView, descView等视图,展示广告数据.

v2.0.1.1

在 2019 年的 v2.0.1.1 中推出了快速集成.即:根据素材,后台Web 页面设置的间距等,生成一个BUNativeExpressAdView 对象,将这个视图对象直接添加需要展示广告的位置即可.

优点是集成简单,快捷;但是展示广告时会比较消耗性能


自定义原生的广告图层示意图.png

使用自定义原生的可以看到 控制器 ViewController 上只有薄薄的 2~3 层视图;


快速集成.png

但是在使用快速集成时,可以看到 BUNativeExpressAdView 的视图上还有 7~10 层的视图.不过由于广告展示的不多,所以影响有限