首页 > 解决方案 > Android 9.0版本Unity游戏网络问题

问题描述

我使用 Unity for Android 版本 >= 6.0 制作了一个游戏。该游戏在 < 9.0 的版本中运行良好,但我的 Unity 游戏在 Android 9.0 中出现问题。

我解释会发生什么:当游戏第一次开始时,玩家必须登录或注册游戏(连接服务器中的数据库)。但是在 9.0 中,当您运行游戏并选择这两个选项之一并触摸按钮登录/登录时,会出现一条消息(我通知用户由于网络问题游戏无法连接到服务器)。

问题的原因可能是什么?也许是因为 Android 9.0 中的网络权限?

Pd:我正在使用 http 连接到服务器。

看着谷歌控制台,我有 3 个警告:

以下 API 位于灰名单中,Google 无法保证它们可以在可用的 Android 版本上运行。其中一些可能在您的目标 SDK 中受到限制。

Google Play 控制台警告

这可能是问题,因为游戏无法向服务器发出请求?

标签: androidunity3dandroid-9.0-pie

解决方案


我也有同样的问题。我使用下面的代码解决了问题

network_security_config.xml在 xml 资源目录下创建新文件。

network_security_config.xml

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true">
        <trust-anchors>
            <certificates src="system" />
        </trust-anchors>
    </base-config>
</network-security-config>

并在AndroidManifest.xml文件中

<application
..............
android:networkSecurityConfig="@xml/network_security_config"
....... />

</application>

推荐阅读