白云追月素 发表于 2020-12-24 09:04

Unity内部打开Web网页——插件《UniWebView》的使用

前言:

因为项目上的需求,要在应用内打开指定的网络地址。uniwebview插件可以在unity内部打开网页,不过这个插件只能在安卓和IOS以及mac上运行,unity的editor下是运行不起来的,如果系统不是mac的话需要打出包以后才能看实际效果。
使用方法很简单,源码附上
public void Awake()
    {
      ShowWeb(url);
    }


    public void ShowWeb(string url)
    {
      CreateWebView();//创建webview
      curWebView.url = url;
      curWebView.Show();//先打开网页窗口再加载
      curWebView.Load();
    }


    void CreateWebView()
    {
      //Debug.Log ("CreateWebView");
      curWebView = GetComponent<UniWebView>();
      if (curWebView == null)
      {
            //因uniwebview每次关闭都会自动销毁,所以每次都得新建
            curWebView = gameObject.AddComponent<UniWebView>();
      }
      //curWebView.OnLoadComplete += OnLoadComplete;//加载完成回调
      curWebView.OnWebViewShouldClose += CloseWebView;
      curWebView.InsetsForScreenOreitation += InsetsForScreenOreitation;
      curWebView.toolBarShow = false;
      curWebView.CleanCache();//清除缓存
      curWebView.CleanCookie();//清除Cookie
    }
    void OnLoadComplete(UniWebView webView, bool success, string errorMessage)
    {
      Debug.Log("OnLoadComplete");
      if (success)
      {
            webView.Show();
      }
      else
      {
            Debug.Log("Something wrong in webview loading: " + errorMessage);
      }
    }
   

    UniWebViewEdgeInsets InsetsForScreenOreitation(UniWebView webView, UniWebViewOrientation orientation)
    {

      if (orientation == UniWebViewOrientation.Portrait)
      {
            return new UniWebViewEdgeInsets(5, 5, 5, 5);
      }
      else
      {
            return new UniWebViewEdgeInsets(5, 5, 5, 5);
      }
    }



    private bool CloseWebView(UniWebView webView)
    {
      webView.Hide();
      return true;
    }
页: [1]
查看完整版本: Unity内部打开Web网页——插件《UniWebView》的使用