private IEnumerator UploadFile(FileInfo file) { WWWForm form = new WWWForm(); form.AddField("uploadType", "media"); form.AddField("name", SystemInfoUtil.PackageName() + "/" + SystemInfoUtil.DeviceID() + "/" + file.Name); bool delete = false; using (UnityWebRequest request = new UnityWebRequest(uploadUrl + "?" + Encoding.UTF8.GetString(form.data))) { request.method = UnityWebRequest.kHttpVerbPOST; request.SetRequestHeader("Content-Type", "application/json"); // set uploadHandler UploadHandlerFile uploadHandler = new UploadHandlerFile(file.FullName); request.uploadHandler = uploadHandler; yield return(request.SendWebRequest()); if (request.isHttpError) { LogEvent(EventType.Error, new Dictionary <string, object> { { "msg", "Http error uploading analytics file: " + request.responseCode } }); } else if (request.isNetworkError) { continueUpload = false; LogEvent(EventType.Error, new Dictionary <string, object> { { "msg", "Network error uploading analytics file!" } }); } else { delete = true; LogEvent("Analytics", new Dictionary <string, object> { { "msg", "Uploaded file: " + file.Name } }); } } // wait 1 frame for request to have been cleaned up and released the file yield return(null); if (delete) { try { file.Delete(); } catch (Exception e) { LogEvent(EventType.Error, new Dictionary <string, object> { { "msg", "Deleting analytics file: " + file.Name + " failed: " + e.Message } }); } } }
private string AndroidLogFilePath() { string path = Path.Combine(SystemInfoUtil.StoragePath(), Path.Combine("SyncVR", Path.Combine("Logs", SystemInfoUtil.PackageName())));; ExistOrCreateDirectory(path); return(path); }