Android WebView 中的 WebGL
WebGL in Android WebView
我知道以前有人问过这个问题,但这些问题现在已经很老了。
我有一个 "game" 是我前段时间用 WebGL 开发的,我想用一个简单的 WebView 把它带到 Android。
现在的问题是,它不会真正响应 WebView 中的用户输入(Chrome 工作得很好。Android 7.1.1)。我想那是因为 WebGL。
所以现在,由于 crosswalk-project 已经结束了一段时间,我正在我的应用程序中寻找 运行 WebGL 的替代方案。或者只是 运行 我的 "game" 在 Android 应用程序中
你知道我如何让它发挥作用吗?
从 5.0 Android 附带 Android System WebView which is being updated and we might call it the Native WebView
. WebGL should work there although some of WebGL extensions and WebGL 2 (stats) 可能不会。
让您的游戏作为应用程序工作的关键如下。
首先,您必须确定您的游戏(以及您使用的游戏引擎)需要哪些 WebGL 版本、WebGL 扩展、WebGL 或着色器功能以及其他 HTML5 功能。
那么你必须找到一个支持该功能的 WebView。您只需在 Android 设备上使用您想要的 WebView 打开网页 https://html5test.com/ and http://webglreport.com/ 即可。 重要! 例如,如果您打开安装了 Chrome 浏览器的网页,则不能保证使用本机 WebView!所以最好编写一个小的自定义应用程序,以确保您正在测试要用于游戏的 WebView。
最后,您可能会使用自定义 WebView 在应用程序中编译您的游戏,这将为您的游戏增加额外的大小。
其他有用信息
- Android 版本 < 5.0 有一个不附带更新的本机 WebView,因此它不支持 WebGL,这不会改变。但是 Chrome 浏览器(或其他已安装的浏览器)很可能在那里支持 WebGL,因为它带有自定义 WebView。
- 三星真的搞砸了。我的意思是,他们正在自定义 Android OS 很多,包括 WebViews 的一些黑魔法 => 本机 WebView 在那里无法正常工作,因此必须在您的应用程序中自定义 WebView。
- 我们 (GAMEE) 正在使用三星的原生 WebView 和 XWalkView,Android < 5.0 和 WebGL 游戏现在运行良好。
我知道以前有人问过这个问题,但这些问题现在已经很老了。 我有一个 "game" 是我前段时间用 WebGL 开发的,我想用一个简单的 WebView 把它带到 Android。 现在的问题是,它不会真正响应 WebView 中的用户输入(Chrome 工作得很好。Android 7.1.1)。我想那是因为 WebGL。
所以现在,由于 crosswalk-project 已经结束了一段时间,我正在我的应用程序中寻找 运行 WebGL 的替代方案。或者只是 运行 我的 "game" 在 Android 应用程序中
你知道我如何让它发挥作用吗?
从 5.0 Android 附带 Android System WebView which is being updated and we might call it the Native WebView
. WebGL should work there although some of WebGL extensions and WebGL 2 (stats) 可能不会。
让您的游戏作为应用程序工作的关键如下。
首先,您必须确定您的游戏(以及您使用的游戏引擎)需要哪些 WebGL 版本、WebGL 扩展、WebGL 或着色器功能以及其他 HTML5 功能。
那么你必须找到一个支持该功能的 WebView。您只需在 Android 设备上使用您想要的 WebView 打开网页 https://html5test.com/ and http://webglreport.com/ 即可。 重要! 例如,如果您打开安装了 Chrome 浏览器的网页,则不能保证使用本机 WebView!所以最好编写一个小的自定义应用程序,以确保您正在测试要用于游戏的 WebView。
最后,您可能会使用自定义 WebView 在应用程序中编译您的游戏,这将为您的游戏增加额外的大小。
其他有用信息
- Android 版本 < 5.0 有一个不附带更新的本机 WebView,因此它不支持 WebGL,这不会改变。但是 Chrome 浏览器(或其他已安装的浏览器)很可能在那里支持 WebGL,因为它带有自定义 WebView。
- 三星真的搞砸了。我的意思是,他们正在自定义 Android OS 很多,包括 WebViews 的一些黑魔法 => 本机 WebView 在那里无法正常工作,因此必须在您的应用程序中自定义 WebView。
- 我们 (GAMEE) 正在使用三星的原生 WebView 和 XWalkView,Android < 5.0 和 WebGL 游戏现在运行良好。