Пример #1
0
 private static void AttributionChangedCallback(AdjustAttribution atr)
 {
     if (atr != null)
     {
         AnalyticsManager.UpdateConversionDataProperty(atr);
     }
 }
Пример #2
0
        private void CheckAttributionI(ResponseData responseData)
        {
            if (responseData.JsonResponse == null)
            {
                return;
            }

            var askInMilliseconds = Util.GetDictionaryInt(responseData.JsonResponse, "ask_in");

            // with ask_in
            if (askInMilliseconds.HasValue)
            {
                _activityHandler.SetAskingAttribution(true);

                GetAttributionI(TimeSpan.FromMilliseconds(askInMilliseconds.Value));
                return;
            }

            // without ask_in
            _activityHandler.SetAskingAttribution(false);

            var attributionString = Util.GetDictionaryString(responseData.JsonResponse, "attribution");

            responseData.Attribution = AdjustAttribution.FromJsonString(attributionString, responseData.Adid);
        }
Пример #3
0
    public void attributionChangedDelegate(AdjustAttribution attribution)
    {
        Debug.Log("Attribution changed");

        if (attribution.trackerName != null)
        {
            Debug.Log("trackerName " + attribution.trackerName);
        }
        if (attribution.trackerToken != null)
        {
            Debug.Log("trackerToken " + attribution.trackerToken);
        }
        if (attribution.network != null)
        {
            Debug.Log("network " + attribution.network);
        }
        if (attribution.campaign != null)
        {
            Debug.Log("campaign " + attribution.campaign);
        }
        if (attribution.adgroup != null)
        {
            Debug.Log("adgroup " + attribution.adgroup);
        }
        if (attribution.creative != null)
        {
            Debug.Log("creative " + attribution.creative);
        }
    }
Пример #4
0
        private bool ReadAttributionQueryString(AdjustAttribution attribution,
                                                string key,
                                                string value)
        {
            if (key.Equals("tracker"))
            {
                attribution.TrackerName = value;
                return(true);
            }

            if (key.Equals("campaign"))
            {
                attribution.Campaign = value;
                return(true);
            }

            if (key.Equals("adgroup"))
            {
                attribution.Adgroup = value;
                return(true);
            }

            if (key.Equals("creative"))
            {
                attribution.Creative = value;
                return(true);
            }

            return(false);
        }
Пример #5
0
 // Token: 0x060000B7 RID: 183 RVA: 0x00005918 File Offset: 0x00003D18
 public void AttributionChangedCallback(AdjustAttribution attributionData)
 {
     Debug.Log("Attribution changed!");
     if (attributionData.trackerName != null)
     {
         Debug.Log("Tracker name " + attributionData.trackerName);
     }
     if (attributionData.trackerToken != null)
     {
         Debug.Log("Tracker token " + attributionData.trackerToken);
     }
     if (attributionData.network != null)
     {
         Debug.Log("Network " + attributionData.network);
     }
     if (attributionData.campaign != null)
     {
         Debug.Log("Campaign " + attributionData.campaign);
     }
     if (attributionData.adgroup != null)
     {
         Debug.Log("Adgroup " + attributionData.adgroup);
     }
     if (attributionData.creative != null)
     {
         Debug.Log("Creative " + attributionData.creative);
     }
     if (attributionData.clickLabel != null)
     {
         Debug.Log("Click label " + attributionData.clickLabel);
     }
 }
Пример #6
0
        private void OpenUrlInternal(Uri uri)
        {
            if (uri == null)
            {
                return;
            }

            var sUri = Uri.UnescapeDataString(uri.ToString());

            var windowsPhone80Protocol = "/Protocol?";

            if (sUri.StartsWith(windowsPhone80Protocol))
            {
                sUri = sUri.Substring(windowsPhone80Protocol.Length);
            }

            var queryStringIdx = sUri.IndexOf("?");

            // check if '?' exists and it's not the last char
            if (queryStringIdx == -1 || queryStringIdx + 1 == sUri.Length)
            {
                return;
            }

            var queryString = sUri.Substring(queryStringIdx + 1);

            // remove any possible fragments
            var fragmentIdx = queryString.LastIndexOf("#");

            if (fragmentIdx != -1)
            {
                queryString = queryString.Substring(0, fragmentIdx);
            }

            var  queryPairs      = queryString.Split('&');
            var  extraParameters = new Dictionary <string, string>(queryPairs.Length);
            var  attribution     = new AdjustAttribution();
            bool hasAdjustTags   = false;

            foreach (var pair in queryPairs)
            {
                if (ReadQueryString(pair, extraParameters, attribution))
                {
                    hasAdjustTags = true;
                }
            }

            if (!hasAdjustTags)
            {
                return;
            }

            var clickPackage = GetDeeplinkClickPackage(extraParameters, attribution);

            PackageHandler.AddPackage(clickPackage);
            PackageHandler.SendFirstPackage();
        }
