public TrackerBase(string trackingAccount, IAnalyticsSession analyticsSession, ITrackerEnvironment trackerEnvironment) { TrackingAccount = trackingAccount; AnalyticsSession = analyticsSession; EndpointUrl = GoogleAnalyticsEndpoints.Default; UserAgent = string.Format("GoogleAnalyticsTracker/3.0 ({0}; {1}; {2})", trackerEnvironment.OsPlatform, trackerEnvironment.OsVersion, trackerEnvironment.OsVersionString); }
public Tracker(string trackingAccount, string trackingDomain, IAnalyticsSession analyticsSession) { TrackingAccount = trackingAccount; TrackingDomain = trackingDomain; AnalyticsSession = analyticsSession; CookieContainer = new CookieContainer(); ThrowOnErrors = false; CustomVariables = new CustomVariable[5]; _utmeGenerator = new UtmeGenerator(this); }
public TrackerBase(string trackingAccount, string trackingDomain, IAnalyticsSession analyticsSession, ITrackerEnvironment trackerEnvironment) { TrackingAccount = trackingAccount; TrackingDomain = trackingDomain; AnalyticsSession = analyticsSession; Hostname = trackerEnvironment.Hostname; Language = "en"; UserAgent = string.Format("GoogleAnalyticsTracker/3.0 ({0}; {1}; {2})", trackerEnvironment.OsPlatform, trackerEnvironment.OsVersion, trackerEnvironment.OsVersionString); InitializeCharset(); }
public Tracker(string trackingAccount, string trackingDomain, IAnalyticsSession analyticsSession) { TrackingAccount = trackingAccount; TrackingDomain = trackingDomain; AnalyticsSession = analyticsSession; #if !WINDOWS_PHONE && !NETFX_CORE string hostname = Dns.GetHostName(); string osversionstring = Environment.OSVersion.VersionString; string osplatform = Environment.OSVersion.Platform.ToString(); string osversion = Environment.OSVersion.Version.ToString(); #elif WINDOWS_PHONE string hostname = "Windows Phone"; string osversionstring = "Windows Phone"; string osplatform = "Windows Phone"; string osversion = Environment.OSVersion.Version.ToString(); #else string hostname = "Windows"; string osversionstring = "RT"; string osplatform = "Windows RT"; string osversion = "8"; #endif Hostname = hostname; Language = "en"; UserAgent = string.Format("Tracker/1.0 ({0}; {1}; {2})", osplatform, osversion, osversionstring); #if !WINDOWS_PHONE && !NETFX_CORE if (IsHttpRequestAvailable()) { Hostname = System.Web.HttpContext.Current.Request.Url.Host; UserAgent = System.Web.HttpContext.Current.Request.UserAgent; Language = System.Web.HttpContext.Current.Request.UserLanguages != null?string.Join(";", System.Web.HttpContext.Current.Request.UserLanguages) : ""; } #endif CookieContainer = new CookieContainer(); ThrowOnErrors = false; InitializeCharset(); CustomVariables = new CustomVariable[5]; _utmeGenerator = new UtmeGenerator(this); }
public Tracker(string trackingAccount, string trackingDomain, IAnalyticsSession analyticsSession) { TrackingAccount = trackingAccount; TrackingDomain = trackingDomain; AnalyticsSession = analyticsSession; #if !WINDOWS_PHONE && !NETFX_CORE string hostname = Dns.GetHostName(); string osversionstring = Environment.OSVersion.VersionString; string osplatform = Environment.OSVersion.Platform.ToString(); string osversion = Environment.OSVersion.Version.ToString(); #elif WINDOWS_PHONE string hostname = "Windows Phone"; string osversionstring = "Windows Phone"; string osplatform = "Windows Phone"; string osversion = Environment.OSVersion.Version.ToString(); #else string hostname = "Windows"; string osversionstring = "RT"; string osplatform = "Windows RT"; string osversion = "8"; #endif Hostname = hostname; Language = "en"; UserAgent = string.Format("Tracker/1.0 ({0}; {1}; {2})", osplatform, osversion, osversionstring); #if !WINDOWS_PHONE && !NETFX_CORE if (IsHttpRequestAvailable()) { Hostname = System.Web.HttpContext.Current.Request.Url.Host; UserAgent = System.Web.HttpContext.Current.Request.UserAgent; Language = System.Web.HttpContext.Current.Request.UserLanguages != null ? string.Join(";", System.Web.HttpContext.Current.Request.UserLanguages) : ""; } #endif CookieContainer = new CookieContainer(); ThrowOnErrors = false; InitializeCharset(); CustomVariables = new CustomVariable[5]; _utmeGenerator = new UtmeGenerator(this); }
public Tracker(string trackingAccount, string trackingDomain, IAnalyticsSession analyticsSession) { TrackingAccount = trackingAccount; TrackingDomain = trackingDomain; AnalyticsSession = analyticsSession; Language = CultureInfo.CurrentCulture.ToString(); #if !WINDOWS_PHONE UserAgent = string.Format("Tracker/1.0 ({0}; {1}; {2})", Environment.OSVersion.Platform, Environment.OSVersion.Version, Environment.OSVersion.VersionString); Hostname = Dns.GetHostName(); #else Hostname = "Windows Phone"; /* This was my first try, reconstructing the same user agent that google analytics for android sdk was sending. It didn't recognized other info that * OS Windows Phone. // Version ver = new Version(System.Reflection.Assembly.GetExecutingAssembly().FullName.Split(',')[1].Split('=')[1]); UserAgent = string.Format("GoogleAnalytics/1.4.2 ({0}; U; {1}; {2}; {3} Build/{4})", Environment.OSVersion.Platform.ToString(), osversionstring + " " + Environment.OSVersion.Version.ToString(), CultureInfo.CurrentCulture.ToString(), DeviceStatus.DeviceManufacturer + " " + DeviceStatus.DeviceName, Environment.OSVersion.Version.Build); */ /* This is my second and working solution: we reconstruct the exact same useragent that IE9 is sending. In that way * Google Analytics recognize OS, Manufacturer and device model: wonderful! */ string osver; // Windows Phone 7.5, as we usually call Mango, in reality is 7.10... So we change that string. if (Environment.OSVersion.Version.Major == 7 && Environment.OSVersion.Version.Minor == 10) osver = "7.5"; else osver = string.Format("{0}.{1}", Environment.OSVersion.Version.Major,Environment.OSVersion.Version.Minor) ; UserAgent = string.Format("Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS {0}; Trident/5.0; IEMobile/9.0; {1}; {2})", osver, Microsoft.Phone.Info.DeviceStatus.DeviceManufacturer, Microsoft.Phone.Info.DeviceStatus.DeviceName); #endif CookieContainer = new CookieContainer(); ThrowOnErrors = false; InitializeCharset(); CustomVariables = new CustomVariable[5]; _utmeGenerator = new UtmeGenerator(this); }
public TrackerBase(string trackingAccount, string trackingDomain, IAnalyticsSession analyticsSession, ITrackerEnvironment trackerEnvironment) { TrackingAccount = trackingAccount; TrackingDomain = trackingDomain; AnalyticsSession = analyticsSession; Hostname = trackerEnvironment.Hostname; Language = "en"; UserAgent = string.Format("GoogleAnalyticsTracker/2.0 ({0}; {1}; {2})", trackerEnvironment.OsPlatform, trackerEnvironment.OsVersion, trackerEnvironment.OsVersionString); CookieContainer = new CookieContainer(); ThrowOnErrors = false; InitializeCharset(); CustomVariables = new CustomVariable[5]; _utmeGenerator = new UtmeGenerator(this); }
public Tracker(string trackingAccount, string trackingDomain, IAnalyticsSession analyticsSession) { TrackingAccount = trackingAccount; TrackingDomain = trackingDomain; AnalyticsSession = analyticsSession; #if !WINDOWS_PHONE && !NETFX_CORE && !UNITY3D string hostname = Dns.GetHostName(); string osversionstring = Environment.OSVersion.VersionString; string osplatform = Environment.OSVersion.Platform.ToString(); string osversion = Environment.OSVersion.Version.ToString(); #elif WINDOWS_PHONE string hostname = "Windows Phone"; string osversionstring = "Windows Phone"; string osplatform = "Windows Phone"; string osversion = Environment.OSVersion.Version.ToString(); #else string hostname = "Windows"; string osversionstring = "RT"; string osplatform = "Windows RT"; string osversion = "8"; #endif Hostname = hostname; Language = "en"; UserAgent = string.Format("Tracker/1.0 ({0}; {1}; {2})", osplatform, osversion, osversionstring); CookieContainer = new CookieContainer(); ThrowOnErrors = false; InitializeCharset(); CustomVariables = new CustomVariable[5]; _utmeGenerator = new UtmeGenerator(this); }
public Tracker(string trackingId, IAnalyticsSession analyticsSession) { TrackingId = trackingId; UseHttps = true; SessionStart = true; AnalyticsSession = analyticsSession; ClientId = AnalyticsSession.GetClientId(); AppName = AnalyticsSession.GetAppName(); AppVersion = AnalyticsSession.GetAppVersion(); ScreenResolution = AnalyticsSession.GetScreenResolution(); ScreenColors = AnalyticsSession.GetScreenColors(); OsPlatform = AnalyticsSession.GetOsPlatform(); OsVersion = AnalyticsSession.GetOsVersion(); DeviceName = AnalyticsSession.GetDeviceName(); Language = CultureInfo.CurrentUICulture.Name; UserAgent = string.Format("GoogleAnalytics/2.0 ({0}; U; {1}; {2}; {3})", OsPlatform, OsVersion, Language, DeviceName); ThrowOnErrors = false; CustomDimensions = new List<string>(); CustomMetrics = new List<Int64?>(); }
public Tracker(string trackingAccount, string trackingDomain, IAnalyticsSession analyticsSession) { TrackingAccount = trackingAccount; TrackingDomain = trackingDomain; AnalyticsSession = analyticsSession; #if !WINDOWS_PHONE string hostname = Dns.GetHostName().ToLower(); string osversionstring = Environment.OSVersion.VersionString; #else string hostname = "Windows Phone"; string osversionstring = "Windows Phone"; #endif Hostname = hostname; Language = "en"; UserAgent = string.Format("Tracker/1.0 ({0}; {1}; {2})", Environment.OSVersion.Platform, Environment.OSVersion.Version, osversionstring); CookieContainer = new CookieContainer(); InitializeCharset(); CustomVariables = new CustomVariable[5]; _utmeGenerator = new UtmeGenerator(this); }
public TTelemetry DecorateTelemetry <TTelemetry>(TTelemetry telemetry, string className, string callerMemberName, IAnalyticsOperation?currentOperation, IAnalyticsSession currentSession, Dictionary <string, object> properties) where TTelemetry : ITelemetry, ISupportProperties { telemetry.Context.Cloud.RoleName = _config.RoleName; telemetry.Context.InstrumentationKey = _config.InstrumentationKey; if (currentOperation != null) { telemetry.Context.Operation.Id = currentOperation.Id; telemetry.Context.Operation.Name = currentOperation.Name; } telemetry.Context.Session.Id = currentSession.Id; if (currentSession.AppVersion != null) { telemetry.Context.Component.Version = currentSession.AppVersion; } if (currentSession.AccountId != null) { telemetry.Context.User.AccountId = currentSession.AccountId; } if (currentSession.UserId != null) { telemetry.Context.User.AuthenticatedUserId = currentSession.UserId; } if (currentSession.DeviceId != null) { telemetry.Context.Device.Id = currentSession.DeviceId; telemetry.Properties["DeviceIdentifier"] = currentSession.DeviceId; } if (currentSession.DeviceType != null) { telemetry.Context.Device.Type = currentSession.DeviceType.Value; } if (currentSession.Platform != null) { telemetry.Context.Device.OperatingSystem = currentSession.Platform.Value; } if (currentSession.OperatingSystemVersion != null) { telemetry.Properties["OperatingSystemVersion"] = currentSession.OperatingSystemVersion; } if (currentSession.Manufacturer != null) { telemetry.Context.Device.OemName = currentSession.Manufacturer; } if (currentSession.Model != null) { telemetry.Context.Device.Model = currentSession.Model; } if (currentSession.Properties != null) { foreach (var sessionProperty in currentSession.Properties) { telemetry.Properties[sessionProperty.Key] = sessionProperty.Value; } } if (properties != null) { foreach (var property in properties) { if (!property.Value.GetType().IsValueType&& property.Value.GetType() != typeof(string)) { telemetry.Properties[property.Key] = JsonConvert.SerializeObject(property.Value, new JsonSerializerSettings { Culture = CultureInfo.InvariantCulture }); } else { telemetry.Properties[property.Key] = property.Value.ToString(); } } } telemetry.Properties["Class"] = className; telemetry.Properties["Method"] = callerMemberName; return(telemetry); }
public Tracker(IAnalyticsSession analyticsSession) : this(ConfigurationManager.AppSettings[TrackingAccountConfigurationKey], ConfigurationManager.AppSettings[TrackingDomainConfigurationKey], analyticsSession, new AspNetMvc4TrackerEnvironment()) { PopulateUserAgentPropertiesFromHttpContext(); }
/// <summary> /// Creates a new SimpleTracker. See <see cref="SimpleTracker(string, string)"/> for details. /// </summary> /// <param name="trackingAccount"></param> /// <param name="analyticsSession"></param> /// <param name="trackerEnvironment"></param> public SimpleTracker(string trackingAccount, IAnalyticsSession analyticsSession, ITrackerEnvironment trackerEnvironment) : base(trackingAccount, analyticsSession, trackerEnvironment) { }
public Tracker(string trackingAccount, string trackingDomain, IAnalyticsSession analyticsSession, ITrackerEnvironment trackerEnvironment) : base(trackingAccount, trackingDomain, analyticsSession, trackerEnvironment) { }
public Tracker() { _session = new AnalyticsSession(); }
public Tracker(IAnalyticsSession analyticsSession) : this(ConfigurationManager.AppSettings[TrackingAccountConfigurationKey], ConfigurationManager.AppSettings[TrackingDomainConfigurationKey], analyticsSession) { }
public Tracker(string trackingAccount, string trackingDomain, IAnalyticsSession analyticsSession, ITrackerEnvironment trackerEnvironment) : base(trackingAccount, trackingDomain, analyticsSession, trackerEnvironment) { PopulateUserAgentPropertiesFromHttpContext(); }
public Tracker(IAnalyticsSession analyticsSession) : this(ConfigurationManager.AppSettings[TrackingAccountConfigurationKey], ConfigurationManager.AppSettings[TrackingDomainConfigurationKey], analyticsSession, new AspNetWebApiTrackerEnvironment()) { }
static AnalyticsService() { Session = new AnalyticsSession(Domain, GaCode); Session.SetCustomVariable(1, "Version", Assembly.GetExecutingAssembly().GetName().Version.ToString()); }
public Tracker(IAnalyticsSession analyticsSession) : this(ConfigurationManager.AppSettings[TrackingAccountConfigurationKey], analyticsSession, new AspNetWebApiTrackerEnvironment()) { }
public Tracker(IAnalyticsSession analyticsSession) : this(ConfigurationManager.AppSettings[TrackingAccountConfigurationKey], ConfigurationManager.AppSettings[TrackingDomainConfigurationKey], analyticsSession, new NancyTrackerEnvironment()) { }