package com.weikou.beibeivideo.util.ad.manager; import android.app.Activity; import android.content.Context; import com.lcjian.library.util.common.AndroidManifestUtil; 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 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.gdt2, mContext); expressAdManager = new ExpressAdManager(AndroidManifestUtil.isHuaWeiChannel(context)? AdUtil.AD_TYPE.hw:AdUtil.AD_TYPE.gdt2,ExpressAdManager.POSITION_SEARCH_RESULT, 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 adList) { if (adList != null) for (ExpressAdContainer ad : adList) ExpressAdManager.renderAd(null, ad, ExpressAdManager.POSITION_SEARCH_RESULT, new ExpressAdManager.IAdRenderListener() { @Override public void onRenderSuccess(List adList) { if (adList != null) for (ExpressAdContainer ad : adList) { adStack.push(ad); } if (adLoadListener != null) adLoadListener.onSuccess(adList); } @Override public void onRenderFail(List 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); } } }