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);
 | |
|         }
 | |
|     }
 | |
| }
 |