Android 9.0版本Unity游戏网络问题

Kir*_*ito 3 android unity-game-engine android-9.0-pie

我使用 Unity 为 Android 版本 >= 6.0 制作了一个游戏。该游戏在 9.0 以下的版本中运行良好,但我在 Android 9.0 中使用 Unity 游戏时遇到问题。

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

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

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

查看 Google Console,我有 3 个警告:

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

Google Play 管理中心警告

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

Chi*_*ani 6

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

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

网络安全配置.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>
Run Code Online (Sandbox Code Playgroud)

并在AndroidManifest.xml文件中

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

</application>
Run Code Online (Sandbox Code Playgroud)

  • 值得澄清的是,在 Unity 中,“xml 资源文件夹”是 Assets/Plugins/Android/res/xml,因此如果它不存在,请创建它,这就是 network_security_config.xml 文件所在的位置 (5认同)