Unity WebView 插件⭐️(八)核心模块 网络—Web
📢前言
该文章是WebView 插件系列文章,传送门:浏览器插件3D WebView专栏
上一篇文章对3D WebView 插件的 CanvasWebViewPrefab
做了一个详细的介绍说明
那本篇文章就来介绍下 Web
的说明和使用方法
🔔核心模块 网络—Web
Web
是模块的顶级静态类。
它包含用于 配置模块 和 创建资源 的静态方法。
Web公共属性
默认插件类型
static void DefaultPluginType { get; }
获取为当前平台安装的默认 3D WebView 插件类型。
Web公共方法
1.清除所有数据
static void ClearAllData()
清除 webview 实例之间保留的所有数据,如 cookie、存储和缓存资源。
重要提示
在 Windows 和 macOS 上,只能在初始化任何 webview 之前调用此方法。
在通用 Windows 平台上,由于 UWP 限制,此方法无法清除 cookie。
2.创建材料
static void CreateMaterial(Action<Material> callback)
与其他版本的CreateMaterial() 一样,除了它使用回调而不是任务以与旧版 .NET 兼容。
3.创建材料
static Task<Material> CreateMaterial()
创建 webview 可用于渲染的材质和纹理。
4.创建纹理
static void CreateTexture(float width, float height, Action<Texture2D> callback)
与其他版本的CreateTexture() 一样,除了它使用回调而不是 Task 以与旧版 .NET 兼容。
5.创建纹理
static Task<Texture2D> CreateTexture(float width, float height)
使用给定的宽度和高度以 Unity 单位(而不是像素)创建一个特殊的纹理,webview 可以使用该纹理进行渲染。webview 插件在初始化或调整 webview 大小时会自动调整纹理大小,因此在实践中,您可以简单地使用 1x1 的尺寸,例如CreateTexture(1, 1).
6.创建视频素材
static void CreateVideoMaterial(Action<Material> callback)
与CreateMaterial()类似,不同之处在于它创建了一个 webview 可用于在 iOS 上渲染视频的材质。在其他平台上,此方法返回null.
7.创建网页视图
static IWebView CreateWebView()
以与平台无关的方式创建新的 web 视图。创建IWebView后,必须通过调用其Init()方法之一对其进行初始化。
例子
var material = await Web.CreateMaterial();
// Set the material attached to this GameObject so that it can display the web content.
GetComponent<Renderer>().material = material;
var webView = Web.CreateWebView();
webView.Init(material.mainTexture, 1, 1);
webView.LoadUrl("https://vuplex.com");
重要的提示
WebViewPrefab和CanvasWebViewPrefab负责为您创建和管理IWebView实例,因此如果您需要在预制件之外创建 webview(例如,将其连接到您自己的自定义 GameObject),您只需直接调用此方法。
8.启用远程调试
static void EnableRemoteDebugging()
启用远程调试。
9.设置自动播放已启用
static void SetAutoplayEnabled(bool enabled)
设置页面是否可以自动播放带音频的视频。默认是禁用的。
重要笔记
- 在 Windows 和 macOS 上,只能在初始化任何 webview 之前调用此方法。
- 此方法适用于除3D WebView for UWP之外的每个包,因为底层 UWP WebView 控件不允许自动播放带音频的视频。
10.设置忽略证书错误
static void SetIgnoreCertificateErrors(bool ignore)
默认情况下,浏览器会阻止加载带有无效 SSL 证书的 https URL。但是,此方法可用于忽略证书错误。
重要笔记
- 在 Windows 和 macOS 上,只能在初始化任何 webview 之前调用此方法。
- 此方法适用于除3D WebView for UWP之外的每个包。对于 UWP,证书必须在 Package.appxmanifest 文件中列入白名单。
11.设置存储启用
static void SetStorageEnabled(bool enabled)
控制 cookie、localStorage 和缓存资源等数据是否在 webview 实例之间持久化。默认为true,但可以将其设置为false“隐身模式”。
重要笔记
- 在 Windows 和 macOS 上,只能在初始化任何 webview 之前调用此方法。
- 在通用 Windows 平台上,由于 UWP 限制,此方法不会禁用 cookie。
12.设置用户代理
static void SetUserAgent(string userAgent)
全局配置所有 webviews 以使用自定义User-Agent。
重要的提示
在 Windows 和 macOS 上,只能在初始化任何 webview 之前调用此方法。
13.设置用户代理
static void SetUserAgent(bool mobile)
全局配置所有 webviews 以使用移动或桌面 User-Agent。默认情况下,webviews 使用浏览器引擎的默认 User-Agent,但您可以通过调用Web.SetUserAgent(true)或使用Web.SetUserAgent(false).
🎄示例
1.设置存储启用
插件中的WebView都是默认开启的,也就是说会有一个数据持久化,形成一个缓存的效果
就比如我们用百度搜索了一个东西,下次使用百度的时候,上次搜索的东西是会显示在搜索框的!
这里设置取消之后,就相当于开启了一个简易的隐身模式,不会再进行数据持久化缓存。
不过要注意,需要在webview 初始化之前调用!
//设置取消存储启用
Web.SetStorageEnabled(false);
2.设置自动播放
控制网页中的视频是否会自动播放,默认是不会自动播放的,我们可以手动开启,也是要在初始化之前调用
//设置启用网页视频自动播放
Web.SetAutoplayEnabled(true);
💬总结
Web
是模块的顶级静态类,我们在使用的时候一般不会用到这个地方太多
一般是偏向于插件的深度逻辑了,主要是用于配置模块和创建资源的静态方法。
- 点赞
- 收藏
- 关注作者
评论(0)