ATCallbackInfo.cs 9.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using AnyThinkAds.ThirdParty.LitJson;
  5. namespace AnyThinkAds.Api
  6. {
  7. public class ATCallbackInfo
  8. {
  9. public readonly int network_firm_id;
  10. public readonly string adsource_id;
  11. public readonly int adsource_index;
  12. public readonly double adsource_price;
  13. public readonly int adsource_isheaderbidding;
  14. public readonly string id;
  15. public readonly double publisher_revenue;
  16. public readonly string currency;
  17. public readonly string country;
  18. public readonly string adunit_id;
  19. public readonly string adunit_format;
  20. public readonly string precision;
  21. public readonly string network_type;
  22. public readonly string network_placement_id;
  23. public readonly int ecpm_level;
  24. public readonly int segment_id;
  25. public readonly string scenario_id;
  26. public readonly string scenario_reward_name;
  27. public readonly int scenario_reward_number;
  28. public readonly string sub_channel;
  29. public readonly string channel;
  30. public readonly Dictionary<string, object> custom_rule;
  31. public readonly Dictionary<string, object> ext_info;
  32. public readonly Dictionary<string, object> user_load_extra_data;
  33. public readonly int abtest_id;
  34. public readonly string reward_custom_data;
  35. public readonly int placement_type;
  36. public readonly string shared_placement_id;
  37. public readonly string bid_floor;
  38. public readonly int dismiss_type;
  39. public readonly int ad_source_type;
  40. public readonly string ad_source_custom_ext;
  41. public readonly string network_name;
  42. public readonly string show_custom_ext;
  43. public readonly string e_c;
  44. public readonly int s_id;
  45. private string callbackJson;
  46. public ATCallbackInfo(string callbackJson)
  47. {
  48. try
  49. {
  50. this.callbackJson = callbackJson;
  51. JsonData jsonData = JsonMapper.ToObject(callbackJson);
  52. network_firm_id = int.Parse(jsonData.ContainsKey("network_firm_id") ? jsonData["network_firm_id"].ToString() : "0");
  53. adsource_id = jsonData.ContainsKey("adsource_id") ? (string)jsonData["adsource_id"] : "";
  54. adsource_index = int.Parse(jsonData.ContainsKey("adsource_index") ? jsonData["adsource_index"].ToString() : "-1");
  55. adsource_price = double.Parse(jsonData.ContainsKey("adsource_price") ? jsonData["adsource_price"].ToString() : "0");
  56. adsource_isheaderbidding = 0;
  57. if (jsonData.ContainsKey("adsource_isheaderbidding")) {
  58. adsource_isheaderbidding = int.Parse(jsonData.ContainsKey("adsource_isheaderbidding") ? jsonData["adsource_isheaderbidding"].ToString() : "0");
  59. }
  60. id = jsonData.ContainsKey("id") ? (string)jsonData["id"] : "";
  61. publisher_revenue = double.Parse(jsonData.ContainsKey("publisher_revenue") ? jsonData["publisher_revenue"].ToString() : "0");
  62. currency = jsonData.ContainsKey("currency") ? (string)jsonData["currency"] : "";
  63. country = jsonData.ContainsKey("country") ? (string)jsonData["country"] : "";
  64. adunit_format = jsonData.ContainsKey("adunit_format") ? (string)jsonData["adunit_format"] : "";
  65. adunit_id = jsonData.ContainsKey("adunit_id") ? (string)jsonData["adunit_id"] : "";
  66. precision = jsonData.ContainsKey("precision") ? (string)jsonData["precision"] : "";
  67. network_type = jsonData.ContainsKey("network_type") ? (string)jsonData["network_type"] : "";
  68. network_placement_id = jsonData.ContainsKey("network_placement_id") ? (string)jsonData["network_placement_id"] : "";
  69. ecpm_level = int.Parse(jsonData.ContainsKey("ecpm_level") ? jsonData["ecpm_level"].ToString() : "0");
  70. abtest_id = int.Parse(jsonData.ContainsKey("abtest_id") ? jsonData["abtest_id"].ToString() : "0");
  71. segment_id = int.Parse(jsonData.ContainsKey("segment_id") ? jsonData["segment_id"].ToString() : "0");
  72. scenario_id = jsonData.ContainsKey("scenario_id") ? (string)jsonData["scenario_id"] : "";// RewardVideo & Interstitial
  73. if (jsonData.ContainsKey("user_load_extra_data")) {
  74. user_load_extra_data = JsonMapper.ToObject<Dictionary<string, object>>(jsonData["user_load_extra_data"].ToJson());
  75. }
  76. scenario_reward_name = jsonData.ContainsKey("scenario_reward_name") ? (string)jsonData["scenario_reward_name"] : "";
  77. scenario_reward_number = int.Parse(jsonData.ContainsKey("scenario_reward_number") ? jsonData["scenario_reward_number"].ToString() : "0");
  78. channel = jsonData.ContainsKey("channel") ? (string)jsonData["channel"] : "";
  79. sub_channel = jsonData.ContainsKey("sub_channel") ? (string)jsonData["sub_channel"] : "";
  80. custom_rule = jsonData.ContainsKey("custom_rule") ? JsonMapper.ToObject<Dictionary<string, object>>(jsonData["custom_rule"].ToJson()) : null;
  81. ext_info = jsonData.ContainsKey("ext_info") ? JsonMapper.ToObject<Dictionary<string, object>>(jsonData["ext_info"].ToJson()) : null;
  82. reward_custom_data = jsonData.ContainsKey("reward_custom_data") ? (string)jsonData["reward_custom_data"] : "";
  83. placement_type = int.Parse(jsonData.ContainsKey("placement_type") ? jsonData["placement_type"].ToString() : "0");
  84. shared_placement_id = jsonData.ContainsKey("shared_placement_id") ? jsonData["shared_placement_id"].ToString() : "";
  85. bid_floor = jsonData.ContainsKey("bid_floor") ? jsonData["bid_floor"].ToString() : "";
  86. dismiss_type = int.Parse(jsonData.ContainsKey("dismiss_type") ? jsonData["dismiss_type"].ToString() : "0");
  87. ad_source_type = int.Parse(jsonData.ContainsKey("ad_source_type") ? jsonData["ad_source_type"].ToString() : "0");
  88. ad_source_custom_ext = jsonData.ContainsKey("ad_source_custom_ext") ? jsonData["ad_source_custom_ext"].ToString() : "";
  89. network_name = jsonData.ContainsKey("network_name") ? jsonData["network_name"].ToString() : "";
  90. show_custom_ext = jsonData.ContainsKey("show_custom_ext") ? jsonData["show_custom_ext"].ToString() : "";
  91. e_c = jsonData.ContainsKey("e_c") ? jsonData["e_c"].ToString() : "";
  92. s_id = int.Parse(jsonData.ContainsKey("s_id") ? jsonData["s_id"].ToString() : "0");
  93. }
  94. catch (System.Exception e) {
  95. System.Console.WriteLine("Exception caught: {0}", e);
  96. }
  97. }
  98. public string getOriginJSONString()
  99. {
  100. return callbackJson;
  101. }
  102. public Dictionary<string, object> toAdsourceDictionary()
  103. {
  104. Dictionary<string, object> dataDictionary = new Dictionary<string, object>();
  105. dataDictionary.Add("adsource_id", adsource_id);
  106. dataDictionary.Add("adsource_price", adsource_price);
  107. dataDictionary.Add("adunit_id", adunit_id);
  108. dataDictionary.Add("currency", currency);
  109. dataDictionary.Add("network_firm_id",network_firm_id);
  110. dataDictionary.Add("network_placement_id",network_placement_id);
  111. return dataDictionary;
  112. }
  113. public Dictionary<string, object> toDictionary()
  114. {
  115. Dictionary<string, object> dataDictionary = new Dictionary<string, object>();
  116. dataDictionary.Add("network_firm_id",network_firm_id);
  117. dataDictionary.Add("adsource_id", adsource_id);
  118. dataDictionary.Add("adsource_index", adsource_index);
  119. dataDictionary.Add("adsource_price", adsource_price);
  120. dataDictionary.Add("adsource_isheaderbidding", adsource_isheaderbidding);
  121. dataDictionary.Add("id", id);
  122. dataDictionary.Add("publisher_revenue", publisher_revenue);
  123. dataDictionary.Add("currency", currency);
  124. dataDictionary.Add("country", country);
  125. dataDictionary.Add("adunit_id", adunit_id);
  126. dataDictionary.Add("adunit_format", adunit_format);
  127. dataDictionary.Add("precision", precision);
  128. dataDictionary.Add("network_type", network_type);
  129. dataDictionary.Add("network_placement_id",network_placement_id);
  130. dataDictionary.Add("ecpm_level", ecpm_level);
  131. dataDictionary.Add("segment_id", segment_id);
  132. dataDictionary.Add("scenario_id", scenario_id);
  133. dataDictionary.Add("user_load_extra_data", user_load_extra_data);
  134. dataDictionary.Add("scenario_reward_name", scenario_reward_name);
  135. dataDictionary.Add("scenario_reward_number", scenario_reward_number);
  136. dataDictionary.Add("abtest_id", abtest_id);
  137. dataDictionary.Add("sub_channel", sub_channel);
  138. dataDictionary.Add("channel", channel);
  139. dataDictionary.Add("custom_rule", custom_rule);
  140. dataDictionary.Add("ext_info", ext_info);
  141. dataDictionary.Add("reward_custom_data", reward_custom_data);
  142. dataDictionary.Add("placement_type", placement_type);
  143. dataDictionary.Add("shared_placement_id", shared_placement_id);
  144. dataDictionary.Add("bid_floor", bid_floor);
  145. dataDictionary.Add("dismiss_type", dismiss_type);
  146. dataDictionary.Add("ad_source_type", ad_source_type);
  147. dataDictionary.Add("ad_source_custom_ext", ad_source_custom_ext);
  148. dataDictionary.Add("network_name", network_name);
  149. dataDictionary.Add("show_custom_ext", show_custom_ext);
  150. dataDictionary.Add("e_c", e_c);
  151. dataDictionary.Add("s_id", s_id);
  152. return dataDictionary;
  153. }
  154. }
  155. }