目前市面上大多数手游一般都会内嵌WebView用于显示社区、H5活动等页面。WebView技术对于大多数人来说并不陌生,但要做好WebView和游戏客户端的交互需求并不是一个简单的事,一不小心就可能踩坑。
Unity显示网页
Unity中显示网页的方案可以使用现成的插件,也可以自己实现。 自己实现需要分别在Android端和iOS端实现WebView功能,然后打包成插件放入Unity的Assets\Plugins
目录中,Unity端通过API调用插件代码即可使用WebView。以Android端为例,典型的插件方案实现流程:首先插件中自定义Dialog,在Dialog中定义好对外提供的接口(如:loadUrl等),导出jar/aar包放到Assets\Plugins\Android
目录,Unity端调用。常规的插件代码如下:
public class WebWiewDialog extends DialogFragment {
private WebView mWebView;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view=inflater.inflate(R.layout.layout_webview,false);
mWebView=view.findViewById(R.id.webview);
initWebSettings(mWebView);
return view;
}
//对外暴露的接口
public void loadUrl(String url){
if(mWebView!=null){
mWebView.loadUrl(url);
}
}
private void initWebSettings(WebView webView){
//配置项
WebSettings webSettings=webView.getSettings();
//5.0以上开启混合模式加载
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
webSettings.