CN110543372B - 移动终端原生端与h5端交互的方法及装置 - Google Patents
移动终端原生端与h5端交互的方法及装置 Download PDFInfo
- Publication number
- CN110543372B CN110543372B CN201910853843.9A CN201910853843A CN110543372B CN 110543372 B CN110543372 B CN 110543372B CN 201910853843 A CN201910853843 A CN 201910853843A CN 110543372 B CN110543372 B CN 110543372B
- Authority
- CN
- China
- Prior art keywords
- calling
- call
- native
- terminal
- calling object
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请实施例提供一种移动终端原生端与H5端交互的方法及装置,涉及计算机技术领域,具体包括:桥接层接收第二端的调用请求,调用请求包括第一方法名和第二回调方法;桥接层调用第一回调方法,以指示第一端进行第一方法名对应的业务;桥接层接收第一端返回的结果数据;桥接层调用第二回调方法,将结果数据发送给第二端,即在移动终端原生端和H5端之间设置桥接层,该桥接层与具体业务基本无耦合,通过该桥接层可以实现移动终端原生端与H5端之间任意数据的交互传输,实现了移动终端原生端与H5端的准确、及时的交互。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种移动终端原生端与H5端交互的方法及装置。
背景技术
用户对移动终端的功能需求越来越多样化,移动终端原生端的应用功能通常不能满足用户的需求,因此在移动终端的应用开发时,越来越多的涉及到移动终端原生端与超文本标记语言(HyperText Markup Language,HTML)5(后面简称H5)端之间的交互,从而可以通过H5端的功能对移动终端原生端的功能进行补充。
现有技术中,移动终端中的原生端与H5端交互时,可以有两种方式,一种是在H5端创建标签iframe,在原生端向H5端发送请求数据时,H5端改变iframe的src属性的值,由于WebView的机制,原生端会监听到H5端的改变,并从H5端获取到数据,但是该方法中,WebView需要对请求数据进行编解码,对于一些特殊字符的数据(例如加号“+”,英文单引号“’”等)传输,会因为编解码错误导致数据传输错误。
另一种是H5端调用原生端时,原生端向WebView注入交互对象,H5端通过WebView底层原生方法回调原生端交互对象,实现传输数据;原生端调用H5端时,通过Webview可直接调用javascript,实现传输数据,但是该方法中,原生端调用H5端的javascript方法后无法获取到javascript方法的返回值,H5端在做一些处理后也无法把数据直接返回给原生端的调用处,使得数据传输的处理结果不能及时得到反馈。
在现有技术中,不能实现移动终端原生端与H5端的准确、及时的交互。
发明内容
本申请实施例提供一种移动终端原生端与H5端交互的方法及装置,以解决现有技术中不能实现移动终端原生端与H5端的准确、及时的交互的技术问题。
本申请实施例第一方面提供一种移动终端原生端与H5端交互的方法,该方法包括:
桥接层接收第二端的调用请求,调用请求包括第一方法名和第二回调方法;其中,桥接层保存有第一方法名和第一回调方法;第一方法名为第一端的业务对应的方法名,第一回调方法为桥接层指示第一端进行第一方法名对应的业务的方法,第二回调方法为桥接层向第二端返回数据的方法;
桥接层调用第一回调方法,以指示第一端进行第一方法名对应的业务;
桥接层接收第一端返回的结果数据,结果数据为第一端执行完第一方法名对应的业务后得到的数据;
桥接层调用第二回调方法,将结果数据发送给第二端;
其中,在第一端为移动终端原生端的情况下,第二端为超文本标记语言第5版H5端;或,在第一端为H5端的情况下,第二端为移动终端原生端。
本申请实施例中,在移动终端原生端和H5端之间设置桥接层,该桥接层与具体业务基本无耦合,通过该桥接层可以实现原生端与H5端之间任意数据的交互传输,实现了原生端与H5端的准确、及时的交互。
可选的,桥接层包括:第一调用对象、第二调用对象和第三调用对象,
第一调用对象用于与第一端进行数据传输,第二调用对象用于与第二端进行数据传输,第三调用对象用于根据第一调用对象的调用实现对第二调用对象的调用,或,根据第二调用对象的调用实现对第一调用对象的调用。这样,桥接层就可以根据实际的应用,对各对象拆分设置,提升了桥接层的灵活性。
可选的,桥接层接收第二端的调用请求,包括:
第二调用对象接收第二端的调用请求;
桥接层调用第一回调方法,包括:
第二调用对象调用第三调用对象中包括的第一方法名的呼叫发起方法;
第三调用对象根据呼叫发起方法调用第一调用对象;
第一调用对象调用第一回调方法。
可选的,桥接层接收第一端返回的结果数据,包括:
第一调用对象接收第一返回端返回的结果数据;
桥接层调用第二回调方法,将结果数据发送给第二端,包括:
第一调用对象调用第三调用对象中的呼叫返回方法,将结果数据传输给第三调用对象;
第三调用对象根据呼叫返回方法调用第二调用对象,将结果数据传输给第二调用对象;
第二调用对象调用第二回调方法,将结果数据发送给第二端。
可选的,桥接层接收第二端的调用请求之前,还包括:
第一调用对象接收第一端的寄存器调用,寄存器调用用于将第一方法名和第一回调方法保存在第一调用对象中。
可选的,在第一端为原生端,第二端为H5端的情况下,第一调用对象为BridgeWebView,第二调用对象为Bridge.js文件,第三调用对象为NativeJsInterface。
可选的,在第一端为H5端,第二端为原生端的情况下,第一调用对象为Bridge.js文件,第二调用对象为BridgeWebView,第三调用对象为NativeJsInterface。
可选的,移动终端的软件开发工具包SDK的版本大于或等于19。
本申请实施例第二方面提供一种移动终端原生端与H5端交互的方法,该方法包括:
接收移动终端原生端发送的数据;
在数据中存在特征字符的情况下,按照预设的编码规则对特征字符进行编码;
将编码后的字符发送给H5端,其中,编码规则满足:经编码规则编码后的字符,在H5端解码后,得到正确的数据。
可选的,移动终端的软件开发工具包SDK的版本小于19。
本申请实施例的方法可以适用于移动终端的软件开发工具包SDK的版本小于19的应用场景中,通过设置能够特征字符进行处理的中间件,可以解决因为编解码错误导致数据传输错误,提升了移动终端原生端与H5端交互的准确性。
本申请实施例第三方面提供一种移动终端原生端与H5端交互的装置,该装置包括桥接模块,桥接模块用于:
接收第二端的调用请求,调用请求包括第一装置名和第二回调装置;其中,桥接层保存有第一装置名和第一回调装置;第一装置名为第一端的业务对应的装置名,第一回调装置为桥接层指示第一端进行第一装置名对应的业务的装置,第二回调装置为桥接层向第二端返回数据的装置;
调用第一回调装置,以指示第一端进行第一装置名对应的业务;
接收第一端返回的结果数据,结果数据为第一端执行完第一装置名对应的业务后得到的数据;
调用第二回调装置,将结果数据发送给第二端;
其中,在第一端为移动终端原生端的情况下,第二端为超文本标记语言第5版H5端;或,在第一端为H5端的情况下,第二端为移动终端原生端。
可选的,桥接模块包括:第一调用对象、第二调用对象和第三调用对象,第一调用对象用于与第一端进行数据传输,第二调用对象用于与第二端进行数据传输,第三调用对象用于根据第一调用对象的调用实现对第二调用对象的调用,或,根据第二调用对象的调用实现对第一调用对象的调用。
可选的,桥接模块具体用于:
通过第二调用对象接收第二端的调用请求;
通过第二调用对象调用第三调用对象中包括的第一装置名的呼叫发起装置;
通过第三调用对象根据呼叫发起装置调用第一调用对象;
通过第一调用对象调用第一回调装置。
可选的,桥接模块具体还用于:
通过第一调用对象接收第一返回端返回的结果数据;
通过第一调用对象调用第三调用对象中的呼叫返回装置,将结果数据传输给第三调用对象;
通过第三调用对象根据呼叫返回装置调用第二调用对象,将结果数据传输给第二调用对象;
通过第二调用对象调用第二回调装置,将结果数据发送给第二端。
可选的,桥接模块还用于:
通过第一调用对象接收第一端的寄存器调用,寄存器调用用于将第一装置名和第一回调装置保存在第一调用对象中。
可选的,在第一端为原生端,第二端为H5端的情况下,第一调用对象为BridgeWebView,第二调用对象为Bridge.js文件,第三调用对象为NativeJsInterface。
可选的,在第一端为H5端,第二端为原生端的情况下,第一调用对象为Bridge.js文件,第二调用对象为BridgeWebView,第三调用对象为NativeJsInterface。
可选的,移动终端的软件开发工具包SDK的版本大于或等于19。
本申请实施例第四方面提供一种移动终端原生端与H5端交互的装置,应用于移动终端,该装置包括编码处理模块,编码处理模块用于:
接收移动终端原生端发送的数据;
在数据中存在特征字符的情况下,按照预设的编码规则对特征字符进行编码;
将编码后的字符发送给H5端,其中,编码规则满足:经编码规则编码后的字符,在H5端解码后,得到正确的数据。
可选的,移动终端的软件开发工具包SDK的版本小于19。
本申请实施例第五方面提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如前述第一方面或第二方面任一项所述的方法。
本申请实施例第六方面提供一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行如前述第一方面或第二方面任一项所述的方法。
本申请实施例第七方面提供一种端与端交互的方法,所述方法包括:
接收第二端的调用请求,所述调用请求包括第一方法名和第二回调方法;调用预先保存的第一回调方法,以指示第一端进行所述第一方法名对应的业务;接收所述第一端返回的结果数据;调用所述第二回调方法,将所述结果数据发送给所述第二端。本申请实施例中,在接收到第二端的调用请求后,可以通过预先保存的第一回调方法,指示第一端进行第一方法名对应的业务,并接收第一端返回的结果数据,以及调用第二回调方法,将结果数据发送给第二端,从而实现了第一端和第二端的交互。
综上所述,本申请实施例相对于现有技术的有益效果:
本申请实施例中提供了一种移动终端原生端与H5端交互的方法及装置,在移动终端原生端和H5端之间设置桥接层,该桥接层与具体业务基本无耦合,通过该桥接层可以实现原生端与H5端之间任意数据的交互传输,实现了原生端与H5端的准确、及时的交互。具体来说,本申请实施例中,桥接层接收第二端的调用请求,调用请求包括第一方法名和第二回调方法;其中,桥接层保存有第一方法名和第一回调方法;第一方法名为第一端的业务对应的方法名,第一回调方法为桥接层指示第一端进行第一方法名对应的业务的方法,第二回调方法为桥接层向第二端返回数据的方法;桥接层调用第一回调方法,以指示第一端进行第一方法名对应的业务;桥接层接收第一端返回的结果数据,结果数据为第一端执行完第一方法名对应的业务后得到的数据;桥接层调用第二回调方法,将结果数据发送给第二端;其中,在第一端为移动终端原生端的情况下,第二端为H5端;或,在第一端为H5端的情况下,第二端为移动终端原生端。
附图说明
图1为本申请实施例提供的移动终端原生端与H5端交互的方法适用的***架构示意图;
图2为本申请实施例提供的移动终端原生端与H5端交互的方法适用的一种应用界面示意图;
图3为本申请实施例提供的移动终端原生端与H5端交互的方法适用的另一种应用界面示意图;
图4为本申请实施例提供的一种移动终端原生端与H5端交互的方法的流程示意图;
图5为本申请实施例提供的一种具体的移动终端原生端与H5端交互的示意图;
图6为本申请实施例提供的移动终端原生端与H5端交互的方法的代码结构时序示意图;
图7为本申请实施例提供的移动终端原生端与H5端交互的方法的另一流程示意图;
图8为本申请实施例提供的另一种具体的移动终端原生端与H5端交互的示意图;
图9为本申请提供的一种移动终端原生端与H5端交互装置的装置实施例的结构示意图;
图10为本申请提供的另一种移动终端原生端与H5端交互装置的装置实施例的结构示意图;
图11是用来实现本申请实施例的移动终端原生端与H5端交互的方法的电子设备的框图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
本申请实施例的移动终端可以是手机、平板电脑、手环等可穿戴设备等,本申请实施例对此不作具体限定。移动终端中的操作***可以是安卓(Android)操作***,也可以是苹果iOS操作***,本申请实施例对此不作具体限定。在Android操作***中,承载H5界面的容器是WebView,在iOS操作***中,承载H5界面的容器是UIWebview。
本申请实施例所描述的桥接层具体可以设置在移动终端端的原生业务层和H5业务层之间,桥接层与具体的业务基本无耦合,桥接层可以做到一次编码后,适用于不同的操作***。相对于现有技术的针对iOS操作***和Android操作***,需要开发不同的版本实现原生端和H5的数据交互,本申请实施例的移动终端原生端与H5端交互的方法能够做到兼容Android操作***和iOS操作***,适用性更强。本申请实施例所描述的桥接层也可以部分设置在移动终端端,部分设置在H5端,本申请实施例从对此不作具体限定。
本申请实施例所描述的移动终端原生端可以是移动终端中操作***本身固有的原生控件,或者移动终端中应用程序(Application,APP)中固有的原生控件等,本申请实施例对原生端不作具体限定。
本申请实施例所描述的第一端和第二端是相对的,在第一端为移动终端原生端的情况下,第二端为H5端;或,在第一端为H5端的情况下,第二端为移动终端原生端(为了方面描述,下面简称原生端)。
如图1所示,图1为本申请实施例提供的方法所适用的应用场景架构示意图。
本申请实施例中,原生端11与H5端13之间的数据交互均通过桥接层12实现。示例的,在原生端11调用H5端13的过程中,桥接层12先存储H5端13的方法名,以及桥接层12通知H5端13执行各方法名时所需的回调方法,然后原生端11通知桥接层12希望调用H5端的其中一个目标方法名,并通知桥接层12返回数据时的回调方法,则桥接层12通过该目标方法名对应的目标回调方法,通知H5端13执行该目标方法名对应的业务,H5端13执行完相应的业务后,可以得到结果数据,并将结果数据发送给桥接层12,桥接层12可以根据原生端11的回调方法,将该结果数据转发给原生端11,则可以实现原生端11对H5端13的调用;可以理解,H5端调用原生端11的方法与上述方法是反向的,在此不再赘述。也即,本申请实施例在移动终端原生端和H5端之间设置桥接层,该桥接层与具体业务基本无耦合,通过该桥接层可以实现原生端与H5端之间任意数据的交互传输,实现了原生端与H5端的准确、及时的交互。
示例性的,如图2所示,示出了一种应用界面,在该应用界面中,其中的图标“B”21和““”22都是原生端的图标,但是“B”和““”的颜色设定、隐藏设定等都是通过H5端进行控制的,在该应用界面中,在对“B”21和““”22的颜色等进行设定时,就会涉及原生端和H5端的交互,就可以采用本申请实施例所提供的方法。
再示例性的,如图3所示,示出了另一种应用界面,在该应用界面中,“取消”、“写文章”、“下一步”都可以是移动终端的原生控件,在用户点击“下一步”时,原生端可以调用H5端,显示如图3所示的图片,在图片中还可以显示剪切控件31、删除控件32等,该剪切控件31、删除控件32也是移动终端的原生控件,则点击剪切控件31时,H5端可以调用原生端的剪切控件31,实现对H5端的图片的剪切,因此,该应用界面中,在用户点击“下一步”或点击剪切控件31等时,就会涉及原生端和H5端的交互,就可以采用本申请实施例所提供的方法。
可以理解,实际应用中,还有较多移动终端原生端和H5端交互的具体应用场景,本申请实施例对应用场景不作具体限定。
如图4所示,图4为本申请实施例提供的移动终端原生端与H5端交互的方法的流程示意图。该方法具体可以包括:
步骤S101:桥接层接收第二端的调用请求,所述调用请求包括第一方法名和第二回调方法;其中,所述桥接层保存有所述第一方法名和第一回调方法;所述第一方法名为第一端的业务对应的方法名,所述第一回调方法为所述桥接层指示所述第一端进行所述第一方法名对应的业务的方法,所述第二回调方法为所述桥接层向所述第二端返回数据的方法。
本申请实施例是第二端通过桥接层调用第一端的应用场景,桥接层中保存有第一方法名和第一回调方法名,第一方法名为第一端的业务对应的方法名,第一回调方法为桥接层指示第一端进行所述第一方法名对应的业务的方法,具体实现中,第一端可以预先将第一方法名和第一回调方法名存储在桥接层中,本申请实施例对存储的具体实现不作限定。
第二端通过调用桥接层中的调用方法,向桥接层发送调用请求,则桥接层可以接收到第二端的调用请求,该调用请求中包括第一方法名和第二回调方法,第一方法名为第一端的业务对应的方法名,第二回调方法为桥接层向第二端返回数据的方法。
可以理解,本申请实施例中,第一方法名、第一回调方法名、第二回调方法名的具体内容都可以根据实际应用场景进行设定,桥接层中还可以保存第二方法名,第二方法名为第二端的业务对应的方法名,则第一端也可以向桥接层发送包括第二方法名和第一回调方法名的调用请求,实现对第二端的调用,本申请实施例对此不作具体限定。
步骤S102:所述桥接层调用所述第一回调方法,以指示所述第一端进行所述第一方法名对应的业务。
本申请实施例中,桥接层在接收到第二端的调用请求后,可以调用第一回调方法,以指示第一端进行第一方法名对应的业务。
可以理解,第一方法名对应的业务也可以根据实际的应用场景进行确定,本申请实施例对此不作具体限定。
步骤S103:所述桥接层接收所述第一端返回的结果数据,所述结果数据为所述第一端执行完所述第一方法名对应的业务后得到的数据。
本申请实施例中,第一端可以根据桥接层的指示执行第一方法名对应的业务,得到结果数据,进而将结果数据返回给桥接层,则桥接层可以接收到第一端返回的数据。本申请实施例对结果数据的具体内容不作限定。
步骤S104:所述桥接层调用所述第二回调方法,将所述结果数据发送给所述第二端。
本申请实施例中,桥接层可以调用用于向第二端返回数据的第二回调方法,进而将结构数据发给第二端,则实现了第二端对第一端数据的调用。
作为本申请实施例的一种可选方式,所述移动终端的软件开发工具包SDK的版本大于或等于19。
本申请实施例中,以移动终端的操作***为Android为例,SDK大于或等于19的Android版本可以为高版本移动终端,基于高版本移动终端的配置,可以直接开放原生端与WebView的交互对象;而对于Android低版本移动终端(例如SDK小于19的移动终端),由于没有交互配置,若直接开放原生端和WebView的交互对象,H5的javascript代码可能会直接执行Android的Native代码,可能会导致移动终端本地数据的泄漏,造成安全问题。因此本申请实施例中,SDK大于或等于19的移动终端可以采用图4对应的实施例的方法,对于SDK小于19的移动终端可以采用其他的方法,后续实施例中将进一步说明,在此不再赘述。
在本申请实施例一种可选的实现方式中,桥接层包括:第一调用对象、第二调用对象和第三调用对象,第一调用对象用于与第一端进行数据传输,第二调用对象用于与第二端进行数据传输,第三调用对象用于根据第一调用对象的调用实现对第二调用对象的调用,或,根据第二调用对象的调用实现对第一调用对象的调用。
作为一种具体实现,桥接层中具体包含了第一调用对象、第二调用对象和第三调用对象,第一调用对象用于与第一端进行数据传输,第二调用对象用于与第二端进行数据传输,第三调用对象用于根据第一调用对象的调用实现对第二调用对象的调用,或,根据第二调用对象的调用实现对第一调用对象的调用。本申请实施例的桥接层可以适配不同结构、不同格式的数据传输,而且针对不同业务,能够做到代码耦合度低,和业务分离,方便拆分,同时能够保证在使用原生端和H5传输过程中数据的安全性,能够提升数据传输的效率,降低移动终端性能损耗,降低电量的损耗程度,降低内存。
适应的,桥接层接收第二端的调用请求,包括:第二调用对象接收第二端的调用请求;桥接层调用第一回调方法,包括:第二调用对象调用第三调用对象中包括的第一方法名的呼叫发起方法;第三调用对象根据呼叫发起方法调用第一调用对象;第一调用对象调用第一回调方法。
桥接层接收第一端返回的结果数据,包括:第一调用对象接收第一返回端返回的结果数据;桥接层调用第二回调方法,将结果数据发送给第二端,包括:第一调用对象调用第三调用对象中的呼叫返回方法,将结果数据传输给第三调用对象;第三调用对象根据呼叫返回方法调用第二调用对象,将结果数据传输给第二调用对象;第二调用对象调用第二回调方法,将结果数据发送给第二端。
桥接层接收第二端的调用请求之前,还包括:第一调用对象接收第一端的寄存器调用,寄存器调用用于将第一方法名和第一回调方法保存在第一调用对象中。
具体的,在第一端为原生端,第二端为H5端的情况下,第一调用对象为BridgeWebView,第二调用对象为Bridge.js文件,第三调用对象为NativeJsInterface。在第一端为H5端,第二端为原生端的情况下,第一调用对象为Bridge.js文件,第二调用对象为BridgeWebView,第三调用对象为NativeJsInterface。
示例性的,如图5所示,示出了一种具体的原生端与H5端交互的示意图。
在移动终端端需要从H5端获取H5呈现的内容数据时,以H5端的一个具体方法名叫做“getContent”为例进行说明。
具体的,H5端具体业务调用Bridge.js文件中的registerHandler(“getContent”,handler)把“getContent”方法名保存到Bridge.js文件中,并传输一个handler作为回调;原生端调用BridgeWebView的callHandler(“getContent”,params,CallBackFunction)方法,其中,params是传给H5的参数(如果H5的方法需要参数的话);BridgeWebView调用NativeJsInterface类的callHandler(getContent”,params,CallBackFunction)方法,且NativeJsInterface类保存CallBackFunction对象;NativeJsInterface类调用webview.evaluateJavascript(jsCommand)方法,该方法是真实调用Bridge.js的“nativeCallJsCommon”方法;在Bridge.js的“nativeCallJsCommon”方法中调用H5最开始调用registerHandler并保存的handler,调用handler回调handler(params,responseCallback)将数据传输过去;H5通过responseCallback将内容数据data传输给Bridge.js文件的“jsReturnNativeCommon”方法,在方法内通过window.NativeJsInterface调用原生端的NativeJsInterface类的“js_return_common”方法传输data,其中,window是js里面的window对象,NativeJsInterface是原生端注入给BridgeWebView的交互对象名;在NativeJsInterface类的“js_return_common”方法中获取最开始callHandler传过来的对应方法名”getContent”的CallBackFunction对象,并调用CallBackFunction对象的方法,则原生端就获取到了H5的内容数据data。
在H5端调用原生端时,以原生端具体业务方法叫做:cropImage(裁剪图片)为例进行说明。
具体的,原生端具体业务调用BridgeWebView的registerHandler(“cropImage”,BridgeHandler)把“cropImage”和BridgeHandler对象保存到Map数据里面;H5端调用Bridge.js里面的callHandler(“cropImage”,params,responseFunction)方法,其中,params是传给原生端的参数(如果移动终端端cropImage方法需要参数的话);在Bridge.js文件中继续调用”jsCallNativeCommon”方法,再通过window.NativeJsInterface调用移动终端端的NativeJsInterface类的“js_call_common”方法传输data(比如图片链接imageUrl);在NativeJsInterface类的“js_call_common”方法中获取最开始registerHandler传过来的对应方法名”cropImage”的BridgeHandler对象,并调用BridgeHandler对象的方法,那么H5端就把数据data传给原生端;原生端裁剪图片后,可以根据responseFunction对象,调用回调方法,将裁剪后的数据回调给H5具体业务处。
示例的,如图6所示,以Android端代码结构时序图,示出具体情况下使用本申请实施例的流程示意图。
具体的,原生端和H5端首先进行初始化(init),在初始化完成后,原生端可以通过桥接层调用H5端,H5端可以将数据通过桥接层返回原生端,具体的过程参见前述记载,在此不再赘述。
综上所述,本申请实施例中提供了一种移动终端原生端与H5端交互的方法及装置,在移动终端原生端和H5端之间设置桥接层,该桥接层与具体业务基本无耦合,通过该桥接层可以实现原生端与H5端之间任意数据的交互传输,实现了原生端与H5端的准确、及时的交互。具体来说,本申请实施例中,桥接层接收第二端的调用请求,调用请求包括第一方法名和第二回调方法;其中,桥接层保存有第一方法名和第一回调方法;第一方法名为第一端的业务对应的方法名,第一回调方法为桥接层指示第一端进行第一方法名对应的业务的方法,第二回调方法为桥接层向第二端返回数据的方法;桥接层调用第一回调方法,以指示第一端进行第一方法名对应的业务;桥接层接收第一端返回的结果数据,结果数据为第一端执行完第一方法名对应的业务后得到的数据;桥接层调用第二回调方法,将结果数据发送给第二端;其中,在第一端为原生端的情况下,第二端为H5端;或,在第一端为H5端的情况下,第二端为原生端。
如图7所示,图7为本申请实施例提供的另一种移动终端原生端与H5端交互的方法的流程示意图。该方法具体可以包括:
步骤S201:接收移动终端原生端发送的数据。
步骤S202:在所述数据中存在特征字符的情况下,按照预设的编码规则对所述特征字符进行编码。
步骤S203:将编码后的字符发送给H5端,其中,所述编码规则满足:经所述编码规则编码后的字符,在所述H5端解码后,得到正确的数据。
本申请实施例可以应用在移动终端中,可以在移动终端原生端和H5端之间设置中间件,中间件可以接收移动终端原生端发送的数据,并对判定该数据中是否存在特征字符,在数据中存在特征字符的情况下,按照预设的编码规则对特征字符进行编码,使得H5端对编码收的字符进行解码后,能得到正确的数据。具体的,特征字符可以是加号、空格等,本申请实施例对特征字符不作具体限定。
本申请实施例中,考虑到对于Android低版本移动终端(例如SDK小于19的移动终端),移动终端中的原生端与H5端交互时,在H5端创建标签iframe,在原生端向H5端发送请求数据时,H5端改变iframe的src属性的值,由于Android低版本***webview存在安全性问题,故需要对数据进行加密,WebView需要对请求数据进行编解码,对于一些特征字符的数据(例如加号“+”,英文单引号“’”等)传输,会因为编解码错误导致数据传输错误,因此,本申请实施例的方法可以适用于移动终端的软件开发工具包SDK的版本小于19的应用场景中,通过设置能够特征字符进行处理的中间件,可以解决因为编解码错误导致数据传输错误,提升了移动终端原生端与H5端交互的准确性。
示例的如图8所示,示出了一种低版本移动终端原生端与H5端交互的流程示意图,具体来说,先采用在H5界面创建一个iframe的方式,更新iframe的src属性值,由于Android低版本***webview存在安全性问题,故需要对数据进行加密(如md5等);在H5和Android端增加中间件(也可以成为判断编解码处理模块),进行编解码判断处理,中间件判断是否是编码的数据(比如是否包含特征字符),如果是编码的数据(即不包含特征字符的数据),直接传输,如果不是编码的数据(即包含特征字符的数据),进行编码后再传输,从而保证了Android和h5数据的一致性和正确性。可以理解,在iOS***中也可以基于过程进行原生端与H5端的交互,在此不再赘述。
图9为本申请提供的移动终端原生端与H5端交互的装置一实施例的结构示意图。如图9所示,该装置包括桥接模块301,桥接模块301用于:
接收第二端的调用请求,调用请求包括第一装置名和第二回调装置;其中,桥接层保存有第一装置名和第一回调装置;第一装置名为第一端的业务对应的装置名,第一回调装置为桥接层指示第一端进行第一装置名对应的业务的装置,第二回调装置为桥接层向第二端返回数据的装置;
调用第一回调装置,以指示第一端进行第一装置名对应的业务;
接收第一端返回的结果数据,结果数据为第一端执行完第一装置名对应的业务后得到的数据;
调用第二回调装置,将结果数据发送给第二端;
其中,在第一端为原生端的情况下,第二端为超文本标记语言第5版H5端;或,在第一端为H5端的情况下,第二端为原生端。
可选的,桥接模块包括:第一调用对象、第二调用对象和第三调用对象,第一调用对象用于与第一端进行数据传输,第二调用对象用于与第二端进行数据传输,第三调用对象用于根据第一调用对象的调用实现对第二调用对象的调用,或,根据第二调用对象的调用实现对第一调用对象的调用。
可选的,桥接模块具体用于:
通过第二调用对象接收第二端的调用请求;
通过第二调用对象调用第三调用对象中包括的第一装置名的呼叫发起装置;
通过第三调用对象根据呼叫发起装置调用第一调用对象;
通过第一调用对象调用第一回调装置。
可选的,桥接模块具体还用于:
通过第一调用对象接收第一返回端返回的结果数据;
通过第一调用对象调用第三调用对象中的呼叫返回装置,将结果数据传输给第三调用对象;
通过第三调用对象根据呼叫返回装置调用第二调用对象,将结果数据传输给第二调用对象;
通过第二调用对象调用第二回调装置,将结果数据发送给第二端。
可选的,桥接模块还用于:
通过第一调用对象接收第一端的寄存器调用,寄存器调用用于将第一装置名和第一回调装置保存在第一调用对象中。
可选的,在第一端为原生端,第二端为H5端的情况下,第一调用对象为BridgeWebView,第二调用对象为Bridge.js,第三调用对象为NativeJsInterface。
可选的,在第一端为H5端,第二端为原生端的情况下,第一调用对象为Bridge.js,第二调用对象为BridgeWebView,第三调用对象为NativeJsInterface。
可选的,移动终端的软件开发工具包SDK的版本大于或等于19。
本申请实施例中提供了一种移动终端原生端与H5端交互的方法及装置,在移动终端原生端和H5端之间设置桥接层,该桥接层与具体业务基本无耦合,通过该桥接层可以实现原生端与H5端之间任意数据的交互传输,实现了原生端与H5端的准确、及时的交互。具体来说,本申请实施例中,桥接层接收第二端的调用请求,调用请求包括第一方法名和第二回调方法;其中,桥接层保存有第一方法名和第一回调方法;第一方法名为第一端的业务对应的方法名,第一回调方法为桥接层指示第一端进行第一方法名对应的业务的方法,第二回调方法为桥接层向第二端返回数据的方法;桥接层调用第一回调方法,以指示第一端进行第一方法名对应的业务;桥接层接收第一端返回的结果数据,结果数据为第一端执行完第一方法名对应的业务后得到的数据;桥接层调用第二回调方法,将结果数据发送给第二端;其中,在第一端为原生端的情况下,第二端为H5端;或,在第一端为H5端的情况下,第二端为原生端。
图10为本申请提供的移动终端原生端与H5端交互的装置另一实施例的结构示意图。如图10所示,本实施例提供的移动终端原生端与H5端交互的装置包括编码处理模块401,编码处理模块401用于:
接收移动终端原生端发送的数据;
在数据中存在特征字符的情况下,按照预设的编码规则对特征字符进行编码;
将编码后的字符发送给H5端,其中,编码规则满足:经编码规则编码后的字符,在H5端解码后,得到正确的数据。
可选的,移动终端的软件开发工具包SDK的版本小于19。
本申请实施例中,考虑到对于Android低版本移动终端(例如SDK小于19的移动终端),移动终端中的原生端与H5端交互时,在H5端创建标签iframe,在原生端向H5端发送请求数据时,H5端改变iframe的src属性的值,由于Android低版本***webview存在安全性问题,故需要对数据进行加密,WebView需要对请求数据进行编解码,对于一些特征字符的数据(例如加号“+”,英文单引号“’”等)传输,会因为编解码错误导致数据传输错误,因此,本申请实施例的方法可以适用于移动终端的软件开发工具包SDK的版本小于19的应用场景中,通过设置能够特征字符进行处理的中间件,可以解决因为编解码错误导致数据传输错误,提升了移动终端原生端与H5端交互的准确性。
本申请各实施例提供的移动终端原生端与H5端交互的装置可用于执行如前述各对应的实施例所示的方法,其实现方式与原理相同,不再赘述。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图11所示,是根据本申请实施例的移动终端原生端与H5端交互的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图11所示,该电子设备包括:一个或多个处理器1101、存储器1102,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器***)。图11中以一个处理器1101为例。
存储器1102即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的移动终端原生端与H5端交互的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的移动终端原生端与H5端交互的方法。
存储器1102作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的移动终端原生端与H5端交互的方法对应的程序指令/模块(例如,附图9所示的桥接模块301,或附图10所示的编码处理模块401)。处理器1101通过运行存储在存储器1102中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的移动终端原生端与H5端交互的方法。
存储器1102可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储根据移动终端原生端与H5端交互的电子设备的使用所创建的数据等。此外,存储器1102可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1102可选包括相对于处理器1101远程设置的存储器,这些远程存储器可以通过网络连接至移动终端原生端与H5端交互的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
移动终端原生端与H5端交互的方法的电子设备还可以包括:输入装置1103和输出装置1104。处理器1101、存储器1102、输入装置1103和输出装置1104可以通过总线或者其他方式连接,图11中以通过总线连接为例。
输入装置1103可接收输入的数字或字符信息,以及产生与移动终端原生端与H5端交互的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1104可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的***和技术的各种实施方式可以在数字电子电路***、集成电路***、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程***上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储***、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储***、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的***和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的***和技术实施在包括后台部件的计算***(例如,作为数据服务器)、或者包括中间件部件的计算***(例如,应用服务器)、或者包括前端部件的计算***(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的***和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算***中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将***的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机***可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,在移动终端原生端和H5端之间设置桥接层,该桥接层与具体业务基本无耦合,通过该桥接层可以实现原生端与H5端之间任意数据的交互传输,实现了原生端与H5端的准确、及时的交互。具体来说,本申请实施例中,桥接层接收第二端的调用请求,调用请求包括第一方法名和第二回调方法;其中,桥接层保存有第一方法名和第一回调方法;第一方法名为第一端的业务对应的方法名,第一回调方法为桥接层指示第一端进行第一方法名对应的业务的方法,第二回调方法为桥接层向第二端返回数据的方法;桥接层调用第一回调方法,以指示第一端进行第一方法名对应的业务;桥接层接收第一端返回的结果数据,结果数据为第一端执行完第一方法名对应的业务后得到的数据;桥接层调用第二回调方法,将结果数据发送给第二端;其中,在第一端为原生端的情况下,第二端为H5端;或,在第一端为H5端的情况下,第二端为原生端。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。
Claims (12)
1.一种移动终端原生端与H5端交互的方法,其特征在于,所述方法包括:
桥接层的第二调用对象接收第二端的调用请求,所述调用请求包括第一方法名和第二回调方法;其中,所述桥接层保存有所述第一方法名和第一回调方法;所述第一方法名为第一端的业务方法名,所述第一回调方法为所述桥接层指示所述第一端进行所述第一方法名对应的业务的方法,所述第二回调方法为所述桥接层向所述第二端返回数据的方法;所述桥接层包括:第一调用对象、第二调用对象和第三调用对象,所述第一调用对象用于与第一端进行数据传输,所述第二调用对象用于与第二端进行数据传输,所述第三调用对象用于根据所述第一调用对象的调用实现对所述第二调用对象的调用,或,根据所述第二调用对象的调用实现对所述第一调用对象的调用;
所述第二调用对象调用所述第三调用对象中包括的所述第一方法名的呼叫发起方法,以指示所述第一端进行所述第一方法名对应的业务;
所述第三调用对象根据所述呼叫发起方法调用所述第一调用对象;
所述第一调用对象调用所述第一回调方法;
所述第一调用对象接收所述第一端返回的结果数据,所述结果数据为所述第一端执行完所述第一方法名对应的业务后得到的数据;
所述第一调用对象调用所述第三调用对象中的呼叫返回方法,将所述结果数据传输给所述第三调用对象;
所述第三调用对象根据所述呼叫返回方法调用所述第二调用对象,将所述结果数据传输给所述第二调用对象;
所述第二调用对象调用所述第二回调方法,将所述结果数据发送给所述第二端;
其中,在所述第一端为移动终端原生端的情况下,所述第二端为超文本标记语言第5版H5端;或,在所述第一端为H5端的情况下,所述第二端为移动终端原生端;
所述方法,还包括:
所述第一端预先将第一方法名和第一回调方法名存储在桥接层中;
在所述第二端为原生端,所述第一端为H5端时,所述第三调用对象根据所述呼叫发起方法调用所述第一调用对象,包括:所述第三调用对象根据所述呼叫发起方法调用evaluateJavascript方法;
在所述第二端为H5端,所述第一端为原生端时,所述第三调用对象根据所述呼叫发起方法调用所述第一调用对象,包括:根据所述呼叫发起方法通过window.X调用数据传输方法,其中X为第三调用对象的名称。
2.根据权利要求1所述的方法,其特征在于,所述桥接层接收第二端的调用请求之前,还包括:
所述第一调用对象接收所述第一端的寄存器调用,所述寄存器调用用于将所述第一方法名和所述第一回调方法保存在所述第一调用对象中。
3.根据权利要求1所述的方法,其特征在于,在所述第一端为原生端,所述第二端为H5端的情况下,所述第一调用对象为BridgeWebView,所述第二调用对象为Bridge.js文件,所述第三调用对象为NativeJsInterface。
4.根据权利要求1所述的方法,其特征在于,在所述第一端为H5端,所述第二端为原生端的情况下,所述第一调用对象为Bridge.js文件,所述第二调用对象为BridgeWebView,所述第三调用对象为NativeJsInterface。
5.根据权利要求1所述的方法,其特征在于,所述移动终端的软件开发工具包SDK的版本大于或等于19。
6.一种移动终端原生端与H5端交互的装置,其特征在于,所述装置包括桥接模块,所述桥接模块用于:
接收第二端的调用请求,所述调用请求包括第一装置名和第二回调装置;其中,桥接层保存有所述第一装置名和第一回调装置;所述第一装置名为第一端的业务方法名,所述第一回调装置为所述桥接层指示所述第一端进行所述第一装置名对应的业务的装置,所述第二回调装置为所述桥接层向所述第二端返回数据的装置;
调用所述第一回调装置,以指示所述第一端进行所述第一装置名对应的业务;
接收所述第一端返回的结果数据,所述结果数据为所述第一端执行完所述第一装置名对应的业务后得到的数据;
调用所述第二回调装置,将所述结果数据发送给所述第二端;
其中,在所述第一端为移动终端原生端的情况下,所述第二端为超文本标记语言第5版H5端;或,在所述第一端为H5端的情况下,所述第二端为移动终端原生端;
所述桥接模块,还用于所述第一端预先将第一装置名和第一回调装置名存储在桥接层中;
所述桥接模块包括:第一调用对象、第二调用对象和第三调用对象,所述第一调用对象用于与所述第一端进行数据传输,所述第二调用对象用于与所述第二端进行数据传输,所述第三调用对象用于根据所述第一调用对象的调用实现对所述第二调用对象的调用,或,根据所述第二调用对象的调用实现对所述第一调用对象的调用;
所述桥接模块具体用于:
通过所述第二调用对象接收所述第二端的调用请求;
通过所述第二调用对象调用所述第三调用对象中包括的所述第一装置名的呼叫发起装置;
通过所述第三调用对象根据所述呼叫发起装置调用所述第一调用对象;
通过所述第一调用对象调用所述第一回调装置;
所述桥接模块具体还用于:
通过所述第一调用对象接收所述第一端返回的结果数据;
通过所述第一调用对象调用所述第三调用对象中的呼叫返回装置,将所述结果数据传输给所述第三调用对象;
通过所述第三调用对象根据所述呼叫返回装置调用所述第二调用对象,将所述结果数据传输给所述第二调用对象;
通过所述第二调用对象调用所述第二回调装置,将所述结果数据发送给所述第二端;
在所述第二端为原生端,所述第一端为H5端时,所述桥接模块具体用于:所述第三调用对象根据所述呼叫发起装置调用evaluateJavascript方法;
在所述第二端为H5端,所述第一端为原生端时,所述桥接模块具体用于:根据所述呼叫发起装置通过window.X调用数据传输方法,其中X为第三调用对象的名称。
7.根据权利要求6所述的装置,其特征在于,所述桥接模块还用于:
通过所述第一调用对象接收所述第一端的寄存器调用,所述寄存器调用用于将所述第一装置名和所述第一回调装置保存在所述第一调用对象中。
8.根据权利要求6所述的装置,其特征在于,在所述第一端为原生端,所述第二端为H5端的情况下,所述第一调用对象为BridgeWebView,所述第二调用对象为Bridge.js文件,所述第三调用对象为NativeJsInterface。
9.根据权利要求6所述的装置,其特征在于,在所述第一端为H5端,所述第二端为原生端的情况下,所述第一调用对象为Bridge.js文件,所述第二调用对象为BridgeWebView,所述第三调用对象为NativeJsInterface。
10.根据权利要求6所述的装置,其特征在于,所述移动终端的软件开发工具包SDK的版本大于或等于19。
11.一种电子设备,其特征在于,包括:
至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1-5任一项所述的方法的指令。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,计算机指令用于使所述计算机执行如权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910853843.9A CN110543372B (zh) | 2019-09-10 | 2019-09-10 | 移动终端原生端与h5端交互的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910853843.9A CN110543372B (zh) | 2019-09-10 | 2019-09-10 | 移动终端原生端与h5端交互的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110543372A CN110543372A (zh) | 2019-12-06 |
CN110543372B true CN110543372B (zh) | 2023-03-28 |
Family
ID=68713352
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910853843.9A Active CN110543372B (zh) | 2019-09-10 | 2019-09-10 | 移动终端原生端与h5端交互的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110543372B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324834B (zh) * | 2020-01-20 | 2024-01-16 | 北京有竹居网络技术有限公司 | 图文混排的方法、装置、电子设备及计算机可读介质 |
CN111857667A (zh) * | 2020-07-23 | 2020-10-30 | 平安普惠企业管理有限公司 | 基于Hybird框架的输入方法及相关设备 |
CN113037814B (zh) * | 2021-02-25 | 2022-11-25 | 平安壹钱包电子商务有限公司 | Web容器注入的实现方法、装置、计算机设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562548A (zh) * | 2017-08-04 | 2018-01-09 | 北京趣拿软件科技有限公司 | 传输数据的方法和装置 |
CN109597604A (zh) * | 2018-10-22 | 2019-04-09 | 国网新疆电力有限公司电力科学研究院 | 基于iOS平台的APP模块化开发方法、装置和设备 |
CN109976831A (zh) * | 2019-03-28 | 2019-07-05 | 山东浪潮通软信息科技有限公司 | 一种JavaScript和原生APP之间数据交互方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9292368B2 (en) * | 2010-12-27 | 2016-03-22 | Verizon Patent And Licensing Inc. | Method and apparatus for invoking native functions of a mobile device to control a set-top box |
US8744912B2 (en) * | 2011-04-14 | 2014-06-03 | Koozoo Inc. | Method and system for an advanced player in a network of multiple live video sources |
US9142192B2 (en) * | 2011-09-26 | 2015-09-22 | Intel Corporation | Simulation of web applications and secondary devices in a web browser, web application development tools, and methods using the same |
CN107678778B (zh) * | 2017-03-14 | 2019-12-13 | 平安科技(深圳)有限公司 | 基于Hybrid的兼容方法、适配件、运行装置及*** |
CN108829398B (zh) * | 2018-03-27 | 2022-06-17 | 厦门欣旅通科技有限公司 | 一种移动端页面交互实现方法及装置 |
CN109901827A (zh) * | 2019-03-13 | 2019-06-18 | 厦门美图之家科技有限公司 | 应用交互方法、装置、电子设备及可读存储介质 |
CN110175021A (zh) * | 2019-04-15 | 2019-08-27 | 无锡天脉聚源传媒科技有限公司 | 应用程序与网页的交互方法、***及存储介质 |
-
2019
- 2019-09-10 CN CN201910853843.9A patent/CN110543372B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107562548A (zh) * | 2017-08-04 | 2018-01-09 | 北京趣拿软件科技有限公司 | 传输数据的方法和装置 |
CN109597604A (zh) * | 2018-10-22 | 2019-04-09 | 国网新疆电力有限公司电力科学研究院 | 基于iOS平台的APP模块化开发方法、装置和设备 |
CN109976831A (zh) * | 2019-03-28 | 2019-07-05 | 山东浪潮通软信息科技有限公司 | 一种JavaScript和原生APP之间数据交互方法 |
Non-Patent Citations (2)
Title |
---|
Pinku Hazarika等.Recommendations for Webview Based Mobile Applications on Android.《2014 IEEE International Conference on Advanced Communications, Control and Computing Technologies》.2015,第1589-1592页. * |
张伟龙等.中国建设银行移动金融APP自动化测试实践.《中国金融电脑》.2019,第55-61页. * |
Also Published As
Publication number | Publication date |
---|---|
CN110543372A (zh) | 2019-12-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110543372B (zh) | 移动终端原生端与h5端交互的方法及装置 | |
US10635735B2 (en) | Method and apparatus for displaying information | |
CN111625738B (zh) | App目标页面的唤起方法、装置、设备和存储介质 | |
JP7167222B2 (ja) | アプレットデータの取得方法、装置、機器及び記憶媒体 | |
CN111338623B (zh) | 一种开发用户界面的方法、装置、介质和电子设备 | |
CN111443909B (zh) | 用于生成页面的方法及装置 | |
KR102569210B1 (ko) | 애플릿용 데이터 처리 방법, 장치, 기기 및 매체 | |
US8533734B2 (en) | Application programming interface for managing time sharing option address space | |
CN111510480B (zh) | 一种请求发送方法、装置以及第一服务器 | |
CN113076294A (zh) | 一种信息分享方法和装置 | |
CN111610972A (zh) | 页面生成方法、装置、设备及存储介质 | |
CN112015383A (zh) | 一种登录方法和装置 | |
CN113760438A (zh) | 网页应用的页面显示方法及装置 | |
CN110618768A (zh) | 信息呈现方法和装置 | |
CN112764746B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
JP2021068414A (ja) | ラッピング方法、登録方法、装置、レンダリングディバイス、及びプログラム | |
CN103425473A (zh) | 一种开放式微博的实现方法和*** | |
CN110389857B (zh) | 数据备份的方法、设备和非瞬态计算机存储介质 | |
US8041839B2 (en) | Method and system of providing active web user interface | |
CN112148596B (zh) | 生成深度学习框架的报错内容的方法、装置 | |
CN111177558B (zh) | 频道业务构建方法及装置 | |
US11698823B2 (en) | Application interface implementation method in a host platform layer, device, and medium | |
CN113726584A (zh) | 消息发送方法、装置和电子设备 | |
CN113722115A (zh) | 调用接口的方法、装置、设备和计算机可读介质 | |
CN113760262A (zh) | 任务处理方法、装置、计算机***和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |