UniWebView 3 使用心得
生活随笔
收集整理的這篇文章主要介紹了
UniWebView 3 使用心得
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
基于 UniWebView 3
官網教程 點擊打開鏈接
最新版 插件下載鏈接
using System.Collections; using System.Collections.Generic; using UnityEngine;public class WebViewController : MonoBehaviour {private UniWebView uniWebView;public RectTransform viewImage;public UniWebView GetUniWebView{get{if (uniWebView == null){uniWebView = GameObject.FindObjectOfType<UniWebView>();if (uniWebView == null){GameObject webViewGameObject = GameObject.Find("UniWebView");if (webViewGameObject == null)webViewGameObject = new GameObject("UniWebView");uniWebView = webViewGameObject.AddComponent<UniWebView>();uniWebView.ReferenceRectTransform = viewImage;}uniWebView.OnMessageReceived += OnMessageReceived;uniWebView.OnPageStarted += OnPageStarted;uniWebView.OnPageFinished += OnPageFinished;uniWebView.OnKeyCodeReceived += OnKeyCodeReceived;uniWebView.OnPageErrorReceived += OnPageErrorReceived;uniWebView.OnShouldClose += OnShouldClose;uniWebView.SetBackButtonEnabled(false);// 回退鈕 物理按鍵}return uniWebView;}}private void OnPageErrorReceived(UniWebView webView, int errorCode, string errorMessage){Debug.Log("OnPageErrorReceived :" + string.Format("errorCode:{0},errorMessage{1}", errorCode, errorMessage));}private void OnKeyCodeReceived(UniWebView webView, int keyCode){Debug.Log("OnKeyCodeReceived keycode:" + keyCode);}private void OnPageFinished(UniWebView webView, int statusCode, string url){Debug.Log("OnPageFinished statusCode:" + string.Format("statusCode:{0},url{1}", statusCode, url));}private void OnPageStarted(UniWebView webView, string url){Debug.Log("OnPageStarted " + url);}///JS 調用 untiy3Dprivate void OnMessageReceived(UniWebView webView, UniWebViewMessage message){Debug.Log("OnMessageReceived :" + message.RawMessage);// if (message.Path.Equals("game-over")) {// var score = message.Args["score"];// Debug.Log("Your final score is: " + score);//// // Restart the game after 3 second// Invoke("OnReLoaded", 3.0f);// }if (message.Path.Equals("game")){var score = message.Args["score"];var name = message.Args["name"];Debug.Log("Your final score is: " + score + "name :" + name);// Restart the game after 3 second//Invoke("OnReLoaded", 3.0f);if (GetUniWebView.isActiveAndEnabled){string content = string.Format("openParamOne({0});", int.Parse(score) * 2 + int.Parse(name) * 1);GetUniWebView.EvaluateJavaScript(content, (payload) => {if (payload.resultCode.Equals("0")){Debug.Log("Game Started!=========>");}else{Debug.Log("Something goes wrong: " + payload.data);}});}}}private bool OnShouldClose(UniWebView webView){webView.CleanCache();webView = null;return true;}private string url = "http://www.0000.com/TWeb.aspx";private void OnGUI(){url = GUILayout.TextField(url, GUILayout.Width(250), GUILayout.Height(80));if (GUILayout.Button("Load", GUILayout.Height(80))){OnLoaded();}if (GUILayout.Button("ReLoad", GUILayout.Height(80))){OnReLoaded();}if (GUILayout.Button("Close", GUILayout.Height(80))){OnClose();}if (GUILayout.Button("Call JS", GUILayout.Height(80))){OnCallJavaScript();}if (GUILayout.Button("GoBack", GUILayout.Height(80))){if (GetUniWebView.CanGoBack){GetUniWebView.GoBack();} }if (GUILayout.Button("GoForward", GUILayout.Height(80))){if (GetUniWebView.CanGoForward){GetUniWebView.GoForward();}}}private void OnLoaded(){GetUniWebView.Load(url);GetUniWebView.Show();}private void OnReLoaded(){if (GetUniWebView.isActiveAndEnabled){GetUniWebView.Reload();}}private void OnClose(){GetUniWebView.Hide();Destroy(GetUniWebView.gameObject);}///調用 JS 代碼private void OnCallJavaScript(){if (GetUniWebView.isActiveAndEnabled){GetUniWebView.EvaluateJavaScript("openParam();", (payload) => {if (payload.resultCode.Equals("0")){Debug.Log("Game Started!");}else{Debug.Log("Something goes wrong: " + payload.data);}});}// if (GetUniWebView.isActiveAndEnabled) // {// string content = string.Format ("openParam({0});", int.Parse(score) * 2 + int.Parse(name) * 1);// GetUniWebView.EvaluateJavaScript(content, (payload)=>{// if (payload.resultCode.Equals("0")) {// Debug.Log("Game Started!");// } else {// Debug.Log("Something goes wrong: " + payload.data);// }// });// }}}插件下載鏈接
?
?
關于 JS 調用 Unity3D? 詳細:https://docs.uniwebview.com/guide/working-with-code.html
?
總結
以上是生活随笔為你收集整理的UniWebView 3 使用心得的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 单选按钮设置为被选中状态_为什么要设置错
- 下一篇: 产品设计美学案例分析_美学在产品设计中的