package com.mokasz.ad; import android.app.Activity; import android.util.Log; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import com.anythink.banner.api.ATBannerListener; import com.anythink.banner.api.ATBannerView; import com.anythink.core.api.ATAdInfo; import com.anythink.core.api.AdError; import com.aries.jjdz.mz.R; public class BannerAD { private ATBannerView atBannerView; private Activity activity; public BannerAD(Activity activity) { this.activity = activity; atBannerView = new ATBannerView(activity); atBannerView.setPlacementId(Constants.BANNER_AD_ID); float ratio = 320 / 70f;//必须跟TopOn后台配置的Banner广告源宽高比例一致,假设尺寸为320x50 int width = activity.getResources().getDisplayMetrics().widthPixels;//定一个宽度值,比如屏幕宽度 int height = (int) (width / ratio); atBannerView.setLayoutParams(new FrameLayout.LayoutParams(width, height)); FrameLayout frameLayout = (FrameLayout) activity.findViewById(R.id.banner_container); frameLayout.addView(atBannerView); atBannerView.setBannerAdListener(new ATBannerListener() { @Override public void onBannerLoaded() { Log.i("MokaGame", "广告加载成功"); } @Override public void onBannerFailed(AdError adError) { Log.i("MokaGame", "广告加载出错"); } @Override public void onBannerClicked(ATAdInfo atAdInfo) { } @Override public void onBannerShow(ATAdInfo atAdInfo) { // CocosHelper.runOnGameThread(() -> { // CocosJavascriptJavaBridge.evalString("" + // "g.adData.ad_type=7;" + // "g.adData.destoon_ad_place='" + atAdInfo.getTopOnPlacementId() + "';" + // "g.adData.adsource_id='" + atAdInfo.getAdsourceId() + "';" + // "g.adData.network_firm_id=" + atAdInfo.getNetworkFirmId() + ";" + // "g.adData.network_placement_id='" + atAdInfo.getNetworkPlacementId() + "';" + // "g.adData.adsource_price=" + atAdInfo.getEcpm() + ";" + // "g.adData.network_type='" + atAdInfo.getAdNetworkType() + "';" + // "g.adData.adsource_index=" + atAdInfo.getAdsourceIndex() + ";" + // "g.adData.adsource_isheaderbidding=" + atAdInfo.isHeaderBiddingAdsource() + ";" + // "g.adData.adunit_format='" + atAdInfo.getTopOnAdFormat() + "';" + // "g.adData.ecpm_level=" + atAdInfo.getEcpmLevel() + ";" + // "g.adData.precision_ecpm='" + atAdInfo.getEcpmPrecision() + "';" + // "g.adData.publisher_revenue='" + atAdInfo.getPublisherRevenue() + "';" + // "g.adData.bannerADShow=true;"); // }); } @Override public void onBannerClose(ATAdInfo atAdInfo) { Log.i("MokaGame", "广告加载关闭"); atBannerView.setVisibility(View.GONE); } @Override public void onBannerAutoRefreshed(ATAdInfo atAdInfo) { } @Override public void onBannerAutoRefreshFail(AdError adError) { } }); load(); } public void load() { atBannerView.loadAd(); } public void hide() { atBannerView.setVisibility(View.GONE); } public void show() { atBannerView.setVisibility(View.VISIBLE); } public void removeAD() { if (atBannerView != null && atBannerView.getParent() != null) { ((ViewGroup) atBannerView.getParent()).removeView(atBannerView); } } }