Esempio n. 1
0
        public static async Task <TrackingResult> TrackPageViewAsync(this Tracker tracker, HttpRequestMessage httpRequest, string pageTitle, string pageUrl = null)
        {
            var pageViewParameters = new PageView
            {
                DocumentTitle                                   = pageTitle,
                DocumentLocationUrl                             = pageUrl,
                UserAgent                                       = httpRequest.Headers.UserAgent.ToString(),
                DocumentHostName                                = httpRequest.RequestUri.Host,
                UserLanguage                                    = httpRequest.Headers.AcceptLanguage.ToString().ToLower(),
                ReferralUrl                                     = httpRequest.Headers.Referrer != null?httpRequest.Headers.Referrer.ToString() : null,
                                                    CacheBuster = tracker.AnalyticsSession.GenerateCacheBuster()
            };

            return(await tracker.TrackAsync(pageViewParameters));
        }
Esempio n. 2
0
        public static async Task <TrackingResult> TrackUserTimingAsync(this Tracker tracker, HttpRequestMessage httpRequest, string pageTitle, string pageUrl, string category, string var, long value, string label = null)
        {
            var userTimingParameters = new UserTimings
            {
                DocumentTitle       = pageTitle,
                DocumentLocationUrl = pageUrl,
                UserAgent           = httpRequest.Headers.UserAgent.ToString(),
                DocumentHostName    = httpRequest.RequestUri.Host,
                UserLanguage        = httpRequest.Headers.AcceptLanguage.ToString().ToLower(),
                UserTimingCategory  = category,
                UserTimingVariable  = var,
                UserTimingTime      = value,
                UserTimingLabel     = label,
            };

            return(await tracker.TrackAsync(userTimingParameters));
        }
        public static async Task <TrackingResult> TrackPageViewAsync(this Tracker tracker, HttpRequestMessage httpRequest, string pageTitle, string pageUrl = null)
        {
            if (pageUrl == null)
            {
                pageUrl = httpRequest.RequestUri.AbsolutePath;
            }

            var pageViewParameters = new PageView
            {
                DocumentTitle       = pageTitle,
                DocumentLocationUrl = pageUrl,
                UserAgent           = httpRequest.Headers.UserAgent.ToString(),
                DocumentHostName    = httpRequest.RequestUri.Host,
                UserLanguage        = httpRequest.Headers.AcceptLanguage.ToString().ToLower(),
                IpOverride          = WebApiHelper.GetClientIp(httpRequest)
            };

            return(await tracker.TrackAsync(pageViewParameters));
        }