Unity如何与Webview进行交互

本文介绍了Unity如何与WebView进行交互,包括Unity显示网页的方法,以及Unity与Android/iOS原生代码、原生代码与H5的交互实现。在Android端,通过反射调用API,iOS端直接导入方法调用。在原生代码与H5交互中,讨论了不同调用方式的优缺点,如Android的和方法,iOS的WKWebView与UIWebView的使用。
摘要由CSDN通过智能技术生成

目前市面上大多数手游一般都会内嵌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.
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值