public virtual async Task <TrackingResult> OnTrackingAction(HttpActionContext filterContext) { return(await Tracker.TrackPageViewAsync( filterContext.Request, BuildCurrentActionName(filterContext), BuildCurrentActionUrl(filterContext))); }
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.TrackPageViewAsync(pageViewParameters)); }
public static async Task <TrackingResult> TrackPageViewAsync(this Tracker tracker, HttpRequestMessage httpRequest, string pageTitle, string pageUrl, Dictionary <string, string> beaconParameters = null) { var internalBeaconParameters = new Dictionary <string, string>(); internalBeaconParameters.Add(BeaconParameter.HostName, httpRequest.RequestUri.Host); internalBeaconParameters.Add(BeaconParameter.Browser.Language, httpRequest.Headers.AcceptLanguage.ToString()); if (httpRequest.Headers.Referrer != null) { internalBeaconParameters.Add(BeaconParameter.Browser.ReferralUrl, httpRequest.Headers.Referrer.ToString()); } if (beaconParameters != null) { foreach (var beaconParameter in beaconParameters) { internalBeaconParameters[beaconParameter.Key] = beaconParameter.Value; } } return(await tracker.TrackPageViewAsync(pageTitle, pageUrl, userAgent : httpRequest.Headers.UserAgent.ToString(), beaconParameters : internalBeaconParameters )); }