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);
        }