BannerAD.java 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. package com.mokasz.ad;
  2. import android.app.Activity;
  3. import android.util.Log;
  4. import android.view.View;
  5. import android.view.ViewGroup;
  6. import android.widget.FrameLayout;
  7. import com.anythink.banner.api.ATBannerListener;
  8. import com.anythink.banner.api.ATBannerView;
  9. import com.anythink.core.api.ATAdInfo;
  10. import com.anythink.core.api.AdError;
  11. import com.aries.jjdz.mz.R;
  12. public class BannerAD {
  13. private ATBannerView atBannerView;
  14. private Activity activity;
  15. public BannerAD(Activity activity) {
  16. this.activity = activity;
  17. atBannerView = new ATBannerView(activity);
  18. atBannerView.setPlacementId(Constants.BANNER_AD_ID);
  19. float ratio = 320 / 70f;//必须跟TopOn后台配置的Banner广告源宽高比例一致,假设尺寸为320x50
  20. int width = activity.getResources().getDisplayMetrics().widthPixels;//定一个宽度值,比如屏幕宽度
  21. int height = (int) (width / ratio);
  22. atBannerView.setLayoutParams(new FrameLayout.LayoutParams(width, height));
  23. FrameLayout frameLayout = (FrameLayout) activity.findViewById(R.id.banner_container);
  24. frameLayout.addView(atBannerView);
  25. atBannerView.setBannerAdListener(new ATBannerListener() {
  26. @Override
  27. public void onBannerLoaded() {
  28. Log.i("MokaGame", "广告加载成功");
  29. }
  30. @Override
  31. public void onBannerFailed(AdError adError) {
  32. Log.i("MokaGame", "广告加载出错");
  33. }
  34. @Override
  35. public void onBannerClicked(ATAdInfo atAdInfo) {
  36. }
  37. @Override
  38. public void onBannerShow(ATAdInfo atAdInfo) {
  39. // CocosHelper.runOnGameThread(() -> {
  40. // CocosJavascriptJavaBridge.evalString("" +
  41. // "g.adData.ad_type=7;" +
  42. // "g.adData.destoon_ad_place='" + atAdInfo.getTopOnPlacementId() + "';" +
  43. // "g.adData.adsource_id='" + atAdInfo.getAdsourceId() + "';" +
  44. // "g.adData.network_firm_id=" + atAdInfo.getNetworkFirmId() + ";" +
  45. // "g.adData.network_placement_id='" + atAdInfo.getNetworkPlacementId() + "';" +
  46. // "g.adData.adsource_price=" + atAdInfo.getEcpm() + ";" +
  47. // "g.adData.network_type='" + atAdInfo.getAdNetworkType() + "';" +
  48. // "g.adData.adsource_index=" + atAdInfo.getAdsourceIndex() + ";" +
  49. // "g.adData.adsource_isheaderbidding=" + atAdInfo.isHeaderBiddingAdsource() + ";" +
  50. // "g.adData.adunit_format='" + atAdInfo.getTopOnAdFormat() + "';" +
  51. // "g.adData.ecpm_level=" + atAdInfo.getEcpmLevel() + ";" +
  52. // "g.adData.precision_ecpm='" + atAdInfo.getEcpmPrecision() + "';" +
  53. // "g.adData.publisher_revenue='" + atAdInfo.getPublisherRevenue() + "';" +
  54. // "g.adData.bannerADShow=true;");
  55. // });
  56. }
  57. @Override
  58. public void onBannerClose(ATAdInfo atAdInfo) {
  59. Log.i("MokaGame", "广告加载关闭");
  60. atBannerView.setVisibility(View.GONE);
  61. }
  62. @Override
  63. public void onBannerAutoRefreshed(ATAdInfo atAdInfo) {
  64. }
  65. @Override
  66. public void onBannerAutoRefreshFail(AdError adError) {
  67. }
  68. });
  69. load();
  70. }
  71. public void load() {
  72. atBannerView.loadAd();
  73. }
  74. public void hide() {
  75. atBannerView.setVisibility(View.GONE);
  76. }
  77. public void show() {
  78. atBannerView.setVisibility(View.VISIBLE);
  79. }
  80. public void removeAD() {
  81. if (atBannerView != null && atBannerView.getParent() != null) {
  82. ((ViewGroup) atBannerView.getParent()).removeView(atBannerView);
  83. }
  84. }
  85. }