Пример #7
0
        private AdjustAttribution DeserializeAttribution(Dictionary <string, string> jsonDict)
        {
            string attributionString = Util.GetDictionaryValue(jsonDict, "attribution");

            if (attributionString == null)
            {
                return(null);
            }

            return(AdjustAttribution.FromJsonString(attributionString));
        }
Пример #8
0
        public TestActivityPackage(ActivityPackage activityPackage)
        {
            ActivityPackage = activityPackage;
            Parameters      = activityPackage.Parameters;

            // default values
            AppToken             = "123456789012";
            Environment          = "sandbox";
            Version              = "4.0.3";
            Suffix               = "";
            Attribution          = new AdjustAttribution();
            NeedsAttributionData = false;
        }
Пример #9
0
        private void RunDelegate(AdjustAttribution adjustAttribution)
        {
            if (AdjustConfig.AttributionChanged == null)
            {
                return;
            }
            if (adjustAttribution == null)
            {
                return;
            }

            DeviceUtil.RunAttributionChanged(AdjustConfig.AttributionChanged, adjustAttribution);
        }
Пример #10
0
 public static void UpdateConversionDataProperty(AdjustAttribution attribution)
 {
     string property  = (!string.IsNullOrEmpty(attribution.network)) ? attribution.network : "null";
     string property2 = (!string.IsNullOrEmpty(attribution.campaign)) ? attribution.campaign : "null";
     string property3 = (!string.IsNullOrEmpty(attribution.adgroup)) ? attribution.adgroup : "null";
     string property4 = (!string.IsNullOrEmpty(attribution.creative)) ? attribution.creative : "null";
     string property5 = (!string.IsNullOrEmpty(attribution.adid)) ? attribution.adid : "null";
     //FirebaseAnalytics.SetUserProperty("adj_n", property);
     //FirebaseAnalytics.SetUserProperty("adj_c", property2);
     //FirebaseAnalytics.SetUserProperty("adj_ag", property3);
     //FirebaseAnalytics.SetUserProperty("adj_ac", property4);
     //FirebaseAnalytics.SetUserProperty("adj_adid", property5);
 }
Пример #11
0
        private void AttributionChangedCallback(AdjustAttribution obj)
        {
            Debug.Log("----------- Adjust AttributionChangedCallback Received!");
            Debug.Log($"---------- Adjust Attribution Changed: " +
                      $"adid = {obj?.adid} " +
                      $"campaign = {obj?.campaign} " +
                      $"adgroup = {obj?.adgroup} " +
                      $"network = {obj?.network} " +
                      $"clickLabel = {obj?.clickLabel}" +
                      $"trackerName = {obj?.trackerName} " +
                      $"trackerToken = {obj?.trackerToken} ");

            IsReady = true;
        }
Пример #12
0
        public void OnAttributionChanged(AdjustAttribution attribution)
        {
            Console.WriteLine(TAG + ": AttributionChanged, attribution = " + attribution);

            _testLibrary.AddInfoToSend("trackerToken", attribution.TrackerToken);
            _testLibrary.AddInfoToSend("trackerName", attribution.TrackerName);
            _testLibrary.AddInfoToSend("network", attribution.Network);
            _testLibrary.AddInfoToSend("campaign", attribution.Campaign);
            _testLibrary.AddInfoToSend("adgroup", attribution.Adgroup);
            _testLibrary.AddInfoToSend("creative", attribution.Creative);
            _testLibrary.AddInfoToSend("clickLabel", attribution.ClickLabel);
            _testLibrary.AddInfoToSend("adid", attribution.Adid);
            _testLibrary.SendInfoToServer(BasePath);
        }
Пример #13
0
    public void GetNativeAttribution(string attributionData)
    {
        if (AdjustWrapper.instance == null)
        {
            global::Debug.Log(this.errorMessage);
            return;
        }
        if (this.attributionChangedDelegate == null)
        {
            global::Debug.Log("adjust: Attribution changed delegate was not set.");
            return;
        }
        AdjustAttribution obj = new AdjustAttribution(attributionData);

        this.attributionChangedDelegate(obj);
    }
Пример #14
0
    public void runAttributionChangedDictionary(Dictionary <string, string> dicAttributionData)
    {
        if (AdjustWrapper.instance == null)
        {
            global::Debug.Log(this.errorMessage);
            return;
        }
        if (this.attributionChangedDelegate == null)
        {
            global::Debug.Log("adjust: Attribution changed delegate was not set.");
            return;
        }
        AdjustAttribution obj = new AdjustAttribution(dicAttributionData);

        this.attributionChangedDelegate(obj);
    }
