ATSDKMgr.ts 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. import JsbSystem from "../../../../system/JsbSystem";
  2. import { IADSDKMgr as IADSDKMgr } from "../../IADSDKMgr";
  3. import { zgSingleton } from "../../zgSingleton";
  4. import ATBanner from "./ATBanner";
  5. import ATInterstitial from "./ATInterstitial";
  6. import { ATNative } from "./ATNative";
  7. import { ATRewardVideo } from "./ATRewardVideo";
  8. const { ccclass, property } = cc._decorator;
  9. @ccclass
  10. export default class ATSDKMgr extends zgSingleton implements IADSDKMgr {
  11. /**Topon Appid */
  12. public static topon_android_appId = "a5f8fa5f10c661";
  13. /**Topon AppSecret */
  14. public static topon_android_appSecret = "66b742dd0e502b64d783d9c66a9d30c4";
  15. /**Topon 激励视频广告位 */
  16. public static topon_rewardVideo_placementId = "b5f8fa6673e180";
  17. /**Topon 插屏广告位 */
  18. public static topon_inter_placementId = "b5f8fa77aa5262";
  19. /**Topon 信息流广告位 */
  20. public static topon_native_placementId = "b5f8fa77aa5262";
  21. /**Topon 全屏插屏广告位 */
  22. public static topon_fullinter_placementId = "b6113813b876a1";
  23. /**Topon 全屏插屏广告位 */
  24. public static topon_banner_placementId = "b5f8fa77aa5262";
  25. /**初始化ATSDK */
  26. public initSDK() {
  27. if (!cc.sys.isNative) {
  28. return;
  29. }
  30. this.getAdvertiseChannel();
  31. window['ATJSSDK'].setLogDebug(true);
  32. cc["ATSDKMgrJS"].proxy = this;
  33. cc["ATSDKMgrJS"].initATJSSDK(ATSDKMgr.topon_android_appId, ATSDKMgr.topon_android_appSecret);
  34. //初始化激励视频广告
  35. ATRewardVideo.getInstance().init();
  36. // console.log("===[AdSystem ATRewardVideo hasAdReady()", ATRewardVideo.getInstance().hasAdReady());
  37. //初始化原生广告
  38. ATNative.getInstance().init();
  39. // //初始化插屏广告
  40. ATInterstitial.getInstance().init();
  41. //初始化banner广告
  42. ATBanner.getInstance().init();
  43. }
  44. placementID() {
  45. if (cc.sys.os === cc.sys.OS_IOS) {
  46. return ATSDKMgr.topon_rewardVideo_placementId;
  47. } else if (cc.sys.os === cc.sys.OS_ANDROID) {
  48. return ATSDKMgr.topon_rewardVideo_placementId;
  49. }
  50. }
  51. /** 获取投放渠道 和 广告位ID信息 */
  52. public getAdvertiseChannel() {
  53. let str = JsbSystem.getAdvertisingChannel();
  54. if (!str) {
  55. //channelId,AppId,AppSecreate,激励视频,插屏,信息流,开屏,banner
  56. str = '1,a60cac090a6eb0,66b742dd0e502b64d783d9c66a9d30c4,b60cac0e43c0e1,b60cac0e4892fa,b60cac0e4d08e8,b60cac0e5754fc,b60cac0e524313,b60cac0e524313';
  57. }
  58. console.log("getAdvertiseChannel..." + str);
  59. let arr = str.split(',')
  60. let channel = arr[0];
  61. ATSDKMgr.topon_android_appId = arr[1];
  62. ATSDKMgr.topon_android_appSecret = arr[2];
  63. ATSDKMgr.topon_rewardVideo_placementId = arr[3];
  64. ATSDKMgr.topon_inter_placementId = arr[4];
  65. ATSDKMgr.topon_native_placementId = arr[5];
  66. ATSDKMgr.topon_banner_placementId = arr[7];
  67. if (arr[8]) {
  68. ATSDKMgr.topon_fullinter_placementId = arr[8];
  69. }
  70. }
  71. //激励视频广告------------------------------------------------------------------------------
  72. /**显示视频广告 */
  73. showVideo() {
  74. console.log("===[ShowVideoAd] ", ATRewardVideo.getInstance().hasAdReady());
  75. if (!ATRewardVideo.getInstance().hasAdReady()) {
  76. mk.tip.pop("广告加载中,请稍后");
  77. }
  78. ATRewardVideo.getInstance().showAd();
  79. }
  80. /**
  81. * 观看视频回调
  82. * @param adPlayStateType 广告播放状态类型 观看结束、播放失败、取消(关闭)
  83. */
  84. watchVideoAdCallBack(adPlayStateType: AdPlayStateType,request_id: string = "") {
  85. switch (adPlayStateType) {
  86. case AdPlayStateType.WatchEnd:
  87. mk.ad.wacthAdSuccess(request_id);
  88. break;
  89. case AdPlayStateType.PlayFail:
  90. mk.ad.watchAdFail();
  91. break;
  92. case AdPlayStateType.Cancel:
  93. mk.ad.watchAdFail();
  94. break;
  95. }
  96. }
  97. //插屏广告------------------------------------------------------------------------------
  98. /**
  99. * 显示插屏广告
  100. * @param type 0 插屏 1 全屏
  101. */
  102. showInter(type: number = 0) {
  103. ATInterstitial.getInstance().showInter(type);
  104. }
  105. //原生广告------------------------------------------------------------------------------
  106. /**
  107. * 加载原生广告
  108. * @param type 广告类型
  109. * @param ifLoadShow 是否显示广告
  110. */
  111. loadNative(type: number, ifLoadShow: boolean) {
  112. ATNative.getInstance().loadNative(type, ifLoadShow);
  113. }
  114. /**
  115. * 加载原生广告
  116. * @param type 0 弹窗里 1 最底部 2 新车奖励 3 底部小窗口
  117. * @param ifLoadShow 是否显示
  118. */
  119. showNative(type: number) {
  120. ATNative.getInstance().showNative(type);
  121. }
  122. /** 销毁原生广告 */
  123. destroyNative() {
  124. ATNative.getInstance().destroyNative();
  125. }
  126. //banner广告------------------------------------------------------------------------------
  127. /** 加载banner */
  128. loadBanner(ifLoadShow: boolean = false) {
  129. ATBanner.getInstance().loadBanner(ifLoadShow);
  130. }
  131. /** 显示banner广告 */
  132. showBanner() {
  133. ATBanner.getInstance().showBanner();
  134. }
  135. /** 销毁banner广告 */
  136. destoryBanner() {
  137. ATBanner.getInstance().destroyBanner();
  138. }
  139. }
  140. /** 广告播放状态类型 */
  141. export enum AdPlayStateType {
  142. /** 观看结束 */
  143. WatchEnd = 0,
  144. /** 播放失败 */
  145. PlayFail = 1,
  146. /** 取消 */
  147. Cancel = 2,
  148. }