原生广告
#
一、注意事项- 禁止在
onAdLoadFailed
回调中执行广告加载的方法,否则会引起死循环。 - 禁止在
onAdLoaded
回调中直接执行广告展示的方法。SDK有广告过期自动补充功能。如果在onAdLoaded
回调中执行展示,开发者会无法精准控制广告展示的时机。 - 根据所支持的广告平台,原生广告分为模板类型和自渲染类型。
- 模板类型的广告,三方广告平台会直接返回一个完整的view,开发者只需要正常调用就可以展示。
- 自渲染类型的广告,三方广告平台是返回广告素材,使用开发者传入的布局进行展示。三方后台的类型选择需要和TP后台一致,否则会请求失败。
- 开发者可以参考Demo中的native.dart集成
#
二、集成步骤#
1、请求广告参数说明
#
unitId:TradPlus后台创建的广告位ID- 开发者需正确填入,例如:adUnitId设置前后有空格,均会导致广告因拉不到配置而请求失败。
#
extraMap:额外参数- customMap:设置流量分组相关属性参数
- localParams:设置本地参数。个别广告平台特殊需要设定的参数。
- templateHeight和templateWidth:原生模板类型请求广告前传入广告展示的宽高,不传SDK内部会使用三方广告平台建议的宽高值。
#
2、检查是否有可用广告- 开发者在监听到onAdLoaded回调后调用。
- 建议开发者展示广告前,调用该API判断是否有可用广告,有广告再调用show方法
- true表示有可用广告,false表示暂时无可用广告
- 当调用
nativeAdReady
返回false时,sdk会重新请求广告,无需开发者再次调用load方法。
#
3、进入广告场景参数说明
#
sceneId :广告场景ID- 开发者可在在TradPlus后台创建,位置如下:应用管理--广告场景。
- 具体如何调用,可以参考广告场景的调用时机和用途说明。
- 进入广告场景时传入sceneId,展示广告时也需传入sceneId,否则会影响统计。
#
4、展示广告- loaded结束并且调用
nativeAdReady
返回true时,进行广告展示。 - 开发者需要自己创建Widget进行广告展示。
#
方法一:使用布局文件展示广告TPNativeViewWidget属性说明
- width、height:设置宽高
- className:上述文档介绍的布局文件,禁止开发者修改布局文件中的android🆔 资源ID,会导致自渲染类型广告的无法找到对应id而展示失败;
- sceneId :广告场景ID,上面文档已介绍。
#
(1)Android平台布局导入layout文件中提供了默认布局,下载压缩包解压后将res文件夹里的native_ad_list_item.xml导入到如图目录下:
如图:
#
(2)iOS平台布局导入您可以从 打包平台页面下载SDK的压缩包中res目录中获取到默认布局文件
将TPNativeTemplate.xib放置在 tradplus_sdk/ios/Assets/ 下
将TPNativeTemplate.h,TPNativeTemplate.m放置在 tradplus_sdk/ios/Classes/ 下
这样就可以通过pods将布局文件导入到xcode项目中并使用了
#
方法二:用Flutter方式创建布局展示广告使用这种方式展示广告,无需导入TradPlus提供的布局文件
TPNativeViewWidget属性说明
width、height:设置宽高
className:上述文档介绍的布局文件,禁止开发者修改布局文件中的android🆔 资源ID,会导致自渲染类型广告的无法找到对应id而展示失败;
sceneId :广告场景ID,上面文档已介绍。
extraMap : 自定义Map参数
- width,height:元素的宽高
- backgroundColorStr:背景颜色
- textColorStr:字体颜色
- textSize:字体大小
- x,y:内部子控件坐标
#
5、监听回调参数说明
- adInfo:广告位ID、三方广告平台、ecpm等信息,具体请参考回调信息说明。
- error:广告请求失败、广告展示失败的错误信息,具体请参考错误码、错误信息说明。