Пример #15
0
        public bool UpdateAttribution(AdjustAttribution attribution)
        {
            if (attribution == null)
            {
                return(false);
            }

            if (attribution.Equals(Attribution))
            {
                return(false);
            }

            Attribution = attribution;
            WriteAttribution();

            RunDelegate(attribution);
            return(true);
        }
Пример #16
0
        internal ActivityPackage BuildClickPackage(string source, DateTime clickTime, AdjustAttribution attribution)
        {
            var parameters = GetIdsParameters();

            AddString(parameters, "source", source);
            AddDateTime(parameters, "click_time", clickTime);
            AddDictionaryJson(parameters, "params", ExtraParameters);

            if (attribution != null)
            {
                AddString(parameters, "tracker", attribution.TrackerName);
                AddString(parameters, "campaign", attribution.Campaign);
                AddString(parameters, "adgroup", attribution.Adgroup);
                AddString(parameters, "creative", attribution.Creative);
            }

            return new ActivityPackage(ActivityKind.Click, DeviceInfo.ClientSdk, parameters);
        }
Пример #17
0
        private bool ReadQueryString(string queryString,
                                     Dictionary <string, string> extraParameters,
                                     AdjustAttribution attribution)
        {
            var pairComponents = queryString.Split('=');

            if (pairComponents.Length != 2)
            {
                return(false);
            }

            var key = pairComponents[0];

            if (!key.StartsWith(AdjustPrefix))
            {
                return(false);
            }

            var value = pairComponents[1];

            if (value.Length == 0)
            {
                return(false);
            }

            var keyWOutPrefix = key.Substring(AdjustPrefix.Length);

            if (keyWOutPrefix.Length == 0)
            {
                return(false);
            }

            if (!ReadAttributionQueryString(attribution, keyWOutPrefix, value))
            {
                extraParameters.Add(keyWOutPrefix, value);
            }

            return(true);
        }
Пример #18
0
        public static Dictionary <string, string> GetAttribution()
        {
#if NETFX_CORE
            AdjustAttribution attribution = Adjust.GetAttributon();
            if (attribution == null)
            {
                return(new Dictionary <string, string>());
            }

            var adjustAttributionMap = AdjustAttribution.ToDictionary(attribution);
            if (adjustAttributionMap == null)
            {
                return(new Dictionary <string, string>());
            }

            // convert from <string, object> to <string, string>
            return(adjustAttributionMap.ToDictionary(
                       x => char.ToLowerInvariant(x.Key[0]) + x.Key.Substring(1),
                       x => x.Value != null ? x.Value.ToString() : "null"));
#else
            return(null);
#endif
        }
Пример #19
0
    public void AttributionChangedCallback(AdjustAttribution attributionData)
    {
        Log.I("Attribution changed!");

        if (attributionData.trackerName != null)
        {
            Log.I("Tracker name: " + attributionData.trackerName);
        }
        if (attributionData.trackerToken != null)
        {
            Log.I("Tracker token: " + attributionData.trackerToken);
        }
        if (attributionData.network != null)
        {
            Log.I("Network: " + attributionData.network);
        }
        if (attributionData.campaign != null)
        {
            Log.I("Campaign: " + attributionData.campaign);
        }
        if (attributionData.adgroup != null)
        {
            Log.I("Adgroup: " + attributionData.adgroup);
        }
        if (attributionData.creative != null)
        {
            Log.I("Creative: " + attributionData.creative);
        }
        if (attributionData.clickLabel != null)
        {
            Log.I("Click label: " + attributionData.clickLabel);
        }
        if (attributionData.adid != null)
        {
            Log.I("ADID: " + attributionData.adid);
        }
    }
Пример #20
0
        internal ActivityPackage BuildClickPackage(string source, DateTime clickTime, AdjustAttribution attribution)
        {
            var parameters = GetIdsParameters();

            AddString(parameters, "source", source);
            AddDateTime(parameters, "click_time", clickTime);
            AddDictionaryJson(parameters, "params", ExtraParameters);

            if (attribution != null)
            {
                AddString(parameters, "tracker", attribution.TrackerName);
                AddString(parameters, "campaign", attribution.Campaign);
                AddString(parameters, "adgroup", attribution.Adgroup);
                AddString(parameters, "creative", attribution.Creative);
            }

            return(new ActivityPackage(ActivityKind.Click, DeviceInfo.ClientSdk, parameters));
        }
