一、介绍
UniWebView是iOS/Android上的web视图组件的包装器,所以运行时拥有与原生web相似性能。是针对Unity所写的插件,节省了项目的开发时间。
官网地址:UniWebView
二、下载&使用
1、下载
(1)、Unity Asset Store
Window→Asset Store 搜索UniWebView 3 | UniWebView 4 | UniWebView 5
(2)、UniWebView Store
UniWebView商店
(3)、CSDN资源
UniWebView 3.12.1:https://download.csdn.net/download/nmg10/88565544
UniWebView 4.11.1:https://download.csdn.net/download/nmg10/88565541
UniWebView 5.3.0:https://download.csdn.net/download/nmg10/88565538
2、使用
(1)、下载下来是一个.unitypackage的包,直接导入即可。
(2)、主要关注UniWebView.cs和UniWebViewMessage.cs两个类。
UniWebView是你调用的接口,如:打开Load就是打开一个Url地址。
UniWebViewMessage可以处理网页交互,这个需要特殊需求可以自己定制。
注意:如果有修改,一定要继承再写自己的定制代码
(3)、API参考:
UniWebView 3 | UniWebView 4 | UniWebView 5
三、版本 3/4/5 的对比
1、关于3、4、5版本的共同点和差异部分:
UniWebView3 | UniWebView4 | UniWebView5 | |
Unity版本 | 5.6.3及以上 | 2018.3及以上 | 2020.3及以上 |
iOS版本 | iOS9及以上 | iOS9及以上 | iOS9及以上 |
Android版本 | Android5.0及以上 | Android5.0及以上 | Android5.0及以上 |
WebView | iOS UIWebView Android WebView | iOS WKWebView Android WebView | iOS WKWebView Android WebView |
关于UniWebView3的iOS使用的是UIWebView还是WKWebView
我比较迷惑,因为官方更新日志写的是使用的WKWebView,但是我使用命令
grep -r UIWebView .
查看得到的是存在UIWebView,因为我的iOS包是第三方加签,对方给我说我里面存在UIWebView的引用,无法签名【UIWebView | 废弃】。没有办法我又去升级UniWebView到4.11.1,这才解决这个问题,所以对于遇到同样问题的伙伴可以升级试试。
2、 关于我从UniWebView3升级到UniWebView4的经历
由于上面的原因,我升级了UniWebView到4.11.1,但是我遇到一个蛋疼的问题,因为UniWebView3的时候事件监听是写在UniWenView.cs里面的,而当我在4版本同样操作时,结果没法引用【我必须要先using LuaInterface; 因为要使用LuaFunction】。发现是因为在工程的Library\ScriptAssemblies 下增加了dll文件,导致的编译顺序问题,没办法我只有继承UniWebView类,这才得以实现。这提醒我们在使用别人提供的插件时应当保持继承写法,这样不至于在升级时覆盖修改的脚本。
四、UniWebView3、4、5版本的导入图对比
五、关于UniWebView版本更新日志