public static void ApplicationLaunching(AdjustConfigDto adjustConfigDto)
 {
 }
Exemple #2
0
        public static void Start(AdjustConfig adjustConfig)
        {
            string logLevelString = null;
            string environment    = adjustConfig.environment.ToLowercaseString();

            Action <Dictionary <string, string> > attributionChangedAction    = null;
            Action <Dictionary <string, string> > sessionSuccessChangedAction = null;
            Action <Dictionary <string, string> > sessionFailureChangedAction = null;
            Action <Dictionary <string, string> > eventSuccessChangedAction   = null;
            Action <Dictionary <string, string> > eventFailureChangedAction   = null;
            Func <string, bool> deeplinkResponseFunc = null;

            if (adjustConfig.logLevel.HasValue)
            {
                logLevelString = adjustConfig.logLevel.Value.ToLowercaseString();
            }

            if (adjustConfig.attributionChangedDelegate != null)
            {
                attributionChangedAction = (attributionMap) =>
                {
                    var attribution = new AdjustAttribution(attributionMap);
                    adjustConfig.attributionChangedDelegate(attribution);
                };
            }

            if (adjustConfig.sessionSuccessDelegate != null)
            {
                sessionSuccessChangedAction = (sessionMap) =>
                {
                    var sessionData = new AdjustSessionSuccess(sessionMap);
                    adjustConfig.sessionSuccessDelegate(sessionData);
                };
            }

            if (adjustConfig.sessionFailureDelegate != null)
            {
                sessionFailureChangedAction = (sessionMap) =>
                {
                    var sessionData = new AdjustSessionFailure(sessionMap);
                    adjustConfig.sessionFailureDelegate(sessionData);
                };
            }

            if (adjustConfig.eventSuccessDelegate != null)
            {
                eventSuccessChangedAction = (eventMap) =>
                {
                    var eventData = new AdjustEventSuccess(eventMap);
                    adjustConfig.eventSuccessDelegate(eventData);
                };
            }

            if (adjustConfig.eventFailureDelegate != null)
            {
                eventFailureChangedAction = (eventMap) =>
                {
                    var eventData = new AdjustEventFailure(eventMap);
                    adjustConfig.eventFailureDelegate(eventData);
                };
            }

            if (adjustConfig.deferredDeeplinkDelegate != null)
            {
                deeplinkResponseFunc = uri =>
                {
                    if (adjustConfig.launchDeferredDeeplink)
                    {
                        adjustConfig.deferredDeeplinkDelegate(uri);
                    }

                    return(adjustConfig.launchDeferredDeeplink);
                };
            }

            bool sendInBackground = false;

            if (adjustConfig.sendInBackground.HasValue)
            {
                sendInBackground = adjustConfig.sendInBackground.Value;
            }

            double delayStartSeconds = 0;

            if (adjustConfig.delayStart.HasValue)
            {
                delayStartSeconds = adjustConfig.delayStart.Value;
            }

            AdjustConfigDto adjustConfigDto = new AdjustConfigDto {
                AppToken                     = adjustConfig.appToken,
                Environment                  = environment,
                SdkPrefix                    = sdkPrefix,
                SendInBackground             = sendInBackground,
                DelayStart                   = delayStartSeconds,
                UserAgent                    = adjustConfig.userAgent,
                DefaultTracker               = adjustConfig.defaultTracker,
                EventBufferingEnabled        = adjustConfig.eventBufferingEnabled,
                LaunchDeferredDeeplink       = adjustConfig.launchDeferredDeeplink,
                LogLevelString               = logLevelString,
                LogDelegate                  = adjustConfig.logDelegate,
                ActionAttributionChangedData = attributionChangedAction,
                ActionSessionSuccessData     = sessionSuccessChangedAction,
                ActionSessionFailureData     = sessionFailureChangedAction,
                ActionEventSuccessData       = eventSuccessChangedAction,
                ActionEventFailureData       = eventFailureChangedAction,
                FuncDeeplinkResponseData     = deeplinkResponseFunc,
                IsDeviceKnown                = adjustConfig.isDeviceKnown,
                SecretId                     = adjustConfig.secretId,
                Info1 = adjustConfig.info1,
                Info2 = adjustConfig.info2,
                Info3 = adjustConfig.info3,
                Info4 = adjustConfig.info4
            };

            AdjustWinInterface.ApplicationLaunching(adjustConfigDto);
            AdjustWinInterface.ApplicationActivated();
            appLaunched = true;
        }
        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
        }