Exemple #1
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
            }
        }
        static VersionCheckerEvent()
        {
            if (Application.isBatchMode)
            {
                return;
            }

            CreatorProjectSettings settings = CreatorProjectSettings.Load();

            if (settings == null || string.IsNullOrEmpty(settings.ProjectCreatorVersion))
            {
                return;
            }

            if (settings.ProjectCreatorVersion == unknownVersionString || EditorUtils.GetCoreVersion() == unknownVersionString)
            {
                return;
            }

            if (settings.ProjectCreatorVersion != EditorUtils.GetCoreVersion())
            {
                IAnalyticsTracker tracker = AnalyticsUtils.CreateTracker();
                tracker.Send(new AnalyticsEvent()
                {
                    Category = "creator", Action = "updated", Label = EditorUtils.GetCoreVersion()
                });
                settings.ProjectCreatorVersion = EditorUtils.GetCoreVersion();
                settings.Save();
            }
        }