ATBannerJS.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. require("./AnyThinkAds/ATBannerJSSDK");
  2. require("./AnyThinkAds/ATJSSDK");
  3. var ATBannerJS = cc.Class({
  4. name: "ATBannerJS",
  5. /** 代理脚本(TS) */
  6. proxy: null,
  7. ctor: function () {
  8. // console.log("ATNativeJS created! ");
  9. },
  10. init: function () {
  11. ATBannerJSSDK.setAdListener(this);
  12. },
  13. /** 广告位id */
  14. placementID: function () {
  15. return this.proxy.placementID();
  16. },
  17. /**
  18. * 加载banner广告
  19. * @returns
  20. */
  21. loadBanner: function () {
  22. let winHeight = cc.view.getFrameSize().height
  23. if (winHeight < 1400) {
  24. return
  25. }
  26. var setting = {}
  27. var bannerH = winHeight / 1334 * 115
  28. setting[ATBannerJSSDK.kATBannerAdLoadingExtraBannerAdSizeStruct] = ATBannerJSSDK.createLoadAdSize(cc.view.getFrameSize().width, bannerH);
  29. //只针对Admob的自适应banner
  30. setting[ATBannerJSSDK.kATBannerAdInlineAdaptiveWidth] = cc.view.getFrameSize().width;
  31. setting[ATBannerJSSDK.kATBannerAdInlineAdaptiveOrientation] = ATBannerJSSDK.kATBannerAdInlineAdaptiveOrientationCurrent;
  32. // setting[ATBannerJSSDK.kATBannerAdInlineAdaptiveOrientation] = ATBannerJSSDK.kATBannerAdInlineAdaptiveOrientationPortrait;
  33. // setting[ATBannerJSSDK.kATBannerAdInlineAdaptiveOrientation] = ATBannerJSSDK.kATBannerAdInlineAdaptiveOrientationLandscape;
  34. ATBannerJSSDK.loadBanner(this.placementID(), setting);
  35. },
  36. /**
  37. * 检测banner是否准备就绪
  38. * @returns
  39. */
  40. checkBannerReady: function () {
  41. return ATBannerJSSDK.hasAdReady(this.placementID()) ? true : false
  42. },
  43. /**
  44. * 显示banner
  45. * @returns
  46. */
  47. showBanner: function () {
  48. if (this.bannerIsShow) {
  49. return
  50. }
  51. ATBannerJSSDK.showAdInPosition(this.placementID(), ATBannerJSSDK.kATBannerAdShowingPositionBottom);
  52. },
  53. /**
  54. * 销毁banner
  55. */
  56. destroyBanner: function () {
  57. if (this.bannerIsShow) {
  58. ATBannerJSSDK.removeAd(this.placementID());
  59. this.bannerIsShow = false
  60. this.loadBanner()
  61. }
  62. },
  63. /**
  64. * banner加载成功
  65. * @param {*} placementId 广告位id
  66. * @returns
  67. */
  68. onBannerAdLoaded: function (placementId) {
  69. // ATJSSDK.printLog("AnyThinkBannerDemo::onBannerAdLoaded(" + placementId + ")");
  70. if (this.proxy == null) return;
  71. this.proxy.onBannerAdLoaded(placementId);
  72. },
  73. /**
  74. * banner加载失败
  75. * @param {*} placementId 广告位id
  76. * @param {*} errorInfo 错误信息
  77. * @returns
  78. */
  79. onBannerAdLoadFail: function (placementId, errorInfo) {
  80. // ATJSSDK.printLog("AnyThinkBannerDemo::onBannerAdLoadFail(" + placementId + ", " + errorInfo + ")");
  81. if (this.proxy == null) return;
  82. this.proxy.onBannerAdLoadFail(placementId, errorInfo);
  83. },
  84. /**
  85. * banner展示成功
  86. * @param {*} placementId 广告位id
  87. * @param {*} callbackInfo 回调信息
  88. * @returns
  89. */
  90. onBannerAdShow: function (placementId, callbackInfo) {
  91. // ATJSSDK.printLog("AnyThinkBannerDemo::onBannerAdShow(" + placementId + ", " + callbackInfo + ")");
  92. this.bannerIsShow = true
  93. if (this.proxy == null) return;
  94. this.proxy.onBannerAdShow(placementId, callbackInfo);
  95. },
  96. /**
  97. * banner被点击
  98. * @param {*} placementId 广告位id
  99. * @param {*} callbackInfo 回调信息
  100. * @returns
  101. */
  102. onBannerAdClick: function (placementId, callbackInfo) {
  103. // ATJSSDK.printLog("AnyThinkBannerDemo::onBannerAdClick(" + placementId + ", " + callbackInfo + ")");
  104. if (this.proxy == null) return;
  105. this.proxy.onBannerAdClick(placementId, callbackInfo);
  106. },
  107. /** banner自动刷新成功 */
  108. onBannerAdAutoRefresh: function (placementId, callbackInfo) {
  109. // ATJSSDK.printLog("AnyThinkBannerDemo::onBannerAdAutoRefresh(" + placementId + ", " + callbackInfo + ")");
  110. if (this.proxy == null) return;
  111. },
  112. /**
  113. * banner自动刷新失败
  114. * @param {*} placementId 广告位id
  115. * @param {*} errorInfo 错误信息
  116. * @returns
  117. */
  118. onBannerAdAutoRefreshFail: function (placementId, errorInfo) {
  119. // ATJSSDK.printLog("AnyThinkBannerDemo::onBannerAdAutoRefreshFail(" + placementId + ", " + errorInfo + ")");
  120. if (this.proxy == null) return;
  121. },
  122. /**
  123. * banner关闭按钮被点击
  124. * @param {*} placementId 广告位id
  125. * @param {*} callbackInfo 错误信息
  126. * @returns
  127. */
  128. onBannerAdCloseButtonTapped: function (placementId, callbackInfo) {
  129. // ATJSSDK.printLog("AnyThinkBannerDemo::onBannerAdCloseButtonTapped(" + placementId + ", " + callbackInfo + ")");
  130. if (this.proxy == null) return;
  131. }
  132. });
  133. module.exports = ATBannerJS;
  134. if (!cc["ATBannerJS"]) {
  135. cc["ATBannerJS"] = new ATBannerJS();
  136. }