原生广告
#
一.必要重写的方法- 开发者需要继承 TradPlusBaseAdapter并重写相关方法:
- 开发者调用
TradPlusAdNative
的loadAd
API时,会调用到自定义Adapter的loadAdWithWaterfallItem:
方法 - 开发者调用
TradPlusAdNative
的isAdReady
API时,会调用到自定义Adapter的isReady
方法 - 开发者调用
TradPlusAdNative
的showADWithRenderingViewClass:subview:sceneId:
或showADWithNativeRenderer:subview:sceneId:
API时,会依次调用到自定义Adapter的isReady
、endRender:clickView:
(自渲染类型)方法
- 开发者调用
方法 | 参数说明 | 返回值 | 作用 |
---|---|---|---|
- (void)loadAdWithWaterfallItem:(TradPlusAdWaterfallItem *)item | item:包含有服务器下发和本地配置的参数 | void | 用于获取服务器下发和本地配置的参数,实现自定义广告的加载逻辑 |
- (UIView )endRender:(NSDictionary )viewInfo clickView:(NSArray *)array | viewInfo:渲染组件字典列表 clickView:可点击view数组 | id | 用于自渲染类型原生广告注册组件,点击事件等操作。 |
- (BOOL)isReady | ----- | Bool | 用于展示广告前判断自定义广告是否过期 |
#
二.回调方法说明方法 | 说明 |
---|---|
- (void)AdConfigError | 广告配置信息错误时执行回调给开发者 |
- (void)AdLoadFinsh | 广告加载完成时执行回调给开发者 |
- (void)AdLoadFailWithError:(NSError *)error | 广告加载失败时执行回调给开发者 error:错误信息 |
- (void)AdShow | 广告展示时执行回调给开发者 |
- (void)AdShowFailWithError:(NSError *)error | 广告展示失败时执行回调给开发者 error:错误信息 |
- (void)AdClick | 广告点击时执行回调给开发者 |
- (void)AdClose | 三方广告关闭通知时执行回调给开发者 (部分广告平台的模版类型支持) |
#
三.集成说明1.创建您在 TP后台登记 的自定义类,并继承TradPlusBaseAdapter
2.在loadAdWithWaterfallItem:
方法中实现自定义平台的初始化,加载等逻辑
- 通过
TradPlusAdWaterfallItem
类,item.config
获取 后台配置的参数 - 初始化自定义广告平台,根据自身需求,设置广告平台的参数,海外平台的隐私设置(如:CCPA,COPPA,GDPR)等。
3.根据load结果调用 AdLoadFailWithError:
或 AdLoadFinsh
- 加载失败
- 加载成功 (自渲染类型)
- 加载成功后 新建
TradPlusAdRes
- 根据平台需求,将自渲染素材中元素 或三方控件 与
TradPlusAdRes
中的字段进行绑定 - 将
TradPlusAdRes
与self.waterfallItem.adRes
进行绑定 - 调用
AdLoadFinsh
完成加载流程
- 加载成功后 新建
- 加载成功 (模版类型)
- 加载成功后 新建
TradPlusAdRes
- 将
TradPlusAdRes
的adView 与返回的三方模版view进行绑定 - 将
TradPlusAdRes
与self.waterfallItem.adRes
进行绑定 - 调用
AdLoadFinsh
完成加载流程
- 加载成功后 新建
4.对于 自渲染类型 需要在endRender:clickView:
方法中对渲染元素进行注册
根据三方平台规则对各元素进行注册操作
模版类型则不需要实现此方法
例1:AdMob 根据AdMob的规则需要使用AdMob的GADNativeAdView
对广告视图进行注册并展示
例2:Facebook 根据Facebook的规则只需要向其注册广告视图及可点击视图等
- ViewInfo中常用Key值说明
key | 说明 |
---|---|
kTPRendererAdView | 广告视图 |
kTPRendererTitleLable | 广告的标题 |
kTPRendererTextLable | 广告的描述 |
kTPRendererCtaLabel | 广告的按钮 |
kTPRendererIconView | 广告的图标 |
kTPRendererMainImageView | 广告的主图 |
kTPRendererMediaView | MediaView |
kTPRendererAdChoiceImageView | AdChoice图标 |
5.在isReady
方法中返回广告是否过期
6.根据各广告平台API,执行相关方法通知开发者
#
四.其他关于 如何获取 TPSDK 中的 海外隐私权限设置参数
方法 | 说明 |
---|---|
[[NSUserDefaults standardUserDefaults] integerForKey:gTPCOPPAStorageKey] | COPPA,美国儿童在线隐私权保护法 0=未设置,1=成人 ,2=儿童 |
[[NSUserDefaults standardUserDefaults] integerForKey:gTPCCPAStorageKey] | CCPA,加州消费者隐私法案 0=未设置,1=不上报数据 ,2=上报数据 |
[MSConsentManager sharedManager].canCollectPersonalInfo | GDPR,欧盟(EU)和欧洲经济区(EEA)通用数据保护条例 yes=允许获取设备数据 no=不允许获取设备数据 |