public static bool ValidateSdkErrorEvent(string gameKey, string gameSecret, EGASdkErrorType type)
        {
            if (!ValidateKeys(gameKey, gameSecret))
            {
                return(false);
            }

            if (type == EGASdkErrorType.Undefined)
            {
                GALogger.I("Validation fail - sdk error event - type: Type was unsupported value.");
                return(false);
            }
            return(true);
        }
示例#2
0
        private static string SdkErrorTypeToString(EGASdkErrorType value)
        {
            switch (value)
            {
            case EGASdkErrorType.Rejected:
            {
                return("rejected");
            }

            default:
            {
                return("");
            }
            }
        }
示例#3
0
        public void SendSdkErrorEvent(EGASdkErrorType type)
        {
            if (!GAState.IsEventSubmissionEnabled)
            {
                return;
            }

            string gameKey   = GAState.GameKey;
            string secretKey = GAState.GameSecret;

            // Validate
            if (!GAValidator.ValidateSdkErrorEvent(gameKey, secretKey, type))
            {
                return;
            }

            // Generate URL
            string url = baseUrl + "/" + gameKey + "/" + eventsUrlPath;

            GALogger.D("Sending 'events' URL: " + url);

            string payloadJSONString = "";

            JSONObject json = GAState.GetSdkErrorEventAnnotations();

            string typeString = SdkErrorTypeToString(type);

            json.Add("type", typeString);

            List <JSONNode> eventArray = new List <JSONNode>();

            eventArray.Add(json);
            payloadJSONString = GAUtilities.ArrayOfObjectsToJsonString(eventArray);

            if (string.IsNullOrEmpty(payloadJSONString))
            {
                GALogger.W("sendSdkErrorEvent: JSON encoding failed.");
                return;
            }

            GALogger.D("sendSdkErrorEvent json: " + payloadJSONString);
            byte[]       payloadData  = Encoding.UTF8.GetBytes(payloadJSONString);
            SdkErrorTask sdkErrorTask = new SdkErrorTask(type, payloadData, secretKey);

            sdkErrorTask.Execute(url);
        }
示例#4
0
 public SdkErrorTask(EGASdkErrorType type, byte[] payloadData, string secretKey)
 {
     this.type        = type;
     this.payloadData = payloadData;
     this.hashHmac    = GAUtilities.HmacWithKey(secretKey, payloadData);
 }