插屏广告 - sunitsdk/SUnitDemo GitHub Wiki
下述参数中的unitId对应各家广告源生成的「Unit Space ID」,可协同SHAREit服务对接人获取
InterstitialAd.loadAd(String unitId);
此接口必须要在主线程中调用
//scene 广告展示的场景
InterstitialAd.isAdReady(String unitId, String scene)
特殊场景:如果业务需要循环调用此方法检测广告缓存,或其他方式使用此方法(不是用来展示广告),避免产生不必要的数据,scene规定为 ShareItAd.LOOP
插屏并不推荐在非showAd时机调用此方法判断可见性,理论上插屏只需要在展示前判断一次即可。
InterstitialAd.isAdReady(unitId, ShareItAd.LOOP);
scene需要传入,方便做数据分析
此接口必须要在主线程中调用
目前提供了两种展示模式:
- SDK管理广告缓存(推荐)(需配合isAdReady使用,loadAd时不带adLoadListener参数)
InterstitialAd.showAd(String unitId, IAdShowListener adShowListener)
SDK将根据unitId查找已有的缓存对象,无缓存时将展示失败(配合isAdReady使用)
示例:
//load
InterstitialAd.loadAd(unitId, null);
//show
if (InterstitialAd.isAdReady(unitId, scene)) {
InterstitialAd.showAd(unitId, null);
}
- 接入方自己管理缓存(loadAd时带adLoadListener参数)
InterstitialAd.showAd(AdWrapper adWrapper, IAdShowListener adShowListener)
可以将缓存的广告对象直接进行展示. 广告对象过期或被销毁等情况将展示失败(需配合adLoadListenner使用)
示例:
InterstitialAd.loadAd(unitId, new IAdLoadListener() {
@Override
public void onAdLoaded(String unitId, AdWrapper adWrapper) {
InterstitialAd.showAd(adWrapper, null);
}
@Override
public void onAdError(String unitId, AdException adError) {
}
});