public IEnumerator SendAnalyticsReport(GsdkAnalyticsEventType eventType, string data, string customEndPoint = null) { switch (eventType) { case GsdkAnalyticsEventType.LevelReport: BuildAnalyticsLevelReport(); SetHeaders(data.Length); LogRequest("AnalyticsLevelReport", data); break; case GsdkAnalyticsEventType.ReviveReport: BuildAnalyticsReviveReport(); SetHeaders(data.Length); LogRequest("AnalyticsReviveReport", data); break; case GsdkAnalyticsEventType.CinemaReport: BuildAnalyticsCinemaReport(); SetHeaders(data.Length); LogRequest("AnalyticsCinemaReport", data); break; case GsdkAnalyticsEventType.CustomReport: if (string.IsNullOrEmpty(customEndPoint)) { Debug.LogError("Custom end point missing for a custom analytics report"); yield break; } _requestUrl = String.Format("{0}{1}", _url, customEndPoint); SetHeaders(data.Length); LogRequest(string.Format("{0}(endPoint:{1})", "AnalyticsCustomReport", customEndPoint), data); break; default: break; } WWW wwwRequest = new WWW(_requestUrl, _encoding.GetBytes(data), _headers); yield return(wwwRequest); yield return(_coroutineFactory.StartCoroutine(() => EvaluateRequestStatus(wwwRequest))); }
private void LogGsdkEvent(GsdkAnalyticsEventType eventType, JsonData data, string customEndPoint = null) { routineRunner.StartCoroutine(_connectionHandler.SendAnalyticsReport(eventType, data.ToJson(), customEndPoint)); }