[Unity] UniWebView的使用
生活随笔
收集整理的這篇文章主要介紹了
[Unity] UniWebView的使用
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文章目錄
- 一、介紹
- 二、使用
- 三、坑
一、介紹
需要直接在游戲內(nèi)展示一個(gè)webview視窗
UniWebView 是一個(gè) Unity 3D 插件,用于將 Web 視圖組件添加到 iOS 和 Android 上的 Unity 3D 手機(jī)游戲。它在 C# 中提供了一組抽象、跨平臺(tái)和高級(jí) API。使用 UniWebView,您可以在不了解原生開(kāi)發(fā)的情況下將一些行為(例如瀏覽器)放入您的游戲中。
當(dāng)您需要顯示公告或通知、為玩家排名添加排行榜或向您的用戶顯示任何交互式網(wǎng)頁(yè)時(shí),它會(huì)極大地促進(jìn)您的開(kāi)發(fā)過(guò)程。
官網(wǎng)地址
UniWebView 4.7
提取碼:2jhf
UniWebView 3.0+
提取碼:gd0w
二、使用
1.使用方法相對(duì)簡(jiǎn)單,直接上代碼
public class UniWebPresenter :UIPresenterBase{[SerializeField] private RectTransform m_UniWebRectTransform; //UniWebViewNativeListener物體的父物體private UniWebView m_UniWebView;private string m_Url;private bool m_Log;public override void Init(params object[] parameters){m_Url = parameters[0] as string;if(string.IsNullOrEmpty(m_Url)){Destroy(gameObject);}m_Log = GameSetting.Instance.Log; CreateUniWebView();OnLoaded();}public void CreateUniWebView(){m_UniWebView = m_UniWebRectTransform.gameObject.AddComponent<UniWebView>();m_UniWebView.ReferenceRectTransform = m_UniWebRectTransform;m_UniWebView.OnMessageReceived += OnMessageReceived;m_UniWebView.OnPageStarted += OnPageStarted;m_UniWebView.OnPageFinished += OnPageFinished;m_UniWebView.OnKeyCodeReceived += OnKeyCodeReceived;m_UniWebView.OnPageErrorReceived += OnPageErrorReceived;m_UniWebView.OnShouldClose += OnShouldClose;m_UniWebView.SetBackButtonEnabled(true);// 回退鈕 物理按鍵m_UniWebView.SetAllowFileAccessFromFileURLs(true);//訪問(wèn)本地的權(quán)限m_UniWebView.SetShowSpinnerWhileLoading(true);//過(guò)程中是否顯示加載指示器。//uniWebView.SetSpinnerText("Loading");//設(shè)置顯示在加載指示器中的文本m_UniWebView.SetHorizontalScrollBarEnabled(false);// 設(shè)置是否在Web內(nèi)容超出Web視圖范圍時(shí)顯示水平滾動(dòng)條。m_UniWebView.SetVerticalScrollBarEnabled(false);// 設(shè)置當(dāng)Web內(nèi)容超出Web視圖范圍時(shí),是否應(yīng)顯示垂直滾動(dòng)條。m_UniWebView.BackgroundColor = Color.white;//背景}/// <summary>/// 加載頁(yè)面/// </summary>/// <param name="url"></param>public void OnLoaded(){m_UniWebView.Load(m_Url);m_UniWebView.Show();}/// <summary>/// 重新加載頁(yè)面/// </summary>private void OnReLoaded(){if (m_UniWebView.isActiveAndEnabled){m_UniWebView.Reload();}}/// <summary>/// 關(guān)閉頁(yè)面/// </summary>private void OnClose(){m_UniWebView.Hide();Destroy(gameObject);}/// <summary>/// 開(kāi)始加載web視圖觸發(fā)/// </summary>/// <param name="webView"></param>/// <param name="url"></param>private void OnPageStarted(UniWebView webView, string url){if(m_Log)Debug.Log("[UbiWebPresenter] OnPageStarted " + url);}/// <summary>/// 加載web視圖成功觸發(fā)/// </summary>/// <param name="webView"></param>/// <param name="statusCode"></param>/// <param name="url"></param>private void OnPageFinished(UniWebView webView, int statusCode, string url){if (m_Log)Debug.Log("[UbiWebPresenter] OnPageFinished statusCode:" + string.Format("statusCode:{0},url{1}", statusCode, url));}/// <summary>/// 頁(yè)面加載過(guò)程中引發(fā)錯(cuò)誤/// </summary>/// <param name="webView"></param>/// <param name="errorCode"></param>/// <param name="errorMessage"></param>private void OnPageErrorReceived(UniWebView webView, int errorCode, string errorMessage){if (errorCode == -2){OnClose();}if (m_Log)Debug.Log("[UbiWebPresenter] OnPageErrorReceived :" + string.Format("errorCode:{0},errorMessage{1}", errorCode, errorMessage));}/// <summary>/// 設(shè)備按鍵觸發(fā)/// </summary>/// <param name="webView"></param>/// <param name="keyCode"></param>private void OnKeyCodeReceived(UniWebView webView, int keyCode){if (keyCode == 4){OnClose();}if (m_Log)Debug.Log("[UbiWebPresenter] OnKeyCodeReceived keycode:" + keyCode);}/// <summary>/// JS調(diào)用Unity時(shí)觸發(fā)/// </summary>/// <param name="webView"></param>/// <param name="message"></param>private void OnMessageReceived(UniWebView webView, UniWebViewMessage message){if (m_Log)Debug.Log("[UbiWebPresenter] OnMessageReceived :" + message.RawMessage);}/// <summary>/// 視圖自動(dòng)關(guān)閉時(shí)觸發(fā)/// </summary>/// <param name="webView"></param>/// <returns></returns>private bool OnShouldClose(UniWebView webView){webView.CleanCache();//清除緩存webView = null;return true;}}三、坑
總結(jié)
以上是生活随笔為你收集整理的[Unity] UniWebView的使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: PLSQL Developer破解注册码
- 下一篇: sketch钢笔工具_设计工具(Sket