/// <summary> /// Records a product view which doesn't belong to a category /// </summary> static private void ECommerceViewWithoutCategory() { var piwikTracker = new PiwikTracker(SiteId, PiwikBaseUrl); piwikTracker.SetUserAgent(UA); piwikTracker.SetEcommerceView("SKU VERY nice indeed", "PRODUCT name"); var response = piwikTracker.DoTrackPageView("another incredible title!"); DisplayDebugInfo(response); }
/// <summary> /// Records a category page view /// </summary> static private void ECommerceCategoryView() { var piwikTracker = new PiwikTracker(SiteId, PiwikBaseUrl); piwikTracker.SetUserAgent(UA); piwikTracker.SetEcommerceView("", "", new List <string> { "Electronics & Cameras" }); var response = piwikTracker.DoTrackPageView("Looking at Electronics & Cameras page with a page level custom variable"); DisplayDebugInfo(response); }
/// <summary> /// Records a product view /// </summary> static private void ECommerceView() { var piwikTracker = new PiwikTracker(SiteId, PiwikBaseUrl); piwikTracker.SetUserAgent(UA); piwikTracker.SetEcommerceView("SKU2", "PRODUCT name", new List <string> { "Electronics & Cameras", "Clothes" }); var response = piwikTracker.DoTrackPageView("incredible title!"); DisplayDebugInfo(response); }
public void SetEcommerceView_Test(string sku, string name, string categories, double price) { // Arrange List <string> categoryList = null; if (!string.IsNullOrEmpty(categories)) { categoryList = categories.Split(',').ToList(); } // Act _sut.SetEcommerceView(sku, name, categoryList, price); var actualRequest = _sut.GetRequest(SiteId); // Assert var actualRequestArguments = new Uri(actualRequest).ParseQueryString().ToKeyValuePairs().ToDictionary(kvp => kvp.Key, kvp => kvp.Value); var actualVariablesById = JsonConvert.DeserializeObject <Dictionary <int, object> >(actualRequestArguments["cvar"]); Assert.That(actualVariablesById.Count, Is.EqualTo(4)); foreach (var variableById in actualVariablesById) { Console.WriteLine(variableById.Key + "=" + variableById.Value); var variableValue = JsonConvert.DeserializeObject <string[]>(variableById.Value.ToString()); switch (variableById.Key) { case PiwikTracker.CvarIndexEcommerceItemPrice: Assert.That(variableValue, Is.EquivalentTo(new[] { "_pkp", price.ToString("0.##", CultureInfo.InvariantCulture) })); break; case PiwikTracker.CvarIndexEcommerceItemName: Assert.That(variableValue, Is.EquivalentTo(new[] { "_pkn", name })); break; case PiwikTracker.CvarIndexEcommerceItemCategory: if (string.IsNullOrEmpty(categories)) { continue; } Assert.That(variableValue, Is.EquivalentTo(new[] { "_pkc", new JavaScriptSerializer().Serialize(categoryList) })); break; case PiwikTracker.CvarIndexEcommerceItemSku: Assert.That(variableValue, Is.EquivalentTo(new[] { "_pks", sku })); break; default: throw new NotImplementedException(); } } }