86 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C#
		
	
	
		
		
			
		
	
	
			86 lines
		
	
	
		
			3.9 KiB
		
	
	
	
		
			C#
		
	
	
|  | using System; | |||
|  | using System.Collections.Generic; | |||
|  | 
 | |||
|  | namespace com.adjust.sdk | |||
|  | { | |||
|  |     public class AdjustAttribution | |||
|  |     { | |||
|  |         public string adid { get; set; } | |||
|  |         public string network { get; set; } | |||
|  |         public string adgroup { get; set; } | |||
|  |         public string campaign { get; set; } | |||
|  |         public string creative { get; set; } | |||
|  |         public string clickLabel { get; set; } | |||
|  |         public string trackerName { get; set; } | |||
|  |         public string trackerToken { get; set; } | |||
|  |         public string costType { get; set; } | |||
|  |         public double? costAmount { get; set; } | |||
|  |         public string costCurrency { get; set; } | |||
|  |         // Android only | |||
|  |         public string fbInstallReferrer { get; set; } | |||
|  | 
 | |||
|  |         public AdjustAttribution() {} | |||
|  | 
 | |||
|  |         public AdjustAttribution(string jsonString) | |||
|  |         { | |||
|  |             var jsonNode = JSON.Parse(jsonString); | |||
|  |             if (jsonNode == null) | |||
|  |             { | |||
|  |                 return; | |||
|  |             } | |||
|  | 
 | |||
|  |             trackerName = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyTrackerName); | |||
|  |             trackerToken = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyTrackerToken); | |||
|  |             network = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyNetwork); | |||
|  |             campaign = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyCampaign); | |||
|  |             adgroup = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyAdgroup); | |||
|  |             creative = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyCreative); | |||
|  |             clickLabel = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyClickLabel); | |||
|  |             adid = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyAdid); | |||
|  |             costType = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyCostType); | |||
|  |             try | |||
|  |             { | |||
|  |                 costAmount = double.Parse(AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyCostAmount), | |||
|  |                 System.Globalization.CultureInfo.InvariantCulture); | |||
|  |             } | |||
|  |             catch (Exception) | |||
|  |             { | |||
|  |                 // attribution response doesn't contain cost amount attached | |||
|  |                 // value will default to null | |||
|  |             } | |||
|  |             costCurrency = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyCostCurrency); | |||
|  |             fbInstallReferrer = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyFbInstallReferrer); | |||
|  |         } | |||
|  | 
 | |||
|  |         public AdjustAttribution(Dictionary<string, string> dicAttributionData) | |||
|  |         { | |||
|  |             if (dicAttributionData == null) | |||
|  |             { | |||
|  |                 return; | |||
|  |             } | |||
|  | 
 | |||
|  |             trackerName = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyTrackerName); | |||
|  |             trackerToken = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyTrackerToken); | |||
|  |             network = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyNetwork); | |||
|  |             campaign = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyCampaign); | |||
|  |             adgroup = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyAdgroup); | |||
|  |             creative = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyCreative); | |||
|  |             clickLabel = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyClickLabel); | |||
|  |             adid = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyAdid); | |||
|  |             costType = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyCostType); | |||
|  |             try | |||
|  |             { | |||
|  |                 costAmount = double.Parse(AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyCostAmount), | |||
|  |                 System.Globalization.CultureInfo.InvariantCulture); | |||
|  |             } | |||
|  |             catch (Exception) | |||
|  |             { | |||
|  |                 // attribution response doesn't contain cost amount attached | |||
|  |                 // value will default to null | |||
|  |             } | |||
|  |             costCurrency = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyCostCurrency); | |||
|  |             fbInstallReferrer = AdjustUtils.TryGetValue(dicAttributionData, AdjustUtils.KeyFbInstallReferrer); | |||
|  |         } | |||
|  |     } | |||
|  | } |