Вы создали свою форму, но никогда не отправляете ее на сервер!
Использовать UnityWebRequest.Post
private IEnumerator UpdateUser(int userId, int userCoin, int userDiamond)
{
WWWForm form = new WWWForm();
form.AddField("id", userId);
form.AddField("coin", userCoin);
form.AddField("diamond", userDiamond);
using (UnityWebRequest www = UnityWebRequest.Post(url, form))
{
yield return www.SendWebRequest();
if (www.isNetworkError || www.isHttpError)
{
Debug.LogErrorFormat(this, "Upload failed with: {0} - {1}", www.responseCode, www.error);
}
else
{
Debug.Log("Form upload complete!", this);
}
}
}
И вместо этого запустите как
private void Update()
{
if (Input.GetKeyDown(KeyCode.Space))
{
id = 1;
coin = 3;
diamond = 4;
StartCoroutine (UpdateUser(id, coin, diamond));
}
}
Обратите внимание, что использование WWWForm
также является устаревшим способом и все еще поддерживается только для того, чтобы разрешить переход с WWW
, который устарел.
Возможно, вы захотите использовать MultipartFormDataSection вместо этого, как показано здесь
Однако кажется, что в postman
вы фактически публикуете строку JSON, а не данные формы, и также используете строки в качестве значений вместо числовых. Так что, возможно, вам следует попробовать сделать это вместо
var json = "{\"id\":\"" + userId + "\",\"coin\":\"" + userCoin + "\",\"diamond\":\"" + userDiamond + "\"}";
UnityWebRequest www = UnityWebRequest.Post(url, json)
{
...
}
Sidenote: 192.168.10.89:8080
является адресом локальной сети и не маршрутизируется в Интернете. Поэтому он работает только в том случае, если устройство, на котором вы запускаете Unity, находится в той же локальной сети, что и ваш сервер, или хотя бы правильно маршрутизировано.