原生广告
一、加载广告
- 加载广告需要一段时间,开发者可以在展示广告前提前加载好广告
- 创建广告对象TPNative,部分广告平台要求传入acitivity,不然无法成功加载广告
- 创建广告对象后,因为SDK内部有自动加载功能,开发者只调一次loadAd()即可
TPNative tpNative = new TPNative(activity,"在TP平台创建的广告位ID");
tpNative.setAdListener(new NativeAdListener());
tpNative.loadAd();
二、展示广告
- 建议使用isReady()方法检查是否有可用广告,返回true即可调用展示
- adContainer为展示广告的容器,TP会将加载好的广告添加到容器中
- layoutId为布局文件,layout布局文件中提供了默认布局,开发者可以改布局样式,但是不能改动
android:id资源ID
if(tpNative.isReady()) {
tpNative.showAd(adContainer, layoutId);
}
三、回调监听
- 禁止onAdLoadFailed和onAdShowFailed里执行请求广告的方法,会引起很多无用请求,也可能会导致应用卡顿。回调信息说明
tpNative.setAdListener(new NativeAdListener() {
@Override // 广告加载完成 首个广告源加载成功时回调 一次加载流程只会回调一次
public void onAdLoaded(TPAdInfo tpAdInfo, TPBaseAd tpBaseAd) {}
@Override // 广告被点击
public void onAdClicked(TPAdInfo tpAdInfo) {}
@Override // 广告成功展示在页面上
public void onAdImpression(TPAdInfo tpAdInfo) {}
@Override // 广告加载失败
public void onAdLoadFailed(TPAdError tpAdError) {}
@Override // 广告展示失败(部分广告支持)
public void onAdShowFailed(TPAdError tpAdError, TPAdInfo tpAdInfo) {}
@Override // 广告被关闭
public void onAdClosed(TPAdInfo tpAdInfo) {}
});
四、接入参考
- 代码示例NativeActivity
- 接入完成后可使用TP的测试模式或三方平台测试ID进行测试
五、原生广告详细集成说明
-
广告SDK的资源不能被混淆,如果使用第三方资源优化框架,请为SDK配置资源白名单
-
如果有其他需求不满足的,可以进一步参考标准原生详细集成说明
-
集成原生广告派生出来的Draw信息流,请参考Draw信息流