package com.weikou.beibeivideo.util.ad.manager;
|
|
import android.app.Activity;
|
import android.content.Context;
|
|
import com.weikou.beibeivideo.entity.ad.ExpressAdContainer;
|
import com.weikou.beibeivideo.util.ad.AdUtil;
|
import com.weikou.beibeivideo.util.ad.ExpressAdManager;
|
|
import java.util.List;
|
import java.util.Stack;
|
|
/**
|
* 搜索结果列表广告管理器
|
*/
|
public class SearchResultAdManager {
|
private Context mContext;
|
private Stack<ExpressAdContainer> adStack = new Stack<>();
|
private static SearchResultAdManager instance;
|
private ExpressAdManager expressAdManager;
|
|
public SearchResultAdManager(Context context) {
|
mContext = context;
|
if (expressAdManager == null)
|
expressAdManager = new ExpressAdManager(AdUtil.AD_TYPE.gdt, mContext);
|
}
|
|
public static SearchResultAdManager getInstance(Context context) {
|
if (instance == null) {
|
instance = new SearchResultAdManager(context);
|
}
|
return instance;
|
}
|
|
|
/**
|
* 加载广告
|
*
|
* @param count
|
*/
|
public void loadAD(int count, final ExpressAdManager.IAdLoadListener adLoadListener) {
|
expressAdManager.loadSearchResultSmallAd(count, new ExpressAdManager.IAdLoadListener() {
|
@Override
|
public void onSuccess(List<ExpressAdContainer> adList) {
|
|
if (adList != null)
|
for (ExpressAdContainer ad : adList)
|
ExpressAdManager.renderAd(null, ad, new ExpressAdManager.IAdRenderListener() {
|
@Override
|
public void onRenderSuccess(List<ExpressAdContainer> adList) {
|
if (adList != null)
|
for (ExpressAdContainer ad : adList) {
|
adStack.push(ad);
|
}
|
if (adLoadListener != null)
|
adLoadListener.onSuccess(adList);
|
}
|
|
@Override
|
public void onRenderFail(List<ExpressAdContainer> adList) {
|
|
}
|
}, null);
|
|
}
|
});
|
}
|
|
/**
|
* 消费广告
|
*
|
* @return
|
*/
|
public synchronized ExpressAdContainer consumeAD() {
|
if (!adStack.empty())
|
return adStack.pop();
|
return null;
|
}
|
|
|
/**
|
* 自动加载广告
|
*/
|
public void autoLoadAd() {
|
if (adStack.size() < 2) {
|
loadAD(1,null);
|
}
|
}
|
|
|
}
|