Unity中内嵌网页插件UniWebView

一、常见Unity中内嵌网页实现方式:

1、UnityWebCore只支持windows

2、Unity-Webview支持Android,IOS

3、UniWebView支持mac os,Android,IOS,WP8(2.0以后)

二、UniWebView 根据手机平台调用相应的WebView组件来显示网页,支持和javascript的交互,不支持windows和editor上显示。

1、下载并导入unitypackage

http://uniwebview.onevcat.com/

2、设置Webview,加载并显示网页

// Find the UniWebView component on the gameObject.
// It is supposed you have already dragged this script to the same gameObject which UniWebView on.
// Or you will get a null exception :(
_webView = GetComponent<UniWebView>(); // Listen to some event of UniWebView
_webView.OnLoadComplete += OnLoadComplete;
_webView.OnReceivedMessage += OnReceivedMessage;
_webView.OnEvalJavaScriptFinished += OnEvalJavaScriptFinished;
// Almost full screen but 5 points gap in each edge.
_webView.insets = new UniWebViewEdgeInsets(,,,);
// Set a url string to load
_webView.url = "http://uniwebview.onevcat.com/demo/index.html";
// Tell the web view begin to load the url just set.
_webView.Load(); // Then wait for the OnLoadComplete event //... // The listening method of OnLoadComplete method.
void OnLoadComplete(UniWebView webView, bool success, string errorMessage) {
if (success) {
// Great, everything goes well. Show the web view now.
webView.Show();
} else {
// Oops, something wrong.
Debug.LogError("Something wrong in web view loading: " + errorMessage);
}
}

3、网址解析

uniwebview://move?direction=up&distance=1会解析成

path = "move"
args = {
direction = "up",
distance = ""
}

4、监听消息

void OnReceivedMessage(UniWebView webView, UniWebViewMessage message) {
Debug.Log(message.rawMessage);
if (string.Equals(message.path, "move")) {
// It is time to move! // In this example:
// message.args["direction"] = "up"
// message.args["distance"] = "1"
}
}

详细使用方法参考:http://uniwebview.onevcat.com/manual

上一篇:微信小程序(有始有终,全部代码)开发---跑步App+音乐播放器 Bug修复


下一篇:ThinkPHP 3.2.3+ORACLE插入数据BUG修复及支持获取自增Id的上次记录