SDK_UnityMoney/Assets/Adjust/Scripts/AdjustSessionFailure.cs

87 lines
3.1 KiB
C#
Raw Normal View History

2025-08-30 10:46:34 +00:00
using System;
using System.Collections.Generic;
namespace AdjustSdk
{
public class AdjustSessionFailure
{
public string Adid { get; set; }
public string Message { get; set; }
public string Timestamp { get; set; }
public bool WillRetry { get; set; }
public Dictionary<string, object> JsonResponse { get; set; }
public AdjustSessionFailure() {}
public AdjustSessionFailure(Dictionary<string, string> sessionFailureDataMap)
{
if (sessionFailureDataMap == null)
{
return;
}
this.Adid = AdjustUtils.TryGetValue(sessionFailureDataMap, AdjustUtils.KeyAdid);
this.Message = AdjustUtils.TryGetValue(sessionFailureDataMap, AdjustUtils.KeyMessage);
this.Timestamp = AdjustUtils.TryGetValue(sessionFailureDataMap, AdjustUtils.KeyTimestamp);
bool willRetry;
if (bool.TryParse(AdjustUtils.TryGetValue(sessionFailureDataMap, AdjustUtils.KeyWillRetry), out willRetry))
{
this.WillRetry = willRetry;
}
string jsonResponseString = AdjustUtils.TryGetValue(sessionFailureDataMap, AdjustUtils.KeyJsonResponse);
var jsonResponseNode = JSON.Parse(jsonResponseString);
if (jsonResponseNode != null && jsonResponseNode.AsObject != null)
{
this.JsonResponse = new Dictionary<string, object>();
AdjustUtils.WriteJsonResponseDictionary(jsonResponseNode.AsObject, JsonResponse);
}
}
public AdjustSessionFailure(string jsonString)
{
var jsonNode = JSON.Parse(jsonString);
if (jsonNode == null)
{
return;
}
this.Adid = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyAdid);
this.Message = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyMessage);
this.Timestamp = AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyTimestamp);
this.WillRetry = Convert.ToBoolean(AdjustUtils.GetJsonString(jsonNode, AdjustUtils.KeyWillRetry));
var jsonResponseNode = jsonNode[AdjustUtils.KeyJsonResponse];
if (jsonResponseNode == null)
{
return;
}
if (jsonResponseNode.AsObject == null)
{
return;
}
this.JsonResponse = new Dictionary<string, object>();
AdjustUtils.WriteJsonResponseDictionary(jsonResponseNode.AsObject, JsonResponse);
}
public void BuildJsonResponseFromString(string jsonResponseString)
{
var jsonNode = JSON.Parse(jsonResponseString);
if (jsonNode == null)
{
return;
}
this.JsonResponse = new Dictionary<string, object>();
AdjustUtils.WriteJsonResponseDictionary(jsonNode.AsObject, JsonResponse);
}
public string GetJsonResponseAsString()
{
return AdjustUtils.GetJsonResponseCompact(JsonResponse);
}
}
}