package com.ysvideo.zhibo.app.util.ad;
|
|
import android.content.Context;
|
|
|
import com.ysvideo.zhibo.app.entity.ad.ExpressAdContainer;
|
import com.ysvideo.zhibo.library_ad.AdUtil;
|
|
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) {
|
try {
|
expressAdManager = ExpressAdManager.getInstance(mContext);
|
} catch (Exception e) {
|
e.printStackTrace();
|
}
|
}
|
}
|
|
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) {
|
if (expressAdManager == null)
|
return;
|
// 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);
|
}
|
}
|
|
|
}
|