ATInterstitialAdWrapper.cs 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using System;
  5. using AOT;
  6. using AnyThinkAds.ThirdParty.LitJson;
  7. using AnyThinkAds.iOS;
  8. #pragma warning disable 0109
  9. public class ATInterstitialAdWrapper:ATAdWrapper {
  10. static private Dictionary<string, ATInterstitialAdClient> clients;
  11. static private string CMessaageReceiverClass = "ATInterstitialAdWrapper";
  12. static public new void InvokeCallback(JsonData jsonData) {
  13. Debug.Log("Unity: ATInterstitialAdWrapper::InvokeCallback()");
  14. string extraJson = "";
  15. string callback = (string)jsonData["callback"];
  16. Dictionary<string, object> msgDict = JsonMapper.ToObject<Dictionary<string, object>>(jsonData["msg"].ToJson());
  17. JsonData msgJsonData = jsonData["msg"];
  18. IDictionary idic = (System.Collections.IDictionary)msgJsonData;
  19. if (idic.Contains("extra")) {
  20. JsonData extraJsonDate = msgJsonData["extra"];
  21. if (extraJsonDate != null) {
  22. extraJson = msgJsonData["extra"].ToJson();
  23. }
  24. }
  25. if (callback.Equals("OnInterstitialAdLoaded")) {
  26. OnInterstitialAdLoaded((string)msgDict["placement_id"]);
  27. } else if (callback.Equals("OnInterstitialAdLoadFailure")) {
  28. Dictionary<string, object> errorDict = new Dictionary<string, object>();
  29. Dictionary<string, object> errorMsg = JsonMapper.ToObject<Dictionary<string, object>>(msgJsonData["error"].ToJson());
  30. if (errorMsg.ContainsKey("code")) { errorDict.Add("code", errorMsg["code"]); }
  31. if (errorMsg.ContainsKey("reason")) { errorDict.Add("message", errorMsg["reason"]); }
  32. OnInterstitialAdLoadFailure((string)msgDict["placement_id"], errorDict);
  33. } else if (callback.Equals("OnInterstitialAdVideoPlayFailure")) {
  34. Dictionary<string, object> errorDict = new Dictionary<string, object>();
  35. Dictionary<string, object> errorMsg = JsonMapper.ToObject<Dictionary<string, object>>(msgJsonData["error"].ToJson());
  36. if (errorMsg.ContainsKey("code")) { errorDict.Add("code", errorMsg["code"]); }
  37. if (errorMsg.ContainsKey("reason")) { errorDict.Add("message", errorMsg["reason"]); }
  38. OnInterstitialAdVideoPlayFailure((string)msgDict["placement_id"], errorDict);
  39. } else if (callback.Equals("OnInterstitialAdVideoPlayStart")) {
  40. OnInterstitialAdVideoPlayStart((string)msgDict["placement_id"], extraJson);
  41. } else if (callback.Equals("OnInterstitialAdVideoPlayEnd")) {
  42. OnInterstitialAdVideoPlayEnd((string)msgDict["placement_id"], extraJson);
  43. } else if (callback.Equals("OnInterstitialAdShow")) {
  44. OnInterstitialAdShow((string)msgDict["placement_id"], extraJson);
  45. } else if (callback.Equals("OnInterstitialAdClick")) {
  46. OnInterstitialAdClick((string)msgDict["placement_id"], extraJson);
  47. } else if (callback.Equals("OnInterstitialAdClose")) {
  48. OnInterstitialAdClose((string)msgDict["placement_id"], extraJson);
  49. } else if (callback.Equals("OnInterstitialAdFailedToShow")) {
  50. OnInterstitialAdFailedToShow((string)msgDict["placement_id"]);
  51. }else if (callback.Equals("startLoadingADSource")) {
  52. StartLoadingADSource((string)msgDict["placement_id"], extraJson);
  53. }else if (callback.Equals("finishLoadingADSource")) {
  54. FinishLoadingADSource((string)msgDict["placement_id"], extraJson);
  55. }else if (callback.Equals("failToLoadADSource")) {
  56. Dictionary<string, object> errorDict = new Dictionary<string, object>();
  57. Dictionary<string, object> errorMsg = JsonMapper.ToObject<Dictionary<string, object>>(msgJsonData["error"].ToJson());
  58. if (errorMsg["code"] != null) { errorDict.Add("code", errorMsg["code"]); }
  59. if (errorMsg["reason"] != null) { errorDict.Add("message", errorMsg["reason"]); }
  60. FailToLoadADSource((string)msgDict["placement_id"],extraJson, errorDict);
  61. }else if (callback.Equals("startBiddingADSource")) {
  62. StartBiddingADSource((string)msgDict["placement_id"], extraJson);
  63. }else if (callback.Equals("finishBiddingADSource")) {
  64. FinishBiddingADSource((string)msgDict["placement_id"], extraJson);
  65. }else if (callback.Equals("failBiddingADSource")) {
  66. Dictionary<string, object> errorDict = new Dictionary<string, object>();
  67. Dictionary<string, object> errorMsg = JsonMapper.ToObject<Dictionary<string, object>>(msgJsonData["error"].ToJson());
  68. if (errorMsg["code"] != null) { errorDict.Add("code", errorMsg["code"]); }
  69. if (errorMsg["reason"] != null) { errorDict.Add("message", errorMsg["reason"]); }
  70. FailBiddingADSource((string)msgDict["placement_id"],extraJson, errorDict);
  71. }
  72. }
  73. static public void setClientForPlacementID(string placementID, ATInterstitialAdClient client) {
  74. if (clients == null) clients = new Dictionary<string, ATInterstitialAdClient>();
  75. if (clients.ContainsKey(placementID)) clients.Remove(placementID);
  76. clients.Add(placementID, client);
  77. }
  78. static public void loadInterstitialAd(string placementID, string customData) {
  79. Debug.Log("Unity: ATInterstitialAdWrapper::loadInterstitialAd(" + placementID + ")");
  80. ATUnityCBridge.SendMessageToC(CMessaageReceiverClass, "loadInterstitialAdWithPlacementID:customDataJSONString:callback:", new object[]{placementID, customData != null ? customData : ""}, true);
  81. }
  82. static public bool hasInterstitialAdReady(string placementID) {
  83. Debug.Log("Unity: ATInterstitialAdWrapper::isInterstitialAdReady(" + placementID + ")");
  84. return ATUnityCBridge.SendMessageToC(CMessaageReceiverClass, "interstitialAdReadyForPlacementID:", new object[]{placementID});
  85. }
  86. static public void showInterstitialAd(string placementID, string mapJson) {
  87. Debug.Log("Unity: ATInterstitialAdWrapper::showInterstitialAd(" + placementID + ")");
  88. ATUnityCBridge.SendMessageToC(CMessaageReceiverClass, "showInterstitialAdWithPlacementID:extraJsonString:", new object[]{placementID, mapJson});
  89. }
  90. static public void clearCache(string placementID) {
  91. Debug.Log("Unity: ATInterstitialAdWrapper::clearCache()");
  92. ATUnityCBridge.SendMessageToC(CMessaageReceiverClass, "clearCache", null);
  93. }
  94. static public string checkAdStatus(string placementID) {
  95. Debug.Log("Unity: ATInterstitialAdWrapper::checkAdStatus(" + placementID + ")");
  96. return ATUnityCBridge.GetStringMessageFromC(CMessaageReceiverClass, "checkAdStatus:", new object[]{placementID});
  97. }
  98. static public string getValidAdCaches(string placementID)
  99. {
  100. Debug.Log("Unity: ATInterstitialAdWrapper::checkAdStatus(" + placementID + ")");
  101. return ATUnityCBridge.GetStringMessageFromC(CMessaageReceiverClass, "getValidAdCaches:", new object[] { placementID });
  102. }
  103. static public void entryScenarioWithPlacementID(string placementID, string scenarioID)
  104. {
  105. Debug.Log("Unity: ATInterstitialAdWrapper::entryScenarioWithPlacementID(" + placementID + scenarioID + ")");
  106. ATUnityCBridge.SendMessageToC(CMessaageReceiverClass, "entryScenarioWithPlacementID:scenarioID:", new object[]{placementID, scenarioID});
  107. }
  108. //Callbacks
  109. static private void OnInterstitialAdLoaded(string placementID) {
  110. Debug.Log("Unity: ATInterstitialAdWrapper::OnInterstitialAdLoaded()");
  111. if (clients[placementID] != null) clients[placementID].OnInterstitialAdLoaded(placementID);
  112. }
  113. static private void OnInterstitialAdLoadFailure(string placementID, Dictionary<string, object> errorDict) {
  114. Debug.Log("Unity: ATInterstitialAdWrapper::OnInterstitialAdLoadFailure()");
  115. Debug.Log("placementID = " + placementID + "errorDict = " + JsonMapper.ToJson(errorDict));
  116. if (clients[placementID] != null) clients[placementID].OnInterstitialAdLoadFailure(placementID, (string)errorDict["code"], (string)errorDict["message"]);
  117. }
  118. static private void OnInterstitialAdVideoPlayFailure(string placementID, Dictionary<string, object> errorDict) {
  119. Debug.Log("Unity: ATInterstitialAdWrapper::OnInterstitialAdVideoPlayFailure()");
  120. if (clients[placementID] != null) clients[placementID].OnInterstitialAdVideoPlayFailure(placementID, (string)errorDict["code"], (string)errorDict["message"]);
  121. }
  122. static private void OnInterstitialAdVideoPlayStart(string placementID, string callbackJson) {
  123. Debug.Log("Unity: ATInterstitialAdWrapper::OnInterstitialAdPlayStart()");
  124. if (clients[placementID] != null) clients[placementID].OnInterstitialAdVideoPlayStart(placementID, callbackJson);
  125. }
  126. static private void OnInterstitialAdVideoPlayEnd(string placementID, string callbackJson) {
  127. Debug.Log("Unity: ATInterstitialAdWrapper::OnInterstitialAdVideoPlayEnd()");
  128. if (clients[placementID] != null) clients[placementID].OnInterstitialAdVideoPlayEnd(placementID, callbackJson);
  129. }
  130. static private void OnInterstitialAdShow(string placementID, string callbackJson) {
  131. Debug.Log("Unity: ATInterstitialAdWrapper::OnInterstitialAdShow()");
  132. if (clients[placementID] != null) clients[placementID].OnInterstitialAdShow(placementID, callbackJson);
  133. }
  134. static private void OnInterstitialAdFailedToShow(string placementID) {
  135. Debug.Log("Unity: ATInterstitialAdWrapper::OnInterstitialAdFailedToShow()");
  136. if (clients[placementID] != null) clients[placementID].OnInterstitialAdFailedToShow(placementID);
  137. }
  138. static private void OnInterstitialAdClick(string placementID, string callbackJson) {
  139. Debug.Log("Unity: ATInterstitialAdWrapper::OnInterstitialAdClick()");
  140. if (clients[placementID] != null) clients[placementID].OnInterstitialAdClick(placementID, callbackJson);
  141. }
  142. static private void OnInterstitialAdClose(string placementID, string callbackJson) {
  143. Debug.Log("Unity: ATInterstitialAdWrapper::OnInterstitialAdClose()");
  144. if (clients[placementID] != null) clients[placementID].OnInterstitialAdClose(placementID, callbackJson);
  145. }
  146. // ad source callback
  147. static public void StartLoadingADSource(string placementID, string callbackJson)
  148. {
  149. Debug.Log("Unity: ATInterstitialAdWrapper::StartLoadingADSource()");
  150. if (clients[placementID] != null) clients[placementID].startLoadingADSource(placementID, callbackJson);
  151. }
  152. static public void FinishLoadingADSource(string placementID, string callbackJson)
  153. {
  154. Debug.Log("Unity: ATInterstitialAdWrapper::FinishLoadingADSource()");
  155. if (clients[placementID] != null) clients[placementID].finishLoadingADSource(placementID, callbackJson);
  156. }
  157. static public void FailToLoadADSource(string placementID,string callbackJson, Dictionary<string, object> errorDict)
  158. {
  159. Debug.Log("Unity: ATInterstitialAdWrapper::FailToLoadADSource()");
  160. Debug.Log("placementID = " + placementID + "errorDict = " + JsonMapper.ToJson(errorDict));
  161. if (clients[placementID] != null) clients[placementID].failToLoadADSource(placementID,callbackJson,(string)errorDict["code"], (string)errorDict["message"]);
  162. }
  163. static public void StartBiddingADSource(string placementID, string callbackJson)
  164. {
  165. Debug.Log("Unity: ATInterstitialAdWrapper::StartBiddingADSource()");
  166. if (clients[placementID] != null) clients[placementID].startBiddingADSource(placementID, callbackJson);
  167. }
  168. static public void FinishBiddingADSource(string placementID, string callbackJson)
  169. {
  170. Debug.Log("Unity: ATInterstitialAdWrapper::FinishBiddingADSource()");
  171. if (clients[placementID] != null) clients[placementID].finishBiddingADSource(placementID, callbackJson);
  172. }
  173. static public void FailBiddingADSource(string placementID, string callbackJson,Dictionary<string, object> errorDict)
  174. {
  175. Debug.Log("Unity: ATInterstitialAdWrapper::FailBiddingADSource()");
  176. Debug.Log("placementID = " + placementID + "errorDict = " + JsonMapper.ToJson(errorDict));
  177. if (clients[placementID] != null) clients[placementID].failBiddingADSource(placementID,callbackJson,(string)errorDict["code"], (string)errorDict["message"]);
  178. }
  179. // Auto
  180. static public void addAutoLoadAdPlacementID(string placementID)
  181. {
  182. Debug.Log("Unity: ATInterstitialAdWrapper::addAutoLoadAdPlacementID(" + placementID + ")");
  183. ATUnityCBridge.SendMessageToC(CMessaageReceiverClass, "addAutoLoadAdPlacementID:callback:", new object[]{placementID}, true);
  184. }
  185. static public void removeAutoLoadAdPlacementID(string placementID)
  186. {
  187. Debug.Log("Unity: ATInterstitialAdWrapper::removeAutoLoadAdPlacementID(" + placementID + ")");
  188. ATUnityCBridge.SendMessageToC(CMessaageReceiverClass, "removeAutoLoadAdPlacementID:", new object[]{placementID});
  189. }
  190. static public bool autoLoadInterstitialAdReadyForPlacementID(string placementID)
  191. {
  192. Debug.Log("Unity: ATInterstitialAdWrapper::autoLoadInterstitialAdReadyForPlacementID(" + placementID + ")");
  193. return ATUnityCBridge.SendMessageToC(CMessaageReceiverClass, "autoLoadInterstitialAdReadyForPlacementID:", new object[]{placementID});
  194. }
  195. static public string getAutoValidAdCaches(string placementID)
  196. {
  197. Debug.Log("Unity: ATInterstitialAdWrapper::getAutoValidAdCaches");
  198. return ATUnityCBridge.GetStringMessageFromC(CMessaageReceiverClass, "getAutoValidAdCaches:", new object[]{placementID});
  199. }
  200. static public string checkAutoAdStatus(string placementID) {
  201. Debug.Log("Unity: ATInterstitialAdWrapper::checkAutoAdStatus(" + placementID + ")");
  202. return ATUnityCBridge.GetStringMessageFromC(CMessaageReceiverClass, "checkAutoAdStatus:", new object[]{placementID});
  203. }
  204. static public void setAutoLocalExtra(string placementID, string customData)
  205. {
  206. Debug.Log("Unity: ATInterstitialAdWrapper::setAutoLocalExtra(" + placementID + customData + ")");
  207. ATUnityCBridge.SendMessageToC(CMessaageReceiverClass, "setAutoLocalExtra:customDataJSONString:", new object[] {placementID, customData != null ? customData : ""});
  208. }
  209. static public void entryAutoAdScenarioWithPlacementID(string placementID, string scenarioID)
  210. {
  211. Debug.Log("Unity: ATInterstitialAdWrapper::entryAutoAdScenarioWithPlacementID(" + placementID + scenarioID + ")");
  212. ATUnityCBridge.SendMessageToC(CMessaageReceiverClass, "entryAutoAdScenarioWithPlacementID:scenarioID:", new object[]{placementID, scenarioID});
  213. }
  214. static public void showAutoInterstitialAd(string placementID, string mapJson) {
  215. Debug.Log("Unity: ATInterstitialAdWrapper::showAutoInterstitialAd(" + placementID + ")");
  216. ATUnityCBridge.SendMessageToC(CMessaageReceiverClass, "showAutoInterstitialAd:extraJsonString:", new object[]{placementID, mapJson});
  217. }
  218. }