广告位的加载成功事件支持多次回调的说明
从v6.3.70版本开始,新增ATAdMultipleLoadedListener#onAdMultipleLoaded(ATRequestingInfo requestingInfo) ,用于将当前还在加载中的(更高价)以及还在竞价中(未知价格)的广告源信息返回给开发者。
- 此回调可能触发多次,当有更高价的广告源请求成功时,会再次触发
- 开发者可根据需求,决定是否要继续等待这些广告源的结果返回
1. 获取是否还有加载中或者竞价中的广告源
可通过以下代码进行监听
public class AdMultipleLoadedListener implements ATAdMultipleLoadedListener {
/**
* 首次触发时机会早于广告位加载成功事件的回调时机。之后如果有更高价的广告源请求成功时会再次触发
* requestingInfo参数为null时,表示当前没有更高价的广告源还在请求中,以及没有广告源还在竞价中
* requestingInfo参数不为null时,可调用requestingInfo.getLoadingAdInfoList() 获取当前还在加载中的(更高价)广告源信息,可能返回null
* requestingInfo参数不为null时,可调用requestingInfo.getBiddingAttemptAdInfoList() 获取当前还在竞价中(未知价格)的广告源信息,可能返回null
*
*/
@Override
public void onAdMultipleLoaded(ATRequestingInfo requestingInfo) {
if (requestingInfo != null) {
List loadingAdInfoList = requestingInfo.getLoadingAdInfoList();
List biddingAttemptAdInfoList = requestingInfo.getBiddingAttemptAdInfoList();
Log.i(TAG, "onAdMultipleLoaded: loadingHigherPriceAdSize=" + (loadingAdInfoList != null ? loadingAdInfoList.size() : 0) + ", " + loadingAdInfoList
+ "\n" + "biddingAttemptAdSize=" + (biddingAttemptAdInfoList != null ? biddingAttemptAdInfoList.size() : 0) + ", " + biddingAttemptAdInfoList
);
} else {
Log.i(TAG, "onAdMultipleLoaded: loadingHigherPriceAdSize=0, biddingAttemptAdSize=0");
}
}
}
mATRewardVideoAd().setAdMultipleLoadedListener(new AdMultipleLoadedListener());//激励视频
//mATInterstitial().setAdMultipleLoadedListener(new AdMultipleLoadedListener());//插屏广告
//mATSplashAd().setAdMultipleLoadedListener(new AdMultipleLoadedListener());//开屏广告
//mATBannerView().setAdMultipleLoadedListener(new AdMultipleLoadedListener());//横幅广告
//mATNative().setAdMultipleLoadedListener(new AdMultipleLoadedListener());//原生广告
2. 监听还在加载中或者竞价中的广告源结果
当开发者需要继续等待广告源的请求或者竞价结果时,请设置ATAdSourceStatusListener进行监听
注意:本文档提及的ATAdInfo、ATAdSourceStatusListener,请参考回调信息说明