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