Пример #21
0
        public ActivityPackage GetDeeplinkClickPackage(Dictionary <string, string> extraParameters, AdjustAttribution attribution)
        {
            var now = DateTime.Now;

            var packageBuilder = new PackageBuilder(AdjustConfig, DeviceInfo, ActivityState, now);

            packageBuilder.ExtraParameters = extraParameters;

            return(packageBuilder.BuildClickPackage("deeplink", now, attribution));
        }
Пример #22
0
 private void attributionChangedDelegate(AdjustAttribution obj)
 {
     // DDNAAnalyticsIntegration.DDNAEvent_AdjustAttribute(attribution.network, "", attribution.adgroup, attribution.campaign, attribution.creative, attribution.network, attribution.trackerName, attribution.trackerToken);
 }
Пример #23
0
        private bool ReadQueryString(string queryString,
            Dictionary<string, string> extraParameters,
            AdjustAttribution attribution)
        {
            var pairComponents = queryString.Split('=');
            if (pairComponents.Length != 2) return false;

            var key = pairComponents[0];
            if (!key.StartsWith(AdjustPrefix)) return false;

            var value = pairComponents[1];
            if (value.Length == 0) return false;

            var keyWOutPrefix = key.Substring(AdjustPrefix.Length);
            if (keyWOutPrefix.Length == 0) return false;

            if (!ReadAttributionQueryString(attribution, keyWOutPrefix, value))
            {
                extraParameters.Add(keyWOutPrefix, value);
            }

            return true;
        }
Пример #24
0
        private bool ReadAttributionQueryString(AdjustAttribution attribution,
            string key,
            string value)
        {
            if (key.Equals("tracker"))
            {
                attribution.TrackerName = value;
                return true;
            }

            if (key.Equals("campaign"))
            {
                attribution.Campaign = value;
                return true;
            }

            if (key.Equals("adgroup"))
            {
                attribution.Adgroup = value;
                return true;
            }

            if (key.Equals("creative"))
            {
                attribution.Creative = value;
                return true;
            }

            return false;
        }
Пример #25
0
        private void OpenUrlInternal(Uri uri)
        {
            if (uri == null) return;

            var sUri = Uri.UnescapeDataString(uri.ToString());

            var windowsPhone80Protocol = "/Protocol?";
            if (sUri.StartsWith(windowsPhone80Protocol))
            {
                sUri = sUri.Substring(windowsPhone80Protocol.Length);
            }

            var queryStringIdx = sUri. IndexOf("?");
            // check if '?' exists and it's not the last char
            if (queryStringIdx == -1 || queryStringIdx + 1 == sUri.Length) return;

            var queryString = sUri.Substring(queryStringIdx + 1);

            // remove any possible fragments
            var fragmentIdx = queryString.LastIndexOf("#");
            if (fragmentIdx != -1)
            {
                queryString = queryString.Substring(0, fragmentIdx);
            }

            var queryPairs = queryString.Split('&');
            var extraParameters = new Dictionary<string, string>(queryPairs.Length);
            var attribution = new AdjustAttribution();
            bool hasAdjustTags = false;

            foreach (var pair in queryPairs)
            {
                if (ReadQueryString(pair, extraParameters, attribution))
                {
                    hasAdjustTags = true;
                }
            }

            if (!hasAdjustTags) { return; }

            var clickPackage = GetDeeplinkClickPackage(extraParameters, attribution);
            PackageHandler.AddPackage(clickPackage);
            PackageHandler.SendFirstPackage();
        }
Пример #26
0
        public bool UpdateAttribution(AdjustAttribution attribution)
        {
            if (attribution == null) { return false; }

            if (attribution.Equals(Attribution)) { return false; }

            Attribution = attribution;
            WriteAttribution();

            RunDelegate(attribution);
            return true;
        }
Пример #27
0
        public ActivityPackage GetDeeplinkClickPackage(Dictionary<string, string> extraParameters, AdjustAttribution attribution)
        {
            var now = DateTime.Now;

            var packageBuilder = new PackageBuilder(AdjustConfig, DeviceInfo, ActivityState, now);
            packageBuilder.ExtraParameters = extraParameters;

            return packageBuilder.BuildClickPackage("deeplink", now, attribution);
        }
Пример #28
0
 public bool UpdateAttribution(AdjustAttribution attribution)
 {
     MockLogger.Test("{0} UpdateAttribution, {1}", prefix, attribution);
     return(false);
 }
Пример #29
0
        private void RunDelegate(AdjustAttribution adjustAttribution)
        {
            if (AdjustConfig.AttributionChanged == null) return;
            if (adjustAttribution == null) return;

            DeviceUtil.RunAttributionChanged(AdjustConfig.AttributionChanged, adjustAttribution);
        }
