原生拼接开屏
一、简介
主要介绍在Android项目中如何集成 TradPlus SDK的原生拼接开屏广告:
原生拼接开屏
- 基于原生广告拼接开屏
- 创建广告位时,样式选择选择原生广告,模版选择原生拼接开屏。
- 如果三方提供的是模版类型的广告,不支持调整素材的位置。
二、集成步骤
// 1、创建广告位对象。仅调用一次。
TPNativeSplash tpSplash = new TPNativeSplash(activity);
// 2、设置广告监听
tpSplash.setAdListener(new NativeSplashAdListener(){
@Override
public void onAdClosed(TPAdInfo tpAdInfo){
// 注意需要从容器中remove掉TPNativeSplash
adContainer.removeAllViews();
}
...
});
// 3、设置每层广告源回调监听(可选)
tpSplash.setAllAdLoadListener(new LoadAdEveryLayerListener(){...});
// 4、关闭自动展示(可选)
tpSplash.closeAutoShow();
// 5、请求广告。
tpSplash.loadAd("在TP平台创建的广告位ID");
// 6、添加tpSplash到容器中
adContainer.addView(tpSplash);
// 7、展示广告(可选)
tpSplash.showAd();
- 步骤4和步骤7必须配合调用,如果需要加载成功直接展示,则步骤4和步骤7不用调用。
三、API说明
3.1 加载类API
V6.X API TPNativeSplash方法 | 说明 |
---|---|
TPNativeSplash(Activity activity) | 创建广告位对象。仅初始化时调用一次。 |
setAdListener(NativeSplashAdListener adListener) | 设置广告监听,其中NativeSplashAdListener是需要实现广告事件回调的接口类。 |
setAllAdLoadListener(LoadAdEveryLayerListener everyLayerListener) | (可选)设置单个源维度的监听回调,其中LoadAdEveryLayerListener是需要实现广告事件回调的接口类。 |
setNativeAdRender(TPNativeAdRender nativeAdRender) | (可选)设置自定义自渲染Native元素。 需要开发者自己渲染三方返回的元素。 |
closeAutoShow() | (可选)关闭自动展示。需要和展示广告showAd() 一起调用。 |
loadAd(String adUnitId) | 请求广告。 adUnitId是在TP平台创建的广告位ID。 |
showAd() | (可选)展示广告。需要和展示广告closeAutoShow() 一起调用。 |
3.2 监听回调API
V6.X API NativeSplashAdListener 方法 | 说明 |
---|---|
onAdClicked(TPAdInfo tpAdInfo) | 广告被点击。事件回调监听中的TPAdInfo,请参考回调信息说明。同下 |
onAdImpression(TPAdInfo tpAdInfo) | 广告被展示。部分三方源没有该回调。AdColony、AppLovin、Unity Ads 、Admob、Mopub、Criteo、MyTarget无此回调。 |
onAdClosed(TPAdInfo tpAdInfo) | 广告被关闭。 从容器中remove掉TPNativeSplash |
onAdLoaded(TPAdInfo tpAdInfo, TPBaseAd tpBaseAd) | 广告加载成功。 V9.9.0.1优化回调机制,开发者主动调用一次load才会对应回调一次loaded,不调用不回调。 |
onAdLoadFailed(TPAdError error) | 广告加载失败。事件回调监听中的TPAdError,请参考错误码、错误信息说明。同下 |
onShowSkip(TPAdInfo tpAdInfo) | 展示跳过按钮。 |
onClickSkip(TPAdInfo tpAdInfo) | 点击跳过按钮。 |
onCountDown(TPAdInfo tpAdInfo,int progress) | 广告倒计时。progress用于倒计时秒数,单位:秒。 |
- (可选)设置单个源维度 的监听回调
V6.X API LoadAdEveryLayerListener 方法 | 说明 |
---|---|
onAdAllLoaded(boolean isSuccess) | 广告位的状态。loadAd() 完毕后用于判断是否有可用广告,true表明有可用广告,false表明没有可用广告。 |
oneLayerLoadFailed(TPAdError adError, TPAdInfo adInfo) | 配置多个广告源,每个广告源加载失败后都会回调一次。 |
oneLayerLoaded(TPAdInfo adInfo) | 配置多个广告源,每个广告源加载成功后都会回调一次。 |
请求广告后,广告开始加载。 V7.9.0 废弃。 | |
oneLayerLoadStart(TPAdInfo tpAdInfo) | 每层waterfall 向三方广告源发起请求前,触发的回调。V7.9.0 新增。 |
onAdStartLoad(String adUnitId) | 每次调用load方法时返回的回调。V7.9.0 新增。 |
onBiddingStart(TPAdInfo tpAdInfo) | Bidding开始加载。 |
onBiddingEnd(TPAdInfo tpAdInfo) | Bidding加载完成。 |
onAdIsLoading(String adUnitId) | 调用load之后如果收到此回调,说明广告位仍处于加载状态,无法触发新的一轮广告加载。 V9.0.0新增回调。 |
四、自定义渲染
- 高级用法,开发者可以根据需要选择性使用。需要自己渲染返回的元素。
-
setTitleView
等方法必须要调用。 - 需要在load()广告前调用。