ATBannerJSSDK.js 8.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  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. checkAdStatus : function(placementId) {
  100. if (undefined != platformBridge && platformBridge != null) {
  101. return platformBridge.checkAdStatus(placementId);
  102. } else {
  103. cc.log("You must run on Android or iOS.");
  104. }
  105. return "";
  106. },
  107. showAdInPosition : function(placementId, position) {
  108. if (undefined != platformBridge && platformBridge != null) {
  109. platformBridge.showAdInPosition(placementId, position);
  110. } else {
  111. cc.log("You must run on Android or iOS.");
  112. }
  113. },
  114. showAdInPositionAndScenario : function(placementId, position, scenario) {
  115. if (undefined != platformBridge && platformBridge != null) {
  116. platformBridge.showAdInPosition(placementId, position, scenario);
  117. } else {
  118. cc.log("You must run on Android or iOS.");
  119. }
  120. },
  121. showAdInRectangle : function(placementId, showAdRect) {
  122. if (undefined != platformBridge && platformBridge != null) {
  123. platformBridge.showAdInRectangle(placementId, JSON.stringify(showAdRect));
  124. } else {
  125. cc.log("You must run on Android or iOS.");
  126. }
  127. },
  128. showAdInRectangleAndScenario : function(placementId, showAdRect, scenario) {
  129. if (undefined != platformBridge && platformBridge != null) {
  130. platformBridge.showAdInRectangle(placementId, JSON.stringify(showAdRect), scenario);
  131. } else {
  132. cc.log("You must run on Android or iOS.");
  133. }
  134. },
  135. removeAd : function(placementId) {
  136. if (undefined != platformBridge && platformBridge != null) {
  137. platformBridge.removeAd(placementId);
  138. } else {
  139. cc.log("You must run on Android or iOS.");
  140. }
  141. },
  142. reShowAd : function(placementId) {
  143. if (undefined != platformBridge && platformBridge != null) {
  144. platformBridge.reShowAd(placementId);
  145. } else {
  146. cc.log("You must run on Android or iOS.");
  147. }
  148. },
  149. hideAd : function(placementId) {
  150. if (undefined != platformBridge && platformBridge != null) {
  151. platformBridge.hideAd(placementId);
  152. } else {
  153. cc.log("You must run on Android or iOS.");
  154. }
  155. },
  156. createLoadAdSize : function(width, height) {
  157. var loadAdSize = {};
  158. loadAdSize["width"] = width;
  159. loadAdSize["height"] = height;
  160. return loadAdSize;
  161. },
  162. createShowAdRect : function(x, y, width, height) {
  163. var adRect = {};
  164. adRect["x"] = x;
  165. adRect["y"] = y;
  166. adRect["width"] = width;
  167. adRect["height"] = height;
  168. return adRect;
  169. }
  170. };
  171. const LoadedCallbackKey = "BannerLoaded";
  172. const LoadFailCallbackKey = "BannerLoadFail";
  173. const CloseCallbackKey = "BannerCloseButtonTapped";
  174. const ClickCallbackKey = "BannerClick";
  175. const ShowCallbackKey = "BannerShow";
  176. const RefreshCallbackKey = "BannerRefresh";
  177. const RefreshFailCallbackKey = "BannerRefreshFail";
  178. window.ATBannerJSSDK = ATBannerSDK;