ATBannerJSSDK.js 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. var ATAndroidBannerJS = require("./Android/ATAndroidBannerJS");
  2. var ATiOSBannerJS = require("./iOS/ATiOSBannerJS");
  3. var initPlatformBridge = function() {
  4. if (cc.sys.os === cc.sys.OS_IOS) {
  5. return ATiOSBannerJS;
  6. } else if (cc.sys.os === cc.sys.OS_ANDROID) {
  7. return ATAndroidBannerJS;
  8. }
  9. };
  10. var platformBridge = initPlatformBridge();
  11. var ATBannerSDK = ATBannerSDK || {
  12. kATBannerAdLoadingExtraBannerAdSizeStruct: "banner_ad_size_struct",
  13. kATBannerAdShowingPositionTop : "top",
  14. kATBannerAdShowingPositionBottom : "bottom",
  15. kATBannerAdInlineAdaptiveWidth : "inline_adaptive_width",
  16. kATBannerAdInlineAdaptiveOrientation : "inline_adaptive_orientation",
  17. kATBannerAdInlineAdaptiveOrientationCurrent : 0,
  18. kATBannerAdInlineAdaptiveOrientationPortrait : 1,
  19. kATBannerAdInlineAdaptiveOrientationLandscape : 2,
  20. kATBannerAdAdaptiveWidth : "adaptive_width",
  21. kATBannerAdAdaptiveOrientation : "adaptive_orientation",
  22. kATBannerAdAdaptiveOrientationCurrent : 0,
  23. kATBannerAdAdaptiveOrientationPortrait : 1,
  24. kATBannerAdAdaptiveOrientationLandscape : 2,
  25. ATBannerListener : {
  26. developerCallback : null,
  27. onBannerAdLoaded : function (placementId) {
  28. if(this.developerCallback != null && this.developerCallback.onBannerAdLoaded != null && undefined != this.developerCallback.onBannerAdLoaded) {
  29. this.developerCallback.onBannerAdLoaded(placementId);
  30. }
  31. },
  32. onBannerAdLoadFail : function(placementId, errorInfo) {
  33. if(this.developerCallback != null && this.developerCallback.onBannerAdLoadFail != null && undefined != this.developerCallback.onBannerAdLoadFail) {
  34. this.developerCallback.onBannerAdLoadFail(placementId, errorInfo);
  35. }
  36. },
  37. onBannerAdShow : function(placementId, callbackInfo) {
  38. if(this.developerCallback != null && this.developerCallback.onBannerAdShow != null && undefined != this.developerCallback.onBannerAdShow) {
  39. this.developerCallback.onBannerAdShow(placementId, callbackInfo);
  40. }
  41. },
  42. onBannerAdClick : function(placementId, callbackInfo) {
  43. if(this.developerCallback != null && this.developerCallback.onBannerAdClick != null && undefined != this.developerCallback.onBannerAdClick) {
  44. this.developerCallback.onBannerAdClick(placementId, callbackInfo);
  45. }
  46. },
  47. onBannerAdAutoRefresh : function(placementId, callbackInfo) {
  48. if(this.developerCallback != null && this.developerCallback.onBannerAdAutoRefresh != null && undefined != this.developerCallback.onBannerAdAutoRefresh) {
  49. this.developerCallback.onBannerAdAutoRefresh(placementId, callbackInfo);
  50. }
  51. },
  52. onBannerAdAutoRefreshFail : function(placementId, errorInfo) {
  53. if(this.developerCallback != null && this.developerCallback.onBannerAdAutoRefreshFail != null && undefined != this.developerCallback.onBannerAdAutoRefreshFail) {
  54. this.developerCallback.onBannerAdAutoRefreshFail(placementId, errorInfo);
  55. }
  56. },
  57. onBannerAdCloseButtonTapped : function(placementId, callbackInfo) {
  58. if(this.developerCallback != null && this.developerCallback.onBannerAdCloseButtonTapped != null && undefined != this.developerCallback.onBannerAdCloseButtonTapped) {
  59. this.developerCallback.onBannerAdCloseButtonTapped(placementId, callbackInfo);
  60. }
  61. }
  62. },
  63. loadBanner : function(placementId, settings={}) {
  64. if (undefined != platformBridge && platformBridge != null) {
  65. if (settings.hasOwnProperty(ATBannerSDK.kATBannerAdLoadingExtraBannerAdSizeStruct)) {
  66. var loadAdSize = settings[ATBannerSDK.kATBannerAdLoadingExtraBannerAdSizeStruct];
  67. settings["width"] = loadAdSize["width"];
  68. settings["height"] = loadAdSize["height"];
  69. }
  70. platformBridge.loadBanner(placementId, JSON.stringify(settings));
  71. } else {
  72. cc.log("You must run on Android or iOS.");
  73. }
  74. },
  75. setAdListener : function(listener) {
  76. var eventJSON = {};
  77. eventJSON[LoadedCallbackKey]= "ATBannerJSSDK.ATBannerListener.onBannerAdLoaded",
  78. eventJSON[LoadFailCallbackKey]= "ATBannerJSSDK.ATBannerListener.onBannerAdLoadFail",
  79. eventJSON[CloseCallbackKey]= "ATBannerJSSDK.ATBannerListener.onBannerAdCloseButtonTapped",
  80. eventJSON[ClickCallbackKey]= "ATBannerJSSDK.ATBannerListener.onBannerAdClick",
  81. eventJSON[ShowCallbackKey]= "ATBannerJSSDK.ATBannerListener.onBannerAdShow",
  82. eventJSON[RefreshCallbackKey]= "ATBannerJSSDK.ATBannerListener.onBannerAdAutoRefresh",
  83. eventJSON[RefreshFailCallbackKey]= "ATBannerJSSDK.ATBannerListener.onBannerAdAutoRefreshFail"
  84. if (undefined != platformBridge && platformBridge != null) {
  85. platformBridge.setAdListener(JSON.stringify(eventJSON));
  86. } else {
  87. cc.log("You must run on Android or iOS.");
  88. }
  89. this.ATBannerListener.developerCallback = listener;
  90. },
  91. hasAdReady : function(placementId) {
  92. if (undefined != platformBridge && platformBridge != null) {
  93. return platformBridge.hasAdReady(placementId);
  94. } else {
  95. cc.log("You must run on Android or iOS.");
  96. }
  97. return false;
  98. },
  99. showAdInPosition : function(placementId, position) {
  100. if (undefined != platformBridge && platformBridge != null) {
  101. platformBridge.showAdInPosition(placementId, position);
  102. } else {
  103. cc.log("You must run on Android or iOS.");
  104. }
  105. },
  106. showAdInRectangle : function(placementId, showAdRect) {
  107. if (undefined != platformBridge && platformBridge != null) {
  108. platformBridge.showAdInRectangle(placementId, JSON.stringify(showAdRect));
  109. } else {
  110. cc.log("You must run on Android or iOS.");
  111. }
  112. },
  113. removeAd : function(placementId) {
  114. if (undefined != platformBridge && platformBridge != null) {
  115. platformBridge.removeAd(placementId);
  116. } else {
  117. cc.log("You must run on Android or iOS.");
  118. }
  119. },
  120. reShowAd : function(placementId) {
  121. if (undefined != platformBridge && platformBridge != null) {
  122. platformBridge.reShowAd(placementId);
  123. } else {
  124. cc.log("You must run on Android or iOS.");
  125. }
  126. },
  127. hideAd : function(placementId) {
  128. if (undefined != platformBridge && platformBridge != null) {
  129. platformBridge.hideAd(placementId);
  130. } else {
  131. cc.log("You must run on Android or iOS.");
  132. }
  133. },
  134. createLoadAdSize : function(width, height) {
  135. var loadAdSize = {};
  136. loadAdSize["width"] = width;
  137. loadAdSize["height"] = height;
  138. return loadAdSize;
  139. },
  140. createShowAdRect : function(x, y, width, height) {
  141. var adRect = {};
  142. adRect["x"] = x;
  143. adRect["y"] = y;
  144. adRect["width"] = width;
  145. adRect["height"] = height;
  146. return adRect;
  147. }
  148. };
  149. const LoadedCallbackKey = "BannerLoaded";
  150. const LoadFailCallbackKey = "BannerLoadFail";
  151. const CloseCallbackKey = "BannerCloseButtonTapped";
  152. const ClickCallbackKey = "BannerClick";
  153. const ShowCallbackKey = "BannerShow";
  154. const RefreshCallbackKey = "BannerRefresh";
  155. const RefreshFailCallbackKey = "BannerRefreshFail";
  156. window.ATBannerJSSDK = ATBannerSDK;