android - 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 中受到限制。
这可能是问题,因为游戏无法向服务器发出请求?
解决方案
我也有同样的问题。我使用下面的代码解决了问题
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>
推荐阅读
- c++ - 带有 Shell / CreateProcess() 的 C++ 自我更新程序
- c# - 如何在 C# 中将多态性与列表列表一起使用
- powershell - 按检查的顺序对列表视图检查的项目进行排序
- unit-testing - 在 Dart 中,如何验证单元测试中不抛出异常的 void 方法?
- python - Python用一个替换两个标题
- python - 在 Python 中,我应该并行运行多少个进程?
- javascript - ReactJS / Gatsby Js - 将子组件的值传递给父组件以获取按钮 onClick 链接
- rest - 将 PhoneNumber IdentityUser 覆盖为 ForeignKey .Net Core Web Api
- javascript - 道具值没有在vue中将更新的值从父组件发送到子组件
- javascript - 如何在 JS 中编码查询字符串并在 PHP 中解码?