#if UNITY_ANDROID
using UnityEngine;
#endif
namespace JustTrack
{
///
/// Represents the result of a validation operation in the justtrack SDK.
///
public class ValidateResult
{
private ValidateResult(bool pValid, RetargetingParameters? pValidParameters, AttributionResponse pAttributionResponse)
{
this.Valid = pValid;
this.ValidParameters = pValidParameters;
this.AttributionResponse = pAttributionResponse;
}
///
/// Gets a value indicating whether the validation was successful.
///
public bool Valid { get; private set; }
///
/// Gets the valid retargeting parameters if validation was successful.
///
public RetargetingParameters? ValidParameters { get; private set; }
///
/// Gets the attribution response associated with the validation.
///
public AttributionResponse AttributionResponse { get; private set; }
#if UNITY_ANDROID
internal static ValidateResult FromAndroidObject(AndroidJavaObject pObject) {
using var validParameters = pObject.Call("validParameters");
using var response = pObject.Call("attributionResponse");
return new ValidateResult(
pObject.Call("isValid"),
validParameters == null ? null : RetargetingParameters.FromAndroidObject(validParameters),
AttributionResponse.FromAndroidObject(response)
);
}
#endif
#if UNITY_IOS
internal static ValidateResult CreateValidateResult(RetargetingParameters? pValidParameters, AttributionResponse pAttributionResponse) {
return new ValidateResult(pValidParameters != null, pValidParameters, pAttributionResponse);
}
#endif
#if UNITY_EDITOR
internal static ValidateResult CreateFakeResult() {
return new ValidateResult(false, null, AttributionResponse.CreateFakeResponse());
}
#endif
}
}