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 }