TakuSDKManager.cs 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. using System.Collections.Generic;
  2. using AnyThinkAds.Api;
  3. using AnyThinkAds.ThirdParty.LitJson;
  4. using Fort23.Core;
  5. using Fort23.Mono;
  6. using Fort23.UTool;
  7. using Utility;
  8. public class TakuSDKManager : Singleton<TakuSDKManager>, ATSDKInitListener
  9. {
  10. private bool isOK;
  11. private CTask<bool> _cTask;
  12. string[] jsonList = { "b68d9eefb9ad72" };
  13. public void CustomInit()
  14. {
  15. //(可选配置)设置子渠道的信息,开发者可以通过该渠道信息在后台来区分看各个渠道的子渠道广告数据
  16. //注意:如果有使用initCustomMap()方法,必须在initCustomMap()方法之后调用此方法
  17. ATSDKAPI.setSubChannel("TapTap");
  18. //设置开启Debug日志(强烈建议测试阶段开启,方便排查问题)
  19. ATSDKAPI.setLogDebug(true);
  20. //(必须配置)SDK的初始化
  21. ATSDKAPI.initSDK("a68d9eee94b6c5", "a73bcf09011c40e8dd1400d8e987a46b9",
  22. this); //Use your own app_id & app_key here
  23. }
  24. public void AddAutoLoadAdPlacementID()
  25. {
  26. //广告加载成功
  27. ATRewardedAutoVideo.Instance.client.onAdLoadEvent += onAdLoad;
  28. //广告加载失败
  29. ATRewardedAutoVideo.Instance.client.onAdLoadFailureEvent += onAdLoadFail;
  30. //广告展示的回调(可依赖这个回调统计展示数据)
  31. ATRewardedAutoVideo.Instance.client.onAdVideoStartEvent += onAdVideoStartEvent;
  32. //广告播放结束
  33. ATRewardedAutoVideo.Instance.client.onAdVideoEndEvent += onAdVideoEndEvent;
  34. //广告视频播放失败
  35. ATRewardedAutoVideo.Instance.client.onAdVideoFailureEvent += onAdVideoPlayFail;
  36. //广告点击
  37. ATRewardedAutoVideo.Instance.client.onAdClickEvent += onAdClick;
  38. //广告激励回调(可依赖该监听下发游戏激励)
  39. ATRewardedAutoVideo.Instance.client.onRewardEvent += onReward;
  40. //广告被关闭
  41. ATRewardedAutoVideo.Instance.client.onAdVideoCloseEvent += onAdVideoClosedEvent;
  42. ATRewardedAutoVideo.Instance.addAutoLoadAdPlacementID(jsonList);
  43. }
  44. public bool IsReady()
  45. {
  46. return ATRewardedAutoVideo.Instance.autoLoadRewardedVideoReadyForPlacementID(jsonList[0]);
  47. }
  48. public async CTask<bool> ShowAutoAd()
  49. {
  50. UIManager.Instance.SetEventSystemEnable(false);
  51. _cTask = CTask<bool>.Create();
  52. isOK = false;
  53. if (IsReady())
  54. {
  55. ATRewardedAutoVideo.Instance.showAutoAd(jsonList[0]);
  56. }
  57. else
  58. {
  59. return false;
  60. }
  61. bool isCom = await _cTask;
  62. await TimerComponent.Instance.WaitAsync(1000);
  63. UIManager.Instance.SetEventSystemEnable(true);
  64. return isCom;
  65. }
  66. // 广告加载成功
  67. public void onAdLoad(object sender, ATAdEventArgs erg)
  68. {
  69. LogTool.Error("开发者回调 广告加载成功 :" + erg.placementId);
  70. }
  71. // 广告加载失败
  72. public void onAdLoadFail(object sender, ATAdErrorEventArgs erg)
  73. {
  74. LogTool.Error("开发者回调 广告加载失败 :" + erg.placementId + " erroCode:" + erg.errorCode + " eroMsg:" +
  75. erg.errorMessage);
  76. }
  77. // 广告视频开始播放
  78. public void onAdVideoStartEvent(object sender, ATAdEventArgs erg)
  79. {
  80. LogTool.Error("开发者回调 广告视频开始播放------" + "->" + JsonMapper.ToJson(erg.callbackInfo.toDictionary()));
  81. }
  82. // 广告视频播放结束
  83. public void onAdVideoEndEvent(object sender, ATAdEventArgs erg)
  84. {
  85. LogTool.Error("开发者回调 广告视频播放结束------" + "->" + JsonMapper.ToJson(erg.callbackInfo.toDictionary()));
  86. }
  87. // 广告视频播放失败
  88. public void onAdVideoPlayFail(object sender, ATAdErrorEventArgs erg)
  89. {
  90. LogTool.Error("开发者回调 广告视频播放失败------" + "->" + JsonMapper.ToJson(erg.errorMessage));
  91. isOK = false;
  92. }
  93. // 广告被点击
  94. public void onAdClick(object sender, ATAdEventArgs erg)
  95. {
  96. LogTool.Error("开发者回调 广告被点击 :" + erg.placementId);
  97. }
  98. // 广告奖励发放
  99. public void onReward(object sender, ATAdEventArgs erg)
  100. {
  101. LogTool.Error("开发者回调 广告奖励发放------" + "->" + JsonMapper.ToJson(erg.callbackInfo.toDictionary()));
  102. isOK = true;
  103. }
  104. // 广告视频被关闭
  105. public void onAdVideoClosedEvent(object sender, ATAdEventArgs erg)
  106. {
  107. LogTool.Error("开发者回调 广告视频被关闭------" + "->" + JsonMapper.ToJson(erg.callbackInfo.toDictionary()));
  108. _cTask.SetResult(isOK);
  109. }
  110. public override void Dispose()
  111. {
  112. //广告加载成功
  113. ATRewardedAutoVideo.Instance.client.onAdLoadEvent -= onAdLoad;
  114. //广告加载失败
  115. ATRewardedAutoVideo.Instance.client.onAdLoadFailureEvent -= onAdLoadFail;
  116. //广告展示的回调(可依赖这个回调统计展示数据)
  117. ATRewardedAutoVideo.Instance.client.onAdVideoStartEvent -= onAdVideoStartEvent;
  118. //广告播放结束
  119. ATRewardedAutoVideo.Instance.client.onAdVideoEndEvent -= onAdVideoEndEvent;
  120. //广告视频播放失败
  121. ATRewardedAutoVideo.Instance.client.onAdVideoFailureEvent -= onAdVideoPlayFail;
  122. //广告点击
  123. ATRewardedAutoVideo.Instance.client.onAdClickEvent -= onAdClick;
  124. //广告激励回调(可依赖该监听下发游戏激励)
  125. ATRewardedAutoVideo.Instance.client.onRewardEvent -= onReward;
  126. //广告被关闭
  127. ATRewardedAutoVideo.Instance.client.onAdVideoCloseEvent -= onAdVideoClosedEvent;
  128. ATRewardedAutoVideo.Instance.removeAutoLoadAdPlacementID(jsonList);
  129. base.Dispose();
  130. }
  131. public void initSuccess()
  132. {
  133. AddAutoLoadAdPlacementID();
  134. // string[] deniedInfos = new string[] { "gaid" };
  135. // foreach (var deniedInfo in deniedInfos)
  136. // {
  137. // LogTool.Error("gdis:" + deniedInfo);
  138. // }
  139. //
  140. // ATSDKAPI.deniedUploadDeviceInfo(deniedInfos);
  141. //
  142. // ATSDKAPI.showDebuggerUI("417b0c4ec2dad1d3ebffbcbb43e5da28d2bfefed");
  143. }
  144. public void initFail(string message)
  145. {
  146. }
  147. }