public void SendAdResult(AdResultType result, AdType type, AdSourceType adSource)
        {
            if (ShouldSkipSendEvent)
            {
                DebugLog($"[ANALYTICS] [Skip] AD EVENT: {MapAdResult(result).ToString()} {MapAdSource(adSource).ToString()}, {MapAdType(type).ToString()}");
                return;
            }

            QLAdEvent adEvent = new QLAdEvent(MapAdResult(result), MapAdType(type), MapAdSource(adSource));

            TrackEvent(adEvent);

            if (result == AdResultType.Watched)
            {
                AdjustEvent adjustEvent = new AdjustEvent(Constants.Analytics.AdjustEvents.AdImpression);
                adjustEvent.addPartnerParameter("type", $"{type.ToString()}");
                adjustEvent.addPartnerParameter("eCPM", "0.0");
                Adjust.trackEvent(adjustEvent);
                DebugLog($"[ADJUST] AD WATCHED - {adjustEvent.ToString()} - {type.ToString()}");
            }
        }
        private QLAdResultType MapAdResult(AdResultType result)
        {
            switch (result)
            {
            case AdResultType.Started:
                return(QLAdResultType.QLAdResultTypeStarted);

            case AdResultType.Requested:
                return(QLAdResultType.QLAdResultTypeRequested);

            case AdResultType.Error:
                return(QLAdResultType.QLAdResultTypeError);

            case AdResultType.Watched:
                return(QLAdResultType.QLAdResultTypeWatched);

            case AdResultType.Aborted:
                return(QLAdResultType.QLAdResultTypeAborted);

            default:
                //TODO add asset here? -> SHouldn't reach here
                return(QLAdResultType.QLAdResultTypeStarted);
            }
        }