Embedded Browser(ZFBrowser)使用相关问题
首先安利一波Embedded Browser,这是一款Unity内置网页浏览器插件,相信很多朋友都用过,有需要的朋友多多支持正版,附上AssetStore地址:
https://assetstore.unity.com/packages/tools/gui/embedded-browser-55459
我在使用这款插件时出现并解决了以下问题,以供大家参考。
1、"您的连接不是私密连接"
利用该插件访问具有独立证书的https://**网址时,会出现"ERR_CERT_AUTHORITY_INVALID"错误,具体如下图所示:
这个问题的产生具体可以去查一下HTTP和HTTPS协议的发展和区别,简单来讲就是客户端请求后,服务器会返回一个数字证书,这里会有两种情况:如果数字证书是网络上受信任的证书颁发机构(CA)颁发的证书,即大家伙都知道,那么就可以直接正常访问;如果数字证书是服务端自己制作的,对于客户端来讲该证书的制作来源不可知,此时就需要我们客户端自己验证通过,才能继续访问。
当然我们大家应该都有遇到过这个情况,例如你在Chrome上浏览某个一个网站,有时会出现以下弹窗:
这个时候我们如果想继续访问,可以点击该页面下面的“高级|继续xx.com(不安全)”,即可继续访问该网站。当然也可以在这个页面直接输入“thisisunsafe”命令(直接在页面上输入,不是在地址栏输入),也可以继续访问该网站。当然这个操作就是我们信任了这个网站的证书,其实是有一定风险的。
OK,话又说回来,在ZFBrowser里出现"ERR_CERT_AUTHORITY_INVALID"错误也就不奇怪了。可是在插件中又如何去继续访问呢?有幸与作者进行邮件联系,询问了这个问题,并得到了解答,下面将方法分享给大家:
在插件的BrowserNative.cs脚本中,找到commandLineSwitches变量,加入"--ignore-certificate-errors"字段即可随时信任私有证书.
注意:其实并不建议在发布的程序中添加这一项,因为这样发布后,程序就会对所有的私有证书都进行了忽略并信任,因此会造成https不安全。作者同时也是这么建议我的。
2、允许音频流
还有一个需求是在网页上要进行录音对讲,那么如何在ZFBrowser上允许音频流的传输呢?其实答案也在上面那个配置上,只需要开启以下两个配置项:
- "--enable-media-stream":允许收集用户的摄像头视频流与mic的音频流。
- "--autoplay-policy=no-user-gesture-required":允许所有网页山搞的视频流自动播放声音。
这样就解决了Unity利用ZFBrowser在网页上对讲通话的问题。
3、Linux上运行失败
ZFBrowser 3.1.0也可以在Linux上发布运行,虽然是测试版,但是目前测试也问题不大。需要注意的是有可能发布运行后运行失败,原因可能是GLIBCXX的版本过低。
在Linux系统中,通过以下命令查看GLIBCXX版本:strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
若出现GLIBCXX_3.4.24及以上版本,则环境支持运行ZFBrwoser,如下图:
若不支持,则需要安装gcc-84.tar.gz来解决。
以上就是我给大家分享的关于ZFBrowser插件的使用技巧。
写文不易~因此做以下申明:
1.博客中标注原创的文章,版权归原作者 煦阳(本博博主) 所有;
2.未经原作者允许不得转载本文内容,否则将视为侵权;
3.转载或者引用本文内容请注明来源及原作者;
4.对于不遵守此声明或者其他违法使用本文内容者,本人依法保留追究权等。