Пример #30
0
 public void OnAttributionChanged(AdjustAttribution attribution)
 {
     Console.WriteLine("Attribution changed! New attribution: {0}", attribution.ToString());
 }
Пример #31
0
        public static void ApplicationLaunching(AdjustConfigDto adjustConfigDto)
        {
#if NETFX_CORE
            if (adjustConfigDto.LogDelegate != null)
            {
                LogAction = adjustConfigDto.LogDelegate;
            }

            LogLevel logLevel;
            string   logLevelString = char.ToUpper(adjustConfigDto.LogLevelString[0])
                                      + adjustConfigDto.LogLevelString.Substring(1);
            Enum.TryParse(logLevelString, out logLevel);

            //Log($"Setting log level to {logLevelString}.");

            var config = new AdjustConfig(adjustConfigDto.AppToken, adjustConfigDto.Environment,
                                          adjustConfigDto.LogDelegate, logLevel)
            {
                DefaultTracker   = adjustConfigDto.DefaultTracker,
                SdkPrefix        = adjustConfigDto.SdkPrefix,
                SendInBackground = adjustConfigDto.SendInBackground,
                DelayStart       = TimeSpan.FromSeconds(adjustConfigDto.DelayStart)
            };

            if (adjustConfigDto.SecretId.HasValue && adjustConfigDto.Info1.HasValue &&
                adjustConfigDto.Info2.HasValue && adjustConfigDto.Info3.HasValue &&
                adjustConfigDto.Info4.HasValue)
            {
                config.SetAppSecret(adjustConfigDto.SecretId.Value,
                                    adjustConfigDto.Info1.Value, adjustConfigDto.Info2.Value,
                                    adjustConfigDto.Info3.Value, adjustConfigDto.Info4.Value);
            }

            config.SetUserAgent(adjustConfigDto.UserAgent);

            if (adjustConfigDto.IsDeviceKnown.HasValue)
            {
                config.SetDeviceKnown(adjustConfigDto.IsDeviceKnown.Value);
            }

            if (adjustConfigDto.EventBufferingEnabled.HasValue)
            {
                config.EventBufferingEnabled = adjustConfigDto.EventBufferingEnabled.Value;
            }

            if (adjustConfigDto.ActionAttributionChangedData != null)
            {
                config.AttributionChanged = attribution =>
                {
                    var attributionMap = AdjustAttribution
                                         .ToDictionary(attribution)
                                         // convert from <string, object> to <string, string>
                                         .ToDictionary(
                        x => char.ToLowerInvariant(x.Key[0]) + x.Key.Substring(1),
                        x => x.Value != null ? x.Value.ToString() : "null");

                    adjustConfigDto.ActionAttributionChangedData(attributionMap);
                };
            }

            if (adjustConfigDto.ActionSessionSuccessData != null)
            {
                config.SesssionTrackingSucceeded = session =>
                                                   adjustConfigDto.ActionSessionSuccessData(Util.ToDictionary(session));
            }

            if (adjustConfigDto.ActionSessionFailureData != null)
            {
                config.SesssionTrackingFailed = session =>
                                                adjustConfigDto.ActionSessionFailureData(Util.ToDictionary(session));
            }

            if (adjustConfigDto.ActionEventSuccessData != null)
            {
                config.EventTrackingSucceeded = adjustEvent =>
                                                adjustConfigDto.ActionEventSuccessData(Util.ToDictionary(adjustEvent));
            }

            if (adjustConfigDto.ActionEventFailureData != null)
            {
                config.EventTrackingFailed = adjustEvent =>
                                             adjustConfigDto.ActionEventFailureData(Util.ToDictionary(adjustEvent));
            }

            if (adjustConfigDto.FuncDeeplinkResponseData != null)
            {
                config.DeeplinkResponse = uri =>
                                          adjustConfigDto.FuncDeeplinkResponseData(uri.AbsoluteUri);
            }

            Adjust.ApplicationLaunching(config);
#endif
        }
Пример #32
0
 public ActivityPackage GetDeeplinkClickPackage(Dictionary <string, string> extraParameters, AdjustAttribution attribution)
 {
     MockLogger.Test("{0} GetDeeplinkClickPackage", prefix);
     return(null);
 }
Пример #33
0
 private void RTAttributionCallback(AdjustAttribution attribution)
 {
     nativeAttributionCallback(attribution.TrackerToken, attribution.TrackerName, attribution.Network, attribution.Campaign, attribution.Adgroup, attribution.Creative, attribution.ClickLabel);
 }