【Unity】内嵌浏览器

前言

最近玩手机吃鸡,看到游戏内部就可以看到直播,黑科技啊!然后再网上搜索了一下,应该是在游戏中内嵌一个浏览器,直接访问的网页。大概思路应该是这样吧,不然就肯定是其他的什么黑科技。

看直播页面

用啥

找到了一个插件UniWebView,这个插件支持Android、IOS和Mac,不支持Windows。这个对于我这个级别的开发调式还是有一定的麻烦的。当然还有一个github上的插件,跟这个原理都差不多吧。github地址

怎么用

使用方法都很简单,调用UniWebView中的接口即可。按照步骤来:

●添加UniWebView在一个GameObject上
●对UniWebView.url赋值
● 可以设置一些在打开浏览器的时候的一些回调:

webView.OnLoadComplete += OnLoadComplete;
webView.OnReceivedMessage += OnReceivedMessage;
webView.OnEvalJavaScriptFinished += OnEvalJavaScriptFinished;

●这里OnLoadComplete 回调结构有点像www的写法。

void OnLoadComplete(UniWebView webView, bool success, string errorMessage) {
  if (success) {
    webView.Show();
  } else {
    Debug.LogError("Something wrong in web view loading: " + errorMessage);
  }

●设置webview的长宽高,这里都可以直接在ui上面显示浏览器了。

webView.insets = new UniWebViewEdgeInsets(5,5,5,5);

●然后调用webView.Load()方法即可。

void OnLoadComplete(UniWebView webView, bool success, string errorMessage) {
  if (success) {
    webView.Show();
  } else {
    Debug.LogError("Something wrong in web view loading: " + errorMessage);
  }

大致流程就是这样的了。具体流程可以看看官网,很是详细。然后下载下来的demo中的注释也很详细。

原理

这里的最基本的原理就是调用Android的WebView。webview可简单的理解为一个自带浏览器功能的activity。那里这里就会出现一些webview的一个问题,我没有真正用这个做过开发,所以找了一篇博客上面有一些处理在使用过程中遇到的问题的解决方案。然后到深处的原理的话,对Android也是半吊子,就不讲了。暂时写这么多吧,后面真正使用到这个插件的时候遇到什么问题再更新吧。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,434评论 25 709
  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,811评论 2 45
  • 1. 推迟满足感:改变顺序,先着手把重要的难的事物做完,再做那些较轻松的工作,有效推迟满足感,有效解决了拖延症 2...
    清风叶子阅读 194评论 0 0
  • 文/鸿运 望断秋水,目送秋景,晚霞照苍穹。 霜月露冷,梧叶飘零,烟雾更朦胧。 几缕残光,几声断鸿,陌上留孤影。 离...
    HONGYUNDANGTOU阅读 227评论 16 26
  • 今天看了一条微博,题目为:人生里最没用的东西有哪些? 其实我们会发现~有时候,我们收藏了很多东西,却并没有全部都用...
    杂草袁阅读 294评论 0 0

友情链接更多精彩内容