using System; using System.Collections.Generic; using System.Globalization; using UnityEngine; public class IronSourceImpressionData { public readonly string auctionId; public readonly string adUnit; public readonly string country; public readonly string ab; public readonly string segmentName; public readonly string placement; public readonly string adNetwork; public readonly string instanceName; public readonly string instanceId; public readonly double? revenue; public readonly string precision; public readonly double? lifetimeRevenue; public readonly string encryptedCPM; public readonly int? conversionValue; public readonly string allData; public IronSourceImpressionData(string json) { if (json != null) { try { object obj; double parsedDouble; int parsedInt; allData = json; // Retrieve a CultureInfo object. CultureInfo invCulture = CultureInfo.InvariantCulture; Dictionary jsonDic = IronSourceJSON.Json.Deserialize(json) as Dictionary; if (jsonDic.TryGetValue(IronSourceConstants.IMPRESSION_DATA_KEY_AUCTION_ID, out obj) && obj != null) { auctionId = obj.ToString(); } if (jsonDic.TryGetValue(IronSourceConstants.IMPRESSION_DATA_KEY_AD_UNIT, out obj) && obj != null) { adUnit = obj.ToString(); } if (jsonDic.TryGetValue(IronSourceConstants.IMPRESSION_DATA_KEY_COUNTRY, out obj) && obj != null) { country = obj.ToString(); } if (jsonDic.TryGetValue(IronSourceConstants.IMPRESSION_DATA_KEY_ABTEST, out obj) && obj != null) { ab = obj.ToString(); } if (jsonDic.TryGetValue(IronSourceConstants.IMPRESSION_DATA_KEY_SEGMENT_NAME, out obj) && obj != null) { segmentName = obj.ToString(); } if (jsonDic.TryGetValue(IronSourceConstants.IMPRESSION_DATA_KEY_PLACEMENT, out obj) && obj != null) { placement = obj.ToString(); } if (jsonDic.TryGetValue(IronSourceConstants.IMPRESSION_DATA_KEY_AD_NETWORK, out obj) && obj != null) { adNetwork = obj.ToString(); } if (jsonDic.TryGetValue(IronSourceConstants.IMPRESSION_DATA_KEY_INSTANCE_NAME, out obj) && obj != null) { instanceName = obj.ToString(); } if (jsonDic.TryGetValue(IronSourceConstants.INSTANCE_ID_KEY, out obj) && obj != null) { instanceId = obj.ToString(); } if (jsonDic.TryGetValue(IronSourceConstants.IMPRESSION_DATA_KEY_PRECISION, out obj) && obj != null) { precision = obj.ToString(); } if (jsonDic.TryGetValue(IronSourceConstants.IMPRESSION_DATA_KEY_ENCRYPTED_CPM, out obj) && obj != null) { encryptedCPM = obj.ToString(); } if (jsonDic.TryGetValue(IronSourceConstants.IMPRESSION_DATA_KEY_REVENUE, out obj) && obj != null && double.TryParse(string.Format(invCulture, "{0}", obj), NumberStyles.Any, invCulture, out parsedDouble)) { revenue = parsedDouble; } if (jsonDic.TryGetValue(IronSourceConstants.IMPRESSION_DATA_KEY_LIFETIME_REVENUE, out obj) && obj != null && double.TryParse(string.Format(invCulture,"{0}",obj), NumberStyles.Any, invCulture, out parsedDouble)) { lifetimeRevenue = parsedDouble; } if (jsonDic.TryGetValue(IronSourceConstants.IMPRESSION_DATA_KEY_CONVERSION_VALUE, out obj) && obj != null && int.TryParse(string.Format(invCulture, "{0}", obj), NumberStyles.Any, invCulture, out parsedInt)) { conversionValue = parsedInt; } } catch (Exception ex) { Debug.Log("error parsing impression " + ex.ToString()); } } } public override string ToString() { return "IronSourceImpressionData{" + "auctionId='" + auctionId + '\'' + ", adUnit='" + adUnit + '\'' + ", country='" + country + '\'' + ", ab='" + ab + '\'' + ", segmentName='" + segmentName + '\'' + ", placement='" + placement + '\'' + ", adNetwork='" + adNetwork + '\'' + ", instanceName='" + instanceName + '\'' + ", instanceId='" + instanceId + '\'' + ", revenue=" + revenue + ", precision='" + precision + '\'' + ", lifetimeRevenue=" + lifetimeRevenue + ", encryptedCPM='" + encryptedCPM + '\'' + ", conversionValue=" + conversionValue + '}'; } }