public static void TrackPageView(HttpContext context, Config config, string title, string sub, string clientIp, string url, string urlReferrer, string userAgent, int pixelWidth, int pixelHeight, bool hasCookies, string acceptLang, bool hasJava) { try { if (config.PiwikConfig.Enabled) { if (config.DevEnvironment) { sub = "dev - " + sub; } PiwikTracker tracker = new PiwikTracker(config.PiwikConfig.SiteId, config.PiwikConfig.Url, context); // Set Request Info tracker.SetIp(clientIp); tracker.SetTokenAuth(config.PiwikConfig.TokenAuth); tracker.SetUserAgent(userAgent); // Set browser info tracker.SetResolution(pixelWidth, pixelHeight); tracker.SetBrowserHasCookies(hasCookies); if (!string.IsNullOrEmpty(acceptLang)) { tracker.SetBrowserLanguage(acceptLang); } tracker.SetPlugins(new BrowserPlugins { Java = hasJava }); // Get Referral if (!string.IsNullOrEmpty(urlReferrer)) { tracker.SetUrlReferrer(urlReferrer); } if (!string.IsNullOrEmpty(url)) { tracker.SetUrl(url); } // Send the tracking request tracker.DoTrackPageView(string.Format("{0}/{1}", sub, title)); } } catch (Exception) { } }