ATSDKAPIClient.cs 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using AnyThinkAds.Common;
  5. using AnyThinkAds.Api;
  6. using AOT;
  7. using System;
  8. using AnyThinkAds.ThirdParty.LitJson;
  9. namespace AnyThinkAds.iOS {
  10. public class ATSDKAPIClient : IATSDKAPIClient {
  11. static private ATGetUserLocationListener locationListener;
  12. static private ATGetAreaListener areaListener;
  13. static private ATConsentDismissListener umpListener;
  14. public ATSDKAPIClient () {
  15. Debug.Log("Unity:ATSDKAPIClient::ATSDKAPIClient()");
  16. }
  17. public void initSDK(string appId, string appKey) {
  18. Debug.Log("Unity:ATSDKAPIClient::initSDK(string, string)");
  19. initSDK(appId, appKey, null);
  20. }
  21. public void initSDK(string appId, string appKey, ATSDKInitListener listener) {
  22. Debug.Log("Unity:ATSDKAPIClient::initSDK(string, string, ATSDKInitListener)");
  23. bool started = ATManager.StartSDK(appId, appKey);
  24. if (listener != null)
  25. {
  26. if (started)
  27. {
  28. listener.initSuccess();
  29. }
  30. else
  31. {
  32. listener.initFail("Failed to init.");
  33. }
  34. }
  35. }
  36. [MonoPInvokeCallback(typeof(Func<string, int>))]
  37. static public int DidGetUserLocation(string location)
  38. {
  39. if (locationListener != null) { locationListener.didGetUserLocation(Int32.Parse(location)); }
  40. return 0;
  41. }
  42. [MonoPInvokeCallback(typeof(Func<string, int>))]
  43. static public int DidUMP(string location)
  44. {
  45. if (umpListener != null) { umpListener.onConsentDismiss(); }
  46. return 0;
  47. }
  48. [MonoPInvokeCallback(typeof(Func<string, int>))]
  49. static public int GetAreaInfo(string msg)
  50. {
  51. Debug.Log("Unity:ATSDKAPIClient::GetAreaInfo(" + msg + ")");
  52. if (areaListener != null)
  53. {
  54. JsonData msgJsonData = JsonMapper.ToObject(msg);
  55. IDictionary idic = (System.Collections.IDictionary)msgJsonData;
  56. if (idic.Contains("areaCode")) {
  57. string areaCode = (string)msgJsonData["areaCode"];
  58. Debug.Log("Unity:ATSDKAPIClient::GetAreaInfo::areaCode(" + areaCode + ")");
  59. areaListener.onArea(areaCode);
  60. }
  61. if (idic.Contains("errorMsg")) {
  62. string errorMsg = (string)msgJsonData["errorMsg"];
  63. Debug.Log("Unity:ATSDKAPIClient::GetAreaInfo::errorMsg(" + errorMsg + ")");
  64. areaListener.onError(errorMsg);
  65. }
  66. }
  67. return 0;
  68. }
  69. public void getUserLocation(ATGetUserLocationListener listener)
  70. {
  71. Debug.Log("Unity:ATSDKAPIClient::getUserLocation()");
  72. ATSDKAPIClient.locationListener = listener;
  73. ATManager.getUserLocation(DidGetUserLocation);
  74. }
  75. public void setGDPRLevel(int level) {
  76. Debug.Log("Unity:ATSDKAPIClient::setGDPRLevel()");
  77. ATManager.SetDataConsent(level);
  78. }
  79. public void showGDPRAuth() {
  80. Debug.Log("Unity:ATSDKAPIClient::showGDPRAuth()");
  81. // ATManager.showGDPRAuth();
  82. }
  83. public void showGDPRConsentDialog(ATConsentDismissListener listener)
  84. {
  85. Debug.Log("Unity:ATSDKAPIClient::showGDPRConsentDialog()");
  86. ATSDKAPIClient.umpListener = listener;
  87. ATManager.showGDPRConsentDialog(DidUMP);
  88. }
  89. public void setPurchaseFlag() {
  90. ATManager.setPurchaseFlag();
  91. }
  92. public void clearPurchaseFlag() {
  93. ATManager.clearPurchaseFlag();
  94. }
  95. public bool purchaseFlag() {
  96. return ATManager.purchaseFlag();
  97. }
  98. public void addNetworkGDPRInfo(int networkType, string mapJson) {
  99. Debug.Log("Unity:ATSDKAPIClient::addNetworkGDPRInfo()");
  100. ATManager.SetNetworkGDPRInfo(networkType, mapJson);
  101. }
  102. public void setChannel(string channel)
  103. {
  104. ATManager.setChannel(channel);
  105. }
  106. public void setSubChannel(string subchannel)
  107. {
  108. ATManager.setSubChannel(subchannel);
  109. }
  110. public void initCustomMap(string jsonMap)
  111. {
  112. ATManager.setCustomMap(jsonMap);
  113. }
  114. public void setCustomDataForPlacementID(string customData, string placementID)
  115. {
  116. ATManager.setCustomDataForPlacementID(customData, placementID);
  117. }
  118. public void setLogDebug(bool isDebug)
  119. {
  120. ATManager.setLogDebug(isDebug);
  121. }
  122. public int getGDPRLevel()
  123. {
  124. return ATManager.GetDataConsent();
  125. }
  126. public bool isEUTraffic()
  127. {
  128. return ATManager.isEUTraffic();
  129. }
  130. public void deniedUploadDeviceInfo(string deniedInfo)
  131. {
  132. ATManager.deniedUploadDeviceInfo(deniedInfo);
  133. }
  134. public void setExcludeBundleIdArray(string bundleIds)
  135. {
  136. Debug.Log("Unity:ATSDKAPIClient::setExcludeBundleIdArray()");
  137. ATManager.setExcludeBundleIdArray(bundleIds);
  138. }
  139. public void setExcludeAdSourceIdArrayForPlacementID(string placementID, string adSourceIds)
  140. {
  141. Debug.Log("Unity:ATSDKAPIClient::setExcludeAdSourceIdArrayForPlacementID()");
  142. ATManager.setExcludeAdSourceIdArrayForPlacementID(placementID, adSourceIds);
  143. }
  144. public void setSDKArea(int area)
  145. {
  146. Debug.Log("Unity:ATSDKAPIClient::setSDKArea()");
  147. ATManager.setSDKArea(area);
  148. }
  149. public void getArea(ATGetAreaListener listener)
  150. {
  151. Debug.Log("Unity:ATSDKAPIClient::getArea()");
  152. ATSDKAPIClient.areaListener = listener;
  153. ATManager.getArea(GetAreaInfo);
  154. }
  155. public void setWXStatus(bool install)
  156. {
  157. Debug.Log("Unity:ATSDKAPIClient::setWXStatus()");
  158. ATManager.setWXStatus(install);
  159. }
  160. public void setLocation(double longitude, double latitude)
  161. {
  162. Debug.Log("Unity:ATSDKAPIClient::setLocation()");
  163. ATManager.setLocation(longitude, latitude);
  164. }
  165. //iOS显示Debugger UI
  166. public void showDebuggerUI()
  167. {
  168. Debug.Log("Unity:ATSDKAPIClient::showDebuggerUI()");
  169. ATManager.showDebuggerUI("");
  170. }
  171. public void showDebuggerUI(string debugKey)
  172. {
  173. Debug.Log("Unity:ATSDKAPIClient::showDebuggerUI(debugKey)");
  174. ATManager.showDebuggerUI(debugKey);
  175. }
  176. }
  177. }