Почему моя игра на базе Unity не может получить доступ к API в одной версии для Android, но не в другой версии для Android? - PullRequest
1 голос
/ 21 марта 2019

У меня проблема с API, который построен с помощью laravel.Ниже приводится ответ от сервера laravel:

{
    "status": "success",
    "message": "Successfully logged in",
    "data": {
        "access_token": "eyJ0eXAiOiJKV1Qi...",
        "token_type": "Bearer",
        "expires_at": "2020-03-21 14:22:54"
    }
}

Я обращаюсь к API в приведенном ниже сценарии в Unity, используя C #, который работает на Android 8.1 Oreo, но не работает на Android 9.0 Pie.

IEnumerator LogInResponseCheck()
{
    if (loginEmailText.text == "")
        wrongSignInResponseText.text = "Enter your Email Adress!";
    else if (loginPassword.text == "")
        wrongSignInResponseText.text = "Enter your Password!";
    else
    {
        LogInSystem logInSystem = new LogInSystem()
        {
            email = loginEmailText.text,
            password = loginPassword.text,
            remeber_me = true
        };

        var signinInfo = new UnityWebRequest(signInURL, "POST");
        string jsonString = JsonUtility.ToJson(logInSystem);
        byte[] jsonToSend = new System.Text.UTF8Encoding().GetBytes(jsonString);

        signinInfo.uploadHandler = (UploadHandler)new UploadHandlerRaw(jsonToSend);
        signinInfo.downloadHandler = (DownloadHandler)new DownloadHandlerBuffer();
        signinInfo.SetRequestHeader("Content-Type", "application/json");
        signinInfo.SetRequestHeader("X-Requested-With", "XMLHttpRequest");

        //Send the request then wait here until it returns
        yield return signinInfo.SendWebRequest();

        loginTestText.text = "Log in Response " + signinInfo.downloadHandler.text;
        if (signinInfo.isNetworkError)
        {
            Debug.Log("Error While Sending: " + signinInfo.error);
        }
        else
        {
            LogInSuccessParametes response = JsonUtility.FromJson<LogInSuccessParametes>(signinInfo.downloadHandler.text);
            {
                Debug.Log(signinInfo.downloadHandler.text);
                Debug.Log("Response               " + response);
                Debug.Log("status               " + response.status);
                Debug.Log("response             " + response.message);
                Debug.Log("data                 " + response.data);
                Debug.Log("token Type" + response.data.token_type);
                Debug.Log("access Token" + response.data.access_token);
            }

            WWWForm tokenForm = new WWWForm();
            sessionToken = "Bearer " + response.data.access_token;
            tokenForm.AddField("Authorization", sessionToken);
            PlayerPrefs.SetString("sessionToken", sessionToken);
            WWW  www = new WWW(signInURL, tokenForm);

            if (response.status == "success")
            {
                StartCoroutine(TokenAccesss(www));
                wrongSignInResponseText.text = "";
            }
            else
            {
                wrongSignInResponseText.text = "Email or password is incorrect!";
                aPILoadingPanel.SetActive(false);
            }
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...