コード例 #1
0
        /// <summary>
        /// Records 2 custom dimensions
        /// </summary>
        static private void RecordCustomDimensions()
        {
            var piwikTracker = new PiwikTracker(SiteId, PiwikBaseUrl);

            piwikTracker.SetUserAgent(UA);

            piwikTracker.SetCustomTrackingParameter("dimension1", "value1");
            piwikTracker.SetCustomTrackingParameter("dimension2", "value2");

            var response = piwikTracker.DoTrackPageView("Document title of current page view");

            DisplayDebugInfo(response);
        }
コード例 #2
0
        public static void TrackCustomMatomo(string category, string action, string name = "", string value = "", Dictionary <string, string> properties = null)
        {
            if (!LocalContext.GetTelemetrySettings())
            {
                return;
            }
            try
            {
                if (piwikTracker == null)
                {
                    Initialize();
                }

                piwikTracker.SetUserAgent(TelemetryUtilities.UserAgent);

                if (properties != null)
                {
                    foreach (var prop in properties)
                    {
                        piwikTracker.SetCustomTrackingParameter(prop.Key, prop.Value);
                    }
                }
                piwikTracker.DoTrackEvent(category, action, name, value);
            }
            catch { }
        }
コード例 #3
0
        public void SetCustomTrackingParameter_WhenSpecified_IsAddedToRequest(string trackingApiParameter, string value)
        {
            // Arrange, Act
            _sut.SetCustomTrackingParameter(trackingApiParameter, value);

            // Assert
            var actual = _sut.GetRequest(SiteId);

            Assert.That(actual, Does.Contain($"&{trackingApiParameter}={value}"));
        }
コード例 #4
0
        // It is only kept for the notes
        public static void AddCustomParametersFromSpeckle(this PiwikTracker piwikTracker, SpeckleApiClient speckleApiClient)
        {
            piwikTracker.SetUserAgent(TelemetryUtilities.UserAgent);

            piwikTracker.SetCustomTrackingParameter("client", speckleApiClient.ClientType);
            // Here are some variations that are suggested from the docs in order to track custom dimensions.
            // Will need to came back and clean-up here once we know how this works
            piwikTracker.SetCustomTrackingParameter("dimension1", speckleApiClient.ClientType);
            piwikTracker.SetCustomTrackingParameter("dimension2", TelemetryUtilities.OsVersion);
            piwikTracker.SetCustomTrackingParameter("os_version", TelemetryUtilities.OsVersion);
            piwikTracker.SetCustomTrackingParameter("speckle_version", TelemetryUtilities.SpeckleCoreVersion);
            piwikTracker.SetCustomTrackingParameter("user", speckleApiClient.User._id);
            piwikTracker.SetCustomTrackingParameter("user_is_owner", speckleApiClient.User._id == speckleApiClient.Stream.Owner ? "True" : "False");
            // Not sure if we need the line below for tracking custom Dimensions.
            // or the one we are calling after this method is enough: piwikTracker.DoTrackEvent(category, action, name, value);
            //piwikTracker.DoTrackPageView("Record Metadata");
        }