在Android 9(Pie)Unity3d上无法完成www请求

时间:2019-06-26 10:47:54

标签: c# android unity3d

我有一个简单的脚本,可以在游戏中创建一个www请求,以检查该apk在哪个国家/地区运行。在android 9 OS设备之前运行正常,但在android 9 OS设备上失败。我的www.error提供了一个未知的错误字符串。

using UnityEngine;
using System.Collections;
using UnityEngine.Networking;
public class GeoData : MonoBehaviour
{   
    private void Start()
    {
        StartCoroutine(GetText());
    }

    IEnumerator GetText()
    {
        UnityWebRequest www = UnityWebRequest.Get("http://ip-api.com/json");// I also changed www string but all in vein
        yield return www.SendWebRequest();

        if (www.isNetworkError || www.isHttpError)
        {
           //above Android 8 os devices, its comes here and debug  "Unknow error"
            Debug.Log("Done with Error: " + www.error);
        }
        else
        {
            Debug.Log("Final data is ="+ www.text);
            string stringToSplit = www.text;
            char[] splitters = { ',', ':', '"' };
            string[] splittedString = stringToSplit.Split(splitters, System.StringSplitOptions.RemoveEmptyEntries);
            foreach (var item in splittedString)
            {
                Debug.Log(item); // Country is at 6th index
            }
        }
    }
}

1 个答案:

答案 0 :(得分:0)

好吧,我知道了问题所在。 非安全网址,现在在Android 9 Pie中已禁止使用。 你不能要求。 因此网址必须确保像这样(https)