Exemple #1
0
        internal static void SetTrackingTo(AnalyticsState state)
        {
            // No tracking for CI
            if (Application.isBatchMode)
            {
                return;
            }

            AnalyticsState currentState = GetTrackingState();

            if (state == AnalyticsState.Enabled && currentState != AnalyticsState.Enabled)
            {
                string id = EditorPrefs.GetString(BaseAnalyticsTracker.KeySessionId, null);
                if (string.IsNullOrEmpty(id))
                {
                    // Create new session id, which allows better tracking
                    EditorPrefs.SetString(BaseAnalyticsTracker.KeySessionId, Guid.NewGuid().ToString());
                }
            }

            if (currentState != state)
            {
                SendTrackingEvent(state);
                EditorPrefExtensions.SetEnum(KeyTrackingState, state);
            }
        }
Exemple #2
0
 private static void SendTrackingEvent(AnalyticsState state)
 {
     CreateTracker().Send(new AnalyticsEvent()
     {
         Action   = "creator",
         Category = "tracking",
         Label    = state.ToString().ToLower()
     });
 }
Exemple #3
0
        static AnalyticsSetup()
        {
            AnalyticsState trackingState = AnalyticsUtils.GetTrackingState();

            if (trackingState == AnalyticsState.Disabled)
            {
                return;
            }
            // Can be used by ci to deactivate tracking.
            if (Environment.GetCommandLineArgs().Contains("-no-tracking"))
            {
                AnalyticsUtils.SetTrackingTo(AnalyticsState.Disabled);
                return;
            }

            if (trackingState == AnalyticsState.Unknown)
            {
                SetupTrackingPopup.Open();
                AnalyticsUtils.SetTrackingTo(AnalyticsState.Enabled);
                return;
            }

            // Only run once a day.
            if (DateTime.Today.Ticks.ToString().Equals(EditorPrefs.GetString(KeyLastDayActive, null)) == false)
            {
                EditorPrefs.SetString(KeyLastDayActive, DateTime.Today.Ticks.ToString());
                IAnalyticsTracker tracker = AnalyticsUtils.CreateTracker();

                tracker.SendSessionStart();
                // Send the Unity Editor version.
                tracker.Send(new AnalyticsEvent()
                {
                    Category = "unity", Action = "version", Label = Application.unityVersion
                });
                // Send the Creator Core version.
                tracker.Send(new AnalyticsEvent()
                {
                    Category = "creator", Action = "version", Label = EditorUtils.GetCoreVersion()
                });
                // Send the Creator license type.
#if CREATOR_PRO
                tracker.Send(new AnalyticsEvent()
                {
                    Category = "creator", Action = "license", Label = UserAccount.IsCustomer() ? "customer" : "trial"
                });
#else
                tracker.Send(new AnalyticsEvent()
                {
                    Category = "creator", Action = "license", Label = "free"
                });
#endif
            }
        }
 public ExtendedControl(AnalyticsEngineControl cntrl, AnalyticsState state)
 {
     this.cntrl = cntrl;
     this.state = state;
 }