Hi,are you ready?

准备好开始了吗?
那就与我们取得联系吧

有一个互联网项目想和我们谈谈吗?您可以填写右边的表格,让我们了解您的项目需求,这是一个良好的开始,我们将会尽快与你取得联系。当然也欢迎您给我们写信或是打电话,让我们听到你的声音

Smartwind 沙漠风互联网整合营销

地址:深圳市福田区泰然四路创新科技广场一期A座1304

业务热线: 0755-83739169

大客户专线: 18098908287

售前QQ:3290449062

E-mail: sales@szweb.cn

合作意向表

您希望我们 为您提供什么服务?

预算

点击更换

APP开发资讯 APP开发资讯

资讯

02 2019/01

APP原生开发与H5进行交互有哪些原理

APP开发资讯 / 沙漠风风享 2019/01/02

  目前,越来越多的APP开发会选择原生与H5混合的Hybrid App即混合模式APP。H5页面很多时候都需要与原生app进行交互、沟通(运行在webview中),比如微信的jssdk,通过window.wx对象调用一些原生app的功能。下面我们就来聊一聊原生app与H5交互的原理。


APP原生开发与H5进行交互有哪些原理.png


  原生app与H5交互的原理


  原生app与H5的交互,本质上说,就是两种调用:


  app调用h5的代码


  h5调用app的代码


  1.app调用h5的代码


  因为app是宿主,可以直接访问h5,所以这种调用比较简单,就是在h5中曝露一些全局对象(包括方法),然后在原生app中调用这些对象。


  2.h5调用app的代码


  因为h5不能直接访问宿主app,所以这种调用就相对复杂一点。


  这种调用常用有两种方式:


  由app向h5注入一个全局js对象,然后在h5直接访问这个对象,


  由h5发起一个自定义协议请求,app拦截这个请求后,再由app调用h5中的回调函数。


  (1)由app向h5注入一个全局js对象


  这种方式沟通机制简单,比较好理解,并且对于h5来说,没有新的东西,所以是比较推荐的一种方式。但这种方式可能存在安全隐患,详细查看你不知道的Android WebView使用漏洞。


  (2)由h5发起一个自定义协议请求


  这种方式要稍复杂一点,因为需要自定义协议,这对很多前端开发者来说是比较新的东西。所以一般不推荐这种方式,可以作为第一种方式的补充。


  大致需要以下几个步骤:


  由app自定义协议,


  在h5定义好回调函数,


  由h5发起一个自定义协议请求,


  app拦截这个请求后,进行相应的操作,获取返回值


  由app调用h5中的回调函数。


  以上就是原生app与H5交互的原理。


以上内容由沙漠风为您提供!更多有关深圳APP开发APP定制微信平台开发微信小程序开发等互联网应用服务都可以联系我们!热线:0755-83739159 或致电大客户专线:18098908287 陈经理!

上一条: APP开发首页布局设计有哪些特点

下一条: APP开发留住用户的4种方法

返回

新案例