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); }
private static string SdkErrorTypeToString(EGASdkErrorType value) { switch (value) { case EGASdkErrorType.Rejected: { return("rejected"); } default: { return(""); } } }
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); }
public SdkErrorTask(EGASdkErrorType type, byte[] payloadData, string secretKey) { this.type = type; this.payloadData = payloadData; this.hashHmac = GAUtilities.HmacWithKey(secretKey, payloadData); }