信息流广告
自定义使用时,相关类的使用
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 对象,将这个视图对象直接添加需要展示广告的位置即可.
优点是集成简单,快捷;但是展示广告时会比较消耗性能
使用自定义原生的可以看到 控制器 ViewController 上只有薄薄的 2~3 层视图;
但是在使用快速集成时,可以看到 BUNativeExpressAdView 的视图上还有 7~10 层的视图.不过由于广告展示的不多,所以影响有限