public static void TrackViewerLoaded(string userId, string sessionId = "")
        {
            var payload = new EventDataWithEmptyParams
            {
                eventName = "reflectViewerLoaded",
                userID    = userId,
                sessionID = sessionId,
                deviceUniqueIdentifier = SystemInfo.deviceUniqueIdentifier,
                cloudProvider          = LocaleUtils.GetProvider().ToString(),
                platform       = Application.platform.ToString(),
                viewerVersion  = Application.version,
                reflectVersion = Assembly.GetAssembly(typeof(UnityProject)).GetName().Version.ToString(),
            };

            SendEvent(payload);
        }
        public void TrackEvent(string userId, string eventName, string sessionId = "")
        {
            var payload = new EventData <EventParam>
            {
                eventName   = eventName,
                userID      = userId,
                sessionID   = sessionId,
                eventParams = new EventParam
                {
                    deviceUniqueIdentifier = SystemInfo.deviceUniqueIdentifier,
                    cloudProvider          = LocaleUtils.GetProvider().ToString(),
                    platform       = Application.platform.ToString(),
                    viewerVersion  = Application.version,
                    reflectVersion = Assembly.GetAssembly(typeof(UnityProject)).GetName().Version.ToString()
                }
            };

            SendEvent(payload);
        }
        public void TrackUserLicence(string userId, bool isFloating, string licenceType, string sessionId = "")
        {
            var payload = new EventData <EventLicence>()
            {
                eventName   = "reflectUserLicenceUsed",
                userID      = userId,
                sessionID   = sessionId,
                eventParams = new EventLicence()
                {
                    isFloating             = isFloating,
                    licenceType            = licenceType,
                    deviceUniqueIdentifier = SystemInfo.deviceUniqueIdentifier,
                    cloudProvider          = LocaleUtils.GetProvider().ToString(),
                    platform       = Application.platform.ToString(),
                    viewerVersion  = Application.version,
                    reflectVersion = Assembly.GetAssembly(typeof(UnityProject)).GetName().Version.ToString(),
                }
            };

            SendEvent(payload);
        }
        public void Awake()
        {
            m_exceptionExtraInfo.deviceUniqueIdentifier = SystemInfo.deviceUniqueIdentifier;
            m_exceptionExtraInfo.cloudProvider          = LocaleUtils.GetProvider().ToString();
            m_exceptionExtraInfo.platform       = Application.platform.ToString();
            m_exceptionExtraInfo.viewerVersion  = Application.version;
            m_exceptionExtraInfo.reflectVersion = Assembly.GetAssembly(typeof(UnityProject)).GetName().Version.ToString();
            if (string.IsNullOrEmpty(m_exceptionExtraInfo.EnvTrace))
            {
                m_exceptionExtraInfo.userId = unsetConstant;
            }
            if (string.IsNullOrEmpty(m_exceptionExtraInfo.EnvTrace))
            {
                m_exceptionExtraInfo.reflectUpid = unsetConstant;
            }
            if (string.IsNullOrEmpty(m_exceptionExtraInfo.EnvTrace))
            {
                m_exceptionExtraInfo.EnvTrace = unsetConstant;
            }
            onExceptionExtraInfoChanged?.Invoke(JsonUtility.ToJson(m_exceptionExtraInfo));

            UIStateManager.projectStateChanged += CheckActiveProject;
        }
        public void Awake()
        {
            m_exceptionExtraInfo.deviceUniqueIdentifier = SystemInfo.deviceUniqueIdentifier;
            m_exceptionExtraInfo.cloudProvider          = LocaleUtils.GetProvider().ToString();
            m_exceptionExtraInfo.platform       = Application.platform.ToString();
            m_exceptionExtraInfo.viewerVersion  = Application.version;
            m_exceptionExtraInfo.reflectVersion = Assembly.GetAssembly(typeof(UnityProject)).GetName().Version.ToString();
            if (string.IsNullOrEmpty(m_exceptionExtraInfo.EnvTrace))
            {
                m_exceptionExtraInfo.userId = unsetConstant;
            }
            if (string.IsNullOrEmpty(m_exceptionExtraInfo.EnvTrace))
            {
                m_exceptionExtraInfo.reflectUpid = unsetConstant;
            }
            if (string.IsNullOrEmpty(m_exceptionExtraInfo.EnvTrace))
            {
                m_exceptionExtraInfo.EnvTrace = unsetConstant;
            }
            onExceptionExtraInfoChanged?.Invoke(JsonUtility.ToJson(m_exceptionExtraInfo));

            m_ActiveProjectSelector = UISelectorFactory.createSelector <Project>(ProjectManagementContext <Project> .current, nameof(IProjectDataProvider <Project> .activeProject), OnActiveProjectChanged);
        }