标准原生
一.集成建议
主要介绍在Android项目中如何集成 TradPlus SDK的标准原生广告:
- 原生广告可以由开发者控制大小,尽可能融入到app的内容中去,从而提升广告的点击和转化。
- 信息流是标准原生的一种使用场景,不是一种广告类型。就是在listview或者recyclerview中展示native广告(具体要根据开发者的场景来做调试)。这种场景下开发者可能会有一次请求多个广告的需求。可参考NativeSlot Demo进行开发集成。
- 原生广告分自渲染和模板渲染:
类型 | 说明 |
---|---|
自渲染 | 三方广告平台返回广告素材由开发者来拼接成的类型。三方后台的类型选择需要和TP后台一致,否则会请求失败。 |
模板渲染 | 三方广告平台返回渲染好的view,开发者直接添加到一个容器就可以展示出来。 |
注意事项
Meta (FaceBook)
- (1)元素齐全:接入Meta (FaceBook)原生广告必须有以下元素,缺少这些元素可能会导致不计入展示。更多了解,请看Audience Network 原生广告介绍。
- (2)图标(角标):如图4的位置是Meta的角标,开发者自测过程中请注意角标的正常显示,不能有遮挡。
请求和展示
- 不建议在
oneLayerLoadFailed
和onAdLoadFailed
回调中执行广告加载的方法。对广告平台方来说,短时间内多次请求,不容易得到填充,同时会造成多次无效请求,也可能会导致应用卡顿;如果产品逻辑要在这里发起请求,开发者需要控制时间间隔和次数,比如分别在10S、30S、60S后发起请求。 - 【V9.9.0.1以下版本】 不建议在
onAdLoaded
回调中直接执行广告展示的方法:- SDK有广告过期自动补充和自动加载功能,加载成功后会回调
onAdLoaded
onAdLoaded
回调中直接showAd()
,会导致过期补充或自动加载成功后弹出广告影响用户体验- 建议:开发者记录
onAdLoaded
状态,在需要展示广告的地方,先判断isReady()
返回true,再展示广告
- SDK有广告过期自动补充和自动加载功能,加载成功后会回调
- 【V9.9.0.1 + 】优化回调机制,调用一次
loadAd()
才会收到一次loaded
回调。- 开发者可以直接在
onAdLoaded
回调中执行广告展示
- 开发者可以直接在
二、TPNative API说明
1、创建广告位对象
方法 | 说明 |
---|---|
TPNative(Activity activity, String adUnitId) | 仅调用一次。 adUnitId是在TP平台创建的广告位ID。 |
2、加载、展示以及销毁广告
方法 | 说明 |
---|---|
loadAd() | 请求广告 |
isReady() | 检测是否有可用广告。 V8.6.0.1新增API。 |
showAd(ViewGroup adContainer, int layoutId) | 展示广告(方法一)—— 自渲染 & 模版 参数1 adContainer: 传空容器会导致展示失败。 参数2 layoutId 说明: (1)开发者可以从自动打包平台下载的layout文件夹中获取布局文件; (3)不清楚自渲染和模版的区别可看上文介绍; (2)将三方返回的自渲染元素的拼接好的布局,模版类型会直接展示; (4)禁止开发者修改布局文件中的 android:id: 资源ID ,会导致自渲染广告的元素无法找到对应id而展示失败;(5)开发者可以调整元素位置; (6)禁止开发者删除 ad_choices 等元素,缺少元素可能会导致某些广告平台不计入展示,详细了解请看上文集成建议 中注意事项。TP提供的布局文件中 tp_ad_choices_container 为Meta(FaceBook)和MTG的角标的容器;tp_native_ad_choice 则是其他广告平台的角标Id,均不能删除。V6.9.1+版本优化 android:id: 资源ID ,开发者要更新tp_native_ad_list_item.xml文件,如果是自定义模版,也需要更新id。 (7)每次从缓存中拿出一个新的广告show出来,一次loaded对应一次show。 |
showAd(ViewGroup adContainer, int layoutId, String sceneId) | 展示广告并设置场景ID(方法二)—— 自渲染 & 模版 需和进入广告场景方法一起使用。 每次从缓存中拿出一个新的广告show出来,一次loaded对应一次show。 |
showAd(ViewGroup adContainer, TPNativeAdRender adRender, String adSceneId) | 自定义渲染方式展示广告(方法三)—— 自渲染 开发者要自己渲染三方返回的元素,并且需要在loaded广告后调用。TPNativeAdRender的使用需要参考Demo。 仅自渲染类型支持。 |
entryAdScenario(String sceneId) | 进入广告场景 需和(方法二)一起使用。 广告场景是用来统计进入广告场景的次数和进入场景后展示广告的次数,所以请在准确的位置调用。 |
onDestroy() | 释放资源。 |
- 参数说明
参数 | 说明 |
---|---|
adUnitId | 广告位ID,TradPlus后台创建。应用管理——添加应用——添加广告位。 注意广告类型创建错误会导致广告展示失败,例如用标准原生的广告位去请求激励视频广告。 |
sceneId | 广告场景ID,TradPlus后台创建。应用管理—— 广告场景。 具体如何使用,请看 |