public static void AddErrorEvent(EGAErrorSeverity severity, string message)
        {
            string severityString = ErrorSeverityToString(severity);

            // Validate
            if (!GAValidator.ValidateErrorEvent(severity, message))
            {
                GAHTTPApi.Instance.SendSdkErrorEvent(EGASdkErrorType.Rejected);
                return;
            }

            // Create empty eventData
            JSONClass eventData = new JSONClass();

            // Append event specifics
            eventData["category"] = CategoryError;
            eventData["severity"] = severityString;
            eventData["message"]  = message;

            // Log
            GALogger.I("Add ERROR event: {severity:" + severityString + ", message:" + message + "}");

            // Send to store
            AddEventToStore(eventData);
        }
        private static string ErrorSeverityToString(EGAErrorSeverity value)
        {
            switch (value)
            {
            case EGAErrorSeverity.Debug:
            {
                return("debug");
            }

            case EGAErrorSeverity.Info:
            {
                return("info");
            }

            case EGAErrorSeverity.Warning:
            {
                return("warning");
            }

            case EGAErrorSeverity.Error:
            {
                return("error");
            }

            case EGAErrorSeverity.Critical:
            {
                return("critical");
            }

            default:
            {
                return("");
            }
            }
        }
        public static void AddErrorEvent(EGAErrorSeverity severity, string message, IDictionary <string, object> fields)
        {
            string severityString = ErrorSeverityToString(severity);

            // Validate
            if (!GAValidator.ValidateErrorEvent(severity, message))
            {
                //GAHTTPApi.Instance.SendSdkErrorEvent(EGASdkErrorType.Rejected);
                return;
            }

            // Create empty eventData
            JSONObject eventData = new JSONObject();

            // Append event specifics
            eventData["category"] = CategoryError;
            eventData["severity"] = severityString;
            eventData["message"]  = message;

            // Add custom dimensions
            AddDimensionsToEvent(eventData);

            // Add custom fields
            AddFieldsToEvent(eventData, GAState.ValidateAndCleanCustomFields(fields));

            // Log
            GALogger.I("Add ERROR event: {severity:" + severityString + ", message:" + message + "}");

            // Send to store
            AddEventToStore(eventData);
        }
Exemple #4
0
 public static void LogEvent(string InMessage, EGAErrorSeverity InLogLevel)
 {
     if (mainWindow != null)
     {
         GameAnalytics.AddErrorEvent(InLogLevel, InMessage);
         mainWindow.AddLogEntry($"UE4 Binary Builder Analytics (Log): {InMessage}");
     }
 }
Exemple #5
0
        public static void AddErrorEvent(EGAErrorSeverity severity, string message)
        {
            GADevice.UpdateConnectionType();

            GAThreading.PerformTaskOnGAThread("addErrorEvent", () =>
            {
                if (!IsSdkReady(true, true, "Could not add error event"))
                {
                    return;
                }
                GAEvents.AddErrorEvent(severity, message);
            });
        }
Exemple #6
0
        public static void AddErrorEvent(EGAErrorSeverity severity, string message, IDictionary <string, object> fields, bool mergeFields, bool skipAddingFields)
        {
            if (!GAState.IsEventSubmissionEnabled)
            {
                return;
            }

            string severityString = ErrorSeverityToString(severity);

            // Validate
            if (!GAValidator.ValidateErrorEvent(severity, message))
            {
                //GAHTTPApi.Instance.SendSdkErrorEvent(EGASdkErrorType.Rejected);
                return;
            }

            // Create empty eventData
            JSONObject eventData = new JSONObject();

            // Append event specifics
            eventData["category"] = CategoryError;
            eventData["severity"] = severityString;
            eventData["message"]  = message;

            // Add custom dimensions
            AddDimensionsToEvent(eventData);

            if (!skipAddingFields)
            {
                IDictionary <string, object> fieldsToUse = new Dictionary <string, object>(fields != null && fields.Count > 0 ? fields : GAState.CurrentGlobalCustomEventFields);

                if (mergeFields && fields != null && fields.Count > 0)
                {
                    foreach (KeyValuePair <string, object> pair in GAState.CurrentGlobalCustomEventFields)
                    {
                        if (!fieldsToUse.ContainsKey(pair.Key))
                        {
                            fieldsToUse.Add(pair.Key, pair.Value);
                        }
                    }
                }
                // Add custom fields
                AddFieldsToEvent(eventData, GAState.ValidateAndCleanCustomFields(fieldsToUse));
            }

            // Log
            GALogger.I("Add ERROR event: {severity:" + severityString + ", message:" + message + "}");

            // Send to store
            AddEventToStore(eventData);
        }
        /// <summary>
        /// Adds an error event to GameAnalytics if an event with the same identifier has not been added yet.
        /// </summary>
        public static void AddErrorEventOnce(string identifier, EGAErrorSeverity errorSeverity, string message)
        {
            if (!GameSettings.SendUserStatistics)
            {
                return;
            }
            if (sentEventIdentifiers.Contains(identifier))
            {
                return;
            }

            GameAnalytics.AddErrorEvent(errorSeverity, message);
            sentEventIdentifiers.Add(identifier);
        }
 public static bool ValidateErrorEvent(EGAErrorSeverity severity, string message)
 {
     if (severity == EGAErrorSeverity.Undefined)
     {
         GALogger.I("Validation fail - error event - severity: Severity was unsupported value.");
         return(false);
     }
     if (!ValidateLongString(message, true))
     {
         GALogger.I("Validation fail - error event - message: Message cannot be above 8192 characters.");
         return(false);
     }
     return(true);
 }
Exemple #9
0
        public static void AddErrorEvent(EGAErrorSeverity severity, string message /*, IDictionary<string, object> fields = null*/)
        {
            if (_endThread)
            {
                return;
            }

            GADevice.UpdateConnectionType();

            GAThreading.PerformTaskOnGAThread("addErrorEvent", () =>
            {
                if (!IsSdkReady(true, true, "Could not add error event"))
                {
                    return;
                }
                GAEvents.AddErrorEvent(severity, message, null);
            });
        }
Exemple #10
0
        /// <summary>
        /// Adds an error event to GameAnalytics if an event with the same identifier has not been added yet.
        /// </summary>
        public static void AddErrorEventOnce(string identifier, EGAErrorSeverity errorSeverity, string message)
        {
            if (!GameSettings.SendUserStatistics)
            {
                return;
            }
            if (sentEventIdentifiers.Contains(identifier))
            {
                return;
            }

            if (GameMain.SelectedPackages != null)
            {
                if (GameMain.VanillaContent == null || GameMain.SelectedPackages.Any(p => p.HasMultiplayerIncompatibleContent && p != GameMain.VanillaContent))
                {
                    message = "[MODDED] " + message;
                }
            }

            GameAnalytics.AddErrorEvent(errorSeverity, message);
            sentEventIdentifiers.Add(identifier);
        }
Exemple #11
0
 public static void AddErrorEvent(EGAErrorSeverity severity, string message, IDictionary <string, object> fields, bool mergeFields)
 {
     AddErrorEvent(severity, message, fields, mergeFields, false);
 }