Track() public method

Track an activity in analytics.
public Track ( UrchinActivityEntry entry ) : void
entry UrchinActivityEntry UrchinActivityEntry to track in analytics.
return void
 /// <summary>
 /// Create a new AnalyticsClient with a given configuration, session, environment and URI sender.
 /// </summary>
 /// <param name="configuration">Configuration of this Google Analytics Urchin client.</param>
 /// <param name="sessionManager">Session manager with visitor and session information.</param>
 /// <param name="environment">Provider of environmental information such as screen resolution.</param>
 /// <param name="sender">Action to take prepared URIs for Google Analytics and send them on.</param>
 public void Configure(UrchinConfiguration configuration, SessionManager sessionManager, IEnvironment environment, Action<Uri> sender)
 {
     Debug.Assert(tracker == null);
     var newTracker = new UrchinTracker(configuration, sessionManager, environment, sender);
     while (queue.Count > 0)
         newTracker.Track(queue.Dequeue());
     tracker = newTracker;
 }
Esempio n. 2
0
        /// <summary>
        /// Create a new AnalyticsClient with a given configuration, session, environment and URI sender.
        /// </summary>
        /// <param name="configuration">Configuration of this Google Analytics Urchin client.</param>
        /// <param name="sessionManager">Session manager with visitor and session information.</param>
        /// <param name="environment">Provider of environmental information such as screen resolution.</param>
        /// <param name="sender">Action to take prepared URIs for Google Analytics and send them on.</param>
        public void Configure(UrchinConfiguration configuration, SessionManager sessionManager, IEnvironment environment, Action <Uri> sender)
        {
            Debug.Assert(tracker == null);
            var newTracker = new UrchinTracker(configuration, sessionManager, environment, sender);

            while (queue.Count > 0)
            {
                newTracker.Track(queue.Dequeue());
            }
            tracker = newTracker;
        }
Esempio n. 3
0
        /// <summary>
        /// Track this activity in analytics.
        /// </summary>
        /// <param name="activity">Activity to track in analytics.</param>
        /// <param name="activityCustomVariables">Activity scoped custom variable slots to record for this activity.</param>
        public void Track(IUrchinActivity activity, CustomVariableSlots activityCustomVariables = null)
        {
            if (activity is AutoTimedEventActivity)
            {
                ((AutoTimedEventActivity)activity).End();
            }

            var entry = new UrchinActivityEntry
            {
                Activity        = activity,
                CustomVariables = GetFinalCustomVariables(activityCustomVariables)
            };

            if (tracker == null)
            {
                queue.Enqueue(entry);
            }
            else
            {
                tracker.Track(entry);
            }
        }