恒美微站
首页
关于我们
建站服务
主题模板
案例展示
资讯中心
联系我们
Unity接入WebView三步搞定
首页
资讯中心
/
Unity接入WebView三步搞定
Unity接入WebView三步搞定
发布时间:2026/10/16 2:12:14
这篇只讲三件事每件事只有几行代码在游戏里打开一个网页把网页关掉网页上点按钮游戏收到消息本文以安卓手机为例因为它最简单。准备工作只做一次1. 安装插件Unity 自己不会显示网页要装一个免费插件unity-webview。在 Unity 菜单里点Window → Package Manager → 左上角 → Add package from git URL粘贴下面这行点 Addhttps://github.com/gree/unity-webview.git?path/dist/package2. 打开联网权限Edit → Project Settings → Player → Other Settings找到Internet Access改成Require。3. 记住一件事在电脑上的 Unity 里运行看不到网页。必须打包到安卓手机上才能看到。这是正常的不是你做错了。第 1 课打开一个网页新建脚本MyWeb.cs复制下面的代码usingUnityEngine;publicclassMyWeb:MonoBehaviour{WebViewObjectweb;// 用来装网页窗口voidStart(){webnewGameObject(Web).AddComponentWebViewObject();// ① 造一个网页窗口web.Init();// ② 让它准备好web.SetMargins(0,0,0,0);// ③ 铺满整个屏幕web.SetVisibility(true);// ④ 显示出来web.LoadURL(https://www.baidu.com);// ⑤ 打开这个网址}}怎么用在场景里随便建一个空物体把这个脚本拖上去打包到手机。效果游戏一打开屏幕上就显示百度首页。就像开电视拿出电视 → 插电 → 摆好位置 → 打开 → 换到某个台。第 2 课把网页关掉网页打开了总得能关。关掉只需要一句Destroy(web.gameObject);// 把网页窗口扔掉有个小问题Unity 的按钮会被网页挡住网页窗口永远在最上层。如果铺满全屏你在 Unity 里做的关闭按钮就被盖住了点不到。解决让网页往下挪一点把屏幕顶部空出来放按钮。把第 1 课的第 ③ 行改成web.SetMargins(0,200,0,0);// 顶部空出 200 像素四个数字的意思是左、上、右、下各空出多少。然后在脚本里加一个关闭方法publicvoidCloseWeb(){Destroy(web.gameObject);}在 Unity 里做一个按钮放在屏幕最上面点击事件选CloseWeb就能关掉网页了。第 3 课网页点按钮游戏收到消息这是最有用的功能。比如网页上有个领取奖励按钮玩家一点游戏就发金币。网页这边只要一句话在网页的按钮里写buttononclickUnity.call(领奖)领取奖励/buttonUnity.call(领奖)的意思是对游戏喊一声领奖。游戏这边准备一只耳朵把第 1 课的web.Init();改成web.Init(cb:OnWebMessage);// 网页喊话时交给 OnWebMessage 处理再加上这个方法voidOnWebMessage(stringmsg){if(msg领奖){Debug.Log(玩家领取了 100 金币);}}完整代码可以直接用为了方便测试这里把网页直接写在代码里不用自己准备网站usingUnityEngine;publicclassMyWeb:MonoBehaviour{WebViewObjectweb;voidStart(){webnewGameObject(Web).AddComponentWebViewObject();web.Init(cb:OnWebMessage);// 准备好耳朵web.SetMargins(0,200,0,0);// 顶部留位置给关闭按钮web.SetVisibility(true);// 一个最简单的网页两个按钮stringhtmlh1签到活动/h1button stylefont-size:40px onclick\Unity.call(领奖)\领取奖励/buttonbrbrbutton stylefont-size:40px onclick\Unity.call(关闭)\关闭/button;web.LoadHTML(html,);// 显示这个网页}// 网页喊话时这里会收到voidOnWebMessage(stringmsg){if(msg领奖){Debug.Log(玩家领取了 100 金币);}elseif(msg关闭){CloseWeb();}}publicvoidCloseWeb(){Destroy(web.gameObject);}}效果点网页上的领取奖励 → 游戏收到领奖打印领取了 100 金币点网页上的关闭 → 网页消失记住这几个方法就够了代码意思Init(cb: 方法名)准备好并指定谁来听网页说话SetMargins(左, 上, 右, 下)设置网页的位置和大小SetVisibility(true)显示出来LoadURL(网址)打开一个网站LoadHTML(网页内容, )直接显示一段网页代码Destroy(web.gameObject)关掉网页网页里Unity.call(文字)网页对游戏说话遇到问题先看这里问题怎么办电脑上运行看不到网页正常现象打包到手机再看手机上一片白检查 Internet Access 是否设成了 Require网址要用https://开头Unity 的按钮点不到被网页挡住了用SetMargins把网页往下挪学会这三课就已经能做游戏里的公告和活动页了。如果想继续学游戏把玩家名字传给网页或者在苹果手机上使用可以告诉我我再接着讲。