CN112559225A - 基于html的原生能力交互方法、设备及存储介质 - Google Patents
基于html的原生能力交互方法、设备及存储介质 Download PDFInfo
- Publication number
- CN112559225A CN112559225A CN202011552777.0A CN202011552777A CN112559225A CN 112559225 A CN112559225 A CN 112559225A CN 202011552777 A CN202011552777 A CN 202011552777A CN 112559225 A CN112559225 A CN 112559225A
- Authority
- CN
- China
- Prior art keywords
- native
- native capability
- html
- capability
- interaction method
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 103
- 230000003993 interaction Effects 0.000 title claims abstract description 100
- 230000015654 memory Effects 0.000 claims description 16
- 230000006854 communication Effects 0.000 claims description 13
- 238000004891 communication Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 6
- 238000013461 design Methods 0.000 abstract description 12
- 230000002452 interceptive effect Effects 0.000 abstract description 9
- 230000006870 function Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 8
- 238000011161 development Methods 0.000 description 7
- 239000011800 void material Substances 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012856 packing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000010191 image analysis Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- 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
- G06F9/548—Object oriented; Remote method invocation [RMI]
-
- 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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/36—Software reuse
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了基于HTML的原生能力交互方法、设备及存储介质。所述方法包括:获取来自Web端的原生能力调用URL数据;所述原生能力调用URL数据包括协议头、协议名、自定义参数;解析所述原生能力调用URL数据,并执行对应操作。本申请实施例提供的基于HTML的原生能力交互方法,与相关技术相比,通过使用包括协议头、协议名、自定义参数的原生能力调用URL数据,统一了交互数据协议,使得在满足原生能力交互的同时,可以多端多App通用,复用性强,其自定义参数的设计可以很好的扩展因业务变更而新增的需求,并且同时兼容旧需求,可维护性好。
Description
技术领域
本申请实施例涉及程序开发技术领域,尤其涉及一种原生能力交互方法、设备及存储介质。
背景技术
终端应用程序开发中,基于HTML(如HTML5)的Web端与Native原生端交互都是基于jsbridge通讯接口实现数据交互,这类接口相当的灵活,没有统一的数据规范。随着业务的逐渐增多,业务的多样性导致通讯数据格式也变的多种多样,使得Web端和Native原生端的代码冗余,可维护性和复用性低。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
本申请实施例提供一种基于HTML的原生能力交互方法、设备及存储介质,能够在满足原生能力交互的同时,有效提高原生交互能力交互操作的可维护性和复用性。
第一方面,本申请实施提供一种基于HTML的原生能力交互方法,所述方法应用于与Web端通信连接的Native原生端,所述方法包括:
获取来自Web端的原生能力调用URL数据;所述原生能力调用URL数据包括协议头、协议名、自定义参数;
解析所述原生能力调用URL数据,并执行对应操作。
在一些可选的实施方式中,解析所述原生能力调用URL数据,包括:
根据所述协议头确定应用类别;
根据所述协议名确定原生能力类别。
在一些可选的实施方式中,所述原生能力调用URL数据还包括固定参数;
对应的,所述基于HTML的原生能力交互方法还包括:
根据所述固定参数,回调执行结果到所述Web端。
在一些可选的实施方式中,原生能力类别包括以下的至少一种:拨打电话原生能力、拍摄原生能力、相册原生能力;
当所述原生能力类别为拨打电话原生能力,所述自定义参数包括电话号码参数;
当所述原生能力类别为拍摄原生能力和/或相册原生能力电话,所述自定义参数包括以下的至少一种:操作类型参数、选图数量限制参数、录制时长限制参数。
在一些可选的实施方式中,所述获取来自Web端的原生能力调用URL数据之前,还包括:在Native原生端注册所述原生能力调用URL数据对应的执行类和方法。
在一些可选的实施方式中,一种基于HTML的原生能力交互方法,还包括:
接收来自插件工具的拓展原生能力插件;
将所述拓展原生能力插件添加到Native原生端。
第二方面,本申请还提供一种基于HTML的原生能力交互方法,所述方法应用于与Native原生端通信连接的Web端,所述方法包括:
发送原生能力调用URL数据到Native原生端,以使Native原生端执行如第一方面所述的基于HTML的原生能力交互方法;所述原生能力调用URL数据包括协议头、协议名、自定义参数。
第三方面,本申请还提供一种基于HTML的原生能力交互方法,所述方法应用于原生能力交互系统,所述原生能力交互系统包括Web端和Native原生端,所述Web端和所述Native原生端通信连接,所述方法包括:
所述Web端执行如第二方面所述的基于HTML的原生能力交互方法;
所述Native原生端执行如第一方面所述的基于HTML的原生能力交互方法。
第四方面,本申请还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现:
如第一方面所述的基于HTML的原生能力交互方法;
或者,
如第二方面所述的基于HTML的原生能力交互方法;
或者,
如第三方面所述的基于HTML的原生能力交互方法。
第五方面,本申请还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行:
如第一方面所述的基于HTML的原生能力交互方法;
或者,
如第二方面所述的基于HTML的原生能力交互方法;
或者,
如第三方面所述的基于HTML的原生能力交互方法。
本申请实施例第一方面提供的基于HTML的原生能力交互方法,与相关技术相比,通过使用包括协议头、协议名、自定义参数的原生能力调用URL数据,统一了交互数据协议,使得在满足原生能力交互的同时,可以多端多App通用,复用性强,其自定义参数的设计可以很好的扩展因业务变更而新增的需求,并且同时兼容旧需求,可维护性好。
可以理解的是,上述第二方面至第五方面与相关技术相比存在的有益效果与上述第一方面与相关技术相比存在的有益效果相同,可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来说,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一个实施例提供的用于执行基于HTML的原生能力交互方法的系统架构的示意图;
图2是本申请一个实施例提供的应用于Native原生端的基于HTML的原生能力交互方法的流程图;
图3是本申请另一个实施例提供的应用于Native原生端的基于HTML的原生能力交互方法的流程图;
图4是本申请另一个实施例提供的应用于Native原生端的基于HTML的原生能力交互方法的流程图;
图5是本申请另一个实施例提供的应用于Native原生端的基于HTML的原生能力交互方法的流程图;
图6是本申请另一个实施例提供的用于执行基于HTML的原生能力交互方法的系统架构的示意图;
图7是本申请一个实施例提供的应用于Web端的基于HTML的原生能力交互方法的流程图;
图8是本申请一个实施例提供的应用于原生能力交互系统的基于HTML的原生能力交互方法的流程图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请实施例。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请实施例的描述。
需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
还应当理解,在本申请实施例说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请实施例的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例第一方面提供的基于HTML(Hyper Text Markup Language,超级文本标记语言)的原生能力交互方法,与相关技术相比,通过使用包括协议头、协议名、自定义参数的原生能力调用URL(Uniform Resource Locator,统一资源定位器)数据,统一了交互数据协议,使得在满足原生能力交互的同时,可以多端多App通用,复用性强,其自定义参数的设计可以很好的扩展因业务变更而新增的需求,并且同时兼容旧需求,可维护性好。
下面结合附图,对本申请实施例作进一步阐述。
如图1所示,图1是本申请一个实施例提供的用于执行基于HTML的原生能力交互方法的系统架构的示意图。在图1的示例中,该系统架构包括Web端110和Native原生端120。该系统架构可以运行在终端设备中,终端设备可以为移动终端设备,也可以为非移动终端设备。移动终端设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载终端设备、可穿戴设备、超级移动个人计算机、上网本、个人数字助理等;非移动终端设备可以为个人计算机、电视机、柜员机或者自助机等;本发明实施方案不作具体限定。移动终端设备可以是运行有操作系统,例如,Android操作系统或IOS操作系统等。
其中,Web端110与Native原生端120通信连接,Web端110为应用端,Web端基于HTML(如HTML5)开发,Web端可通过协议接口调用Native原生端120的原生能力插件。
Native原生端120与Web端通信连接,具有至少一种原生能力,例如摄像头原生能力、拨打电话原生能力、麦克风原生能力、图像分析原生能力等。在一些实施例中,Native原生端的原生能力可扩展。
本申请实施例描述的系统架构以及应用场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1中示出的系统架构并不构成对本申请实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在图1所示的系统架构中,Web端110和Native原生端120可以分别调用其储存的原生能力交互程序,以执行基于HTML的原生能力交互方法。
本申请实施提供一种基于HTML的原生能力交互方法,所述方法应用于与Web端110通信连接的Native原生端120,参照图2,所述方法包括:
步骤S1100,获取来自Web端110的原生能力调用URL数据;所述原生能力调用URL数据包括协议头、协议名、自定义参数;
步骤S1200,解析所述原生能力调用URL数据,并执行对应操作。
在智能终端(如移动端)的混合开发领域,Web端110与Native原生端120交互都是基于jsbridge通讯接口实现数据交互,这类接口相当的灵活,没有统一的数据规范,随着业务的逐渐增多,业务的多样性导致通讯数据格式也变的多种多样,使得Web端110和Native原生端120的代码冗余,可维护性和复用性低,同时,也增加了Web端110与Native原生端120原生能力业务编写的成本。
在一些实施例中,步骤S1200中对应操作指的是原生能力调用URL数据中对应的原生能力操作,如启用拍照、相册调用、拨打电话等操作。
在一些实施例中,本申请实施例提供了统一的交互数据结构,数据结构基于URL的格式设计,包括协议头、协议名、自定义参数、固定参数。由于使用了统一的设计原则使得设计的协议可以多端多App通用,复用性强,其自定义参数的设计可以很好的扩展因业务变更而新增的需求,并且同时兼容旧需求,维护性好。例如,在拨打电话原生能力调用中,Native原生端120可接收来自Web端110的原生能力调用URL数据
“eim://com.comtop.eim/system/phonecall?phonenum=13798560150&success=sucCall&fail=failCall”。
其中,“eim://com.comtop.eim”作为协议头区别不同的应用,即识别该指令为原生能力调用URL数据。
“system/phonecall”作为协议名,说明是调用拨打电话功能,即说明原生能力类别。协议名可自定义。
“phonenum=13798560150&success=sucCall&fail=failCall”为参数,“phonenum”为自定义参数,success和fail为固定的成功和失败回调参数。
其中,参数说明phonenum为电话号码,success表示成功回调,fail表示失败回调。
在一些实施例中,Native原生端120的原生能力调用成功,可以无返回参数;Native原生端120的原生能力调用失败,可以返回String失败原因字符串。
本申请实施例通过在程序混合开发中,Web端110与Native原生端120通讯过程中统一的传输数据格式规范。在Web端110与Native原生端120数据传输更统一清晰规范,提高了可读性,降低了维护成本。
本申请实施例提供的基于HTML的原生能力交互方法,与相关技术相比,通过使用包括包括协议头、协议名、自定义参数的原生能力调用URL数据,统一了交互数据协议,使得在满足原生能力交互的同时,可以多端多App通用,复用性强,其自定义参数的设计可以很好的扩展因业务变更而新增的需求,并且同时兼容旧需求,可维护性好。
在一些实施例中,解析所述原生能力调用URL数据,包括:
步骤S1210,根据所述协议头确定应用类别;
步骤S1220,根据所述协议名确定原生能力类别。
在一些实施例中,协议头用于确定应用类别,也即是,协议头用于识别Native原生端120接收到的指令为原生能力调用URL数据。例如,原生能力调用URL数据
“eim://com.comtop.eim/system/phonecall?phonenum=13798560150&success=sucCall&fail=failCall”中,“eim://com.comtop.eim”作为协议头区别不同的应用,即识别该指令为原生能力调用URL数据。
在一些实施例中,协议名用于确定原生能力类别,也即是,协议头用于识别原生能力调用URL数据需要调用何种的原生能力。例如,原生能力调用URL数据
“eim://com.comtop.eim/system/phonecall?phonenum=13798560150&success=sucCall&fail=failCall”中,“system/phonecall”作为协议名,说明是调用拨打电话功能,即说明原生能力类别。协议名可自定义。
在一些实施例中,该Native原生端120解析和执行URL数据的部分代码实现如下:
“
执行协议
@param protocol协议字符串
Qparam param协议参数
参数中会包含Webview对象以及ViewController对象用于交互
Webview:object
viewController:object
(void)execute:(NSString*)protocol param:(NSDictionary*)param block:(void(A)
(NSDictionary
*param))block execFailBlock:(void(A)(NSError*error))failBlock{...}
”。
Native原生端120通过调用上述程序解析数据,执行对应的操作,并且回调执行结果给Web端110。回调执行结果遵循固定参数的协议要求。
在一些实施例中,所述原生能力调用URL数据还包括固定参数;
对应的,参照图3,所述基于HTML的原生能力交互方法还包括:
步骤S1300,根据所述固定参数,回调执行结果到所述Web端110。
在一些实施例中,Web端110传递URL格式数据到Native原生端120,Native原生端120解析数据并执行对应的事件,最后返回执行结果给Web端110。
例如,原生能力调用URL数据
“eim://com.comtop.eim/system/phonecall?phonenum=13798560150&success=sucCall&fail=failCall”中,success和fail为固定的成功和失败回调参数。其中,参数说明phonenum为电话号码,success表示成功回调,fail表示失败回调。
在一些实施例中,Native原生端120的原生能力调用成功,可以无返回参数;Native原生端120的原生能力调用失败,可以返回String失败原因字符串。
在一些实施例中,原生能力类别包括以下的至少一种:拨打电话原生能力、拍摄原生能力、相册原生能力等。
当所述原生能力类别为拨打电话原生能力,所述自定义参数包括电话号码参数。
例如,在拨打电话原生能力调用中,Native原生端120可接收来自Web端110的原生能力调用URL数据
“eim://com.comtop.eim/system/phonecall?phonenum=13798560150&success=sucCall&fail=failCall”。
其中,“eim://com.comtop.eim”作为协议头区别不同的应用,即识别该指令为原生能力调用URL数据。
“system/phonecall”作为协议名,说明是调用拨打电话功能,即说明原生能力类别。协议名可自定义。
“phonenum=13798560150&success=sucCall&fail=failCall”为参数,“phonenum”为自定义参数,success和fail为固定的成功和失败回调参数。
其中,参数说明phonenum为电话号码,success表示成功回调,fail表示失败回调。
在一些实施例中,Native原生端120的原生能力调用成功,可以无返回参数;Native原生端120的原生能力调用失败,可以返回String失败原因字符串。
当所述原生能力类别为拍摄原生能力和/或相册原生能力电话,所述自定义参数包括以下的至少一种:操作类型参数、选图数量限制参数、录制时长限制参数等。
例如,拍摄/相册数据结构设计:
“eim://com.comtop.eim/system/shoot?type=0&limit=9&maxduration=15&success=sucCall&fail=failCall”。
Native原生端120可接收来自Web端110的原生能力调用URL数据
“eim://com.comtop.eim/system/shoot?type=0&limit=9&maxduration=15&success=sucCall&fail=failCall”。
“eim://com.comtop.eim”作为协议头区别不同的应用,即识别该指令为原生能力调用URL数据。
“system/shoot”协议名,说明是调用拍照/相册功能,即说明原生能力类别。协议名可自定义。
操作类型参数type、选图数量限制参数limit、录制时长限制参数maxduration、success、fail为参数。其中操作类型参数type、选图数量限制参数limit和录制时长限制参数maxduration为自定义参数,success和fail为固定的成功和失败回调参数。
参数说明如下:
type:
0:默认值,拍照/摄像/相册选择,终端弹出选择框;
1:仅相册选择直接打开相册;
2:拍摄拍照和摄像都支持直接弹出拍摄界面;
3:仅拍照直接打开拍照界面;
4:仅摄像直接打开摄像界面;
limit:选图最大张数。
maxduration:视频录制最大时长,例如,可设置默认为15秒,最大不超过60秒。
在一些实施例中,执行操作后,Native原生端120可反馈回调参数给Web端110,例如:
成功返回参数:
type:0:视频1:照片
path:视频/照片资源路径
thumbnailDataStr:base64之后的缩略图数据
失败返回参数:
String失败原因字符串。
参照图4,在一些实施例中,所述获取来自Web端110的原生能力调用URL数据之前,还包括:
步骤S1400,在Native原生端120注册所述原生能力调用URL数据对应的执行类和方法。
在一些实施例中,Native原生端120要支持原生能力调用URL数据的解析和操作,需要先注册原生能力调用URL数据对应的执行类和方法。通过执行步骤S1400,提供对数据结构的注册、解析、交互能力。
在一些实施例中,针对URL形式的数据,可以再Native原生端120专门编写用于其注册,解析和交互的类,在全局解耦分发数据。
以注册相机/相册原生能力为例,Native原生端120注册数据的部分代码如下:
“
*模块初始化的引导函数入口,app启动时候会调用每个模块的此方法获取注册服务信息
**/
-(void)registerModuleCommand{
/**============================注册类方法
=============================**/
//相机、相册
[CTPShell
registerClassMethodCommand:@"system/imcrop"className:Q"CTPJSSDKPhotoProtocolHandle"
methodName:0"imcrop:"];
//选图
[CTPShell registerClassMethodCommand:
0"photo/select"className:Q"CTPJSSDKPhotoProtocolHandle"
methodName:0/"selectImage:"];
”。
Native原生端120通过执行上述程序,注册URL数据对应的执行类和方法。
参照图5和图6,在一些实施例中,一种基于HTML的原生能力交互方法,还包括:
步骤S1500,接收来自插件工具200的拓展原生能力插件;
步骤S1600,将所述拓展原生能力插件添加到Native原生端120。
在一些实施例中,基于HTML的原生能力交互方法支持第三方扩展Native原生端120的原生能力。通过执行步骤S1500和步骤S1600,接收来自插件工具200的拓展原生能力插件,将所述拓展原生能力插件添加到Native原生端120,实现Native原生端120的原生能力的扩展。
在一些实施例中,基于URL数据格式的设计,提供一套可扩展的插件机制,插件本身为一个可独立运行的代码模块,通过命令方式,简单的接入到工程中,为工程拓展新的原生能力。
在一些实施例中,参照图6,插件工具200包括打包工具jenkins,在使用jenkins打包前,上传资源包中包含poros_plugins文件夹,其目录下包含自定义的插件,执行打包命令,即可动态加入插件功能到工程中。这些插件满足我们自定义数据格式的注册解析执行,且可独立运行。插件工具200可以运行在第三方硬件平台中,如PC端、服务器端等。例如,原生能力插件上传到jenkins打包服务器上,执行注入插件的脚本,将插件添加到Native原生端120。此时Web端110就可以使用插件的接口进行开发了。
本申请实施例支持扩展原生能力的扩展机制。对于多种多样的原生端能力的需求,提供了可扩展的插件能力,提高了健壮性。
本申请实施例提供的基于HTML的原生能力交互方法,与相关技术相比,通过使用包括包括协议头、协议名、自定义参数的原生能力调用URL数据,统一了交互数据协议,使得在满足原生能力交互的同时,可以多端多App通用,复用性强,其自定义参数的设计可以很好的扩展因业务变更而新增的需求,并且同时兼容旧需求,可维护性好。
另外,本申请还提供一种基于HTML的原生能力交互方法,所述方法应用于与Native原生端120通信连接的Web端110,参照图7,所述方法包括:
步骤S2100,发送原生能力调用URL数据到Native原生端120,以使Native原生端120执行如上述的基于HTML的原生能力交互方法(如上述步骤S1100和步骤1200);所述原生能力调用URL数据包括协议头、协议名、自定义参数。
在另一些实施例中,一种基于HTML的原生能力交互方法还包括:
步骤S2200,Web端110接收来自Native原生端120通过执行上述步骤S1300返回的回调数据,以判断Native原生端120执行的状态。
本申请实施例提供的基于HTML的原生能力交互方法,与相关技术相比,通过使用包括包括协议头、协议名、自定义参数的原生能力调用URL数据,统一了交互数据协议,使得在满足原生能力交互的同时,可以多端多App通用,复用性强,其自定义参数的设计可以很好的扩展因业务变更而新增的需求,并且同时兼容旧需求,可维护性好。
另外,本申请还提供一种基于HTML的原生能力交互方法,所述方法应用于原生能力交互系统,所述原生能力交互系统包括Web端110和Native原生端120,所述Web端110和所述Native原生端120通信连接,参照图8,所述方法包括:
步骤S3100,所述Web端110执行如上述的基于HTML的原生能力交互方法。例如,Web端110执行如上述步骤S1100和步骤S1200的基于HTML的原生能力交互方法。
步骤S3200,所述Native原生端120执行如上述的基于HTML的原生能力交互方法。例如,Native原生端120执行如上述步骤S2100和步骤S2200的基于HTML的原生能力交互方法。
本申请实施例提供的基于HTML的原生能力交互方法,与相关技术相比,通过使用包括包括协议头、协议名、自定义参数的原生能力调用URL数据,统一了交互数据协议,使得在满足原生能力交互的同时,可以多端多App通用,复用性强,其自定义参数的设计可以很好的扩展因业务变更而新增的需求,并且同时兼容旧需求,可维护性好。
另外,本申请还提供一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现:
如上述的基于HTML的原生能力交互方法。
处理器和存储器可以通过总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
需要说明的是,本实施例中的电子设备,可以应用为如图1所示实施例的系统架构中的电子设备,本实施例中的电子设备和如图1所示实施例的系统架构中的电子设备具有相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
实现上述实施例的基于HTML的原生能力交互方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的基于HTML的原生能力交互方法,例如,执行以上描述的图2中的方法步骤S1100至步骤S1200,或者,执行以上描述的图7中的方法步骤S2100至步骤S2200,或者,执行以上描述的图8中的方法步骤S3100至步骤S3200。
本申请实施例第一方面提供的基于HTML的原生能力交互方法,与相关技术相比,通过使用包括包括协议头、协议名、自定义参数的原生能力调用URL数据,统一了交互数据协议,使得在满足原生能力交互的同时,可以多端多App通用,复用性强,其自定义参数的设计可以很好的扩展因业务变更而新增的需求,并且同时兼容旧需求,可维护性好。
另外,本申请还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行:
如上述的基于HTML的原生能力交互方法。
该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制器执行,例如,被上述电子设备实施例中的一个处理器执行,可使得上述处理器执行上述实施例中的基于HTML的原生能力交互方法,例如,执行以上描述的图2中的方法步骤步骤S1100至步骤S1200,或者,执行以上描述的图7中的方法步骤S2100至步骤S2200,或者,执行以上描述的图8中的方法步骤S3100至步骤S3200。
本申请实施例提供的基于HTML的原生能力交互方法,与相关技术相比,通过获取来自插件仓库的原生功能插件,将所述原生功能插件添加到插件目录,根据所述插件目录,将插件目录对应的原生功能插件打包进HTML应用程序包。本申请实施例实现原生能力的快速热插拔,降低原生能力开发难度,节省开发成本,提升开发效率,同时让整个系统更加稳定,维护更加便捷,从而有效提高原生交互能力开发操作的灵活性和便捷性。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请实施例的较佳实施进行了具体说明,但本申请实施例并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请实施例精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请实施例权利要求所限定的范围内。
Claims (10)
1.一种基于HTML的原生能力交互方法,其特征在于,所述方法应用于与Web端通信连接的Native原生端,所述方法包括:
获取来自Web端的原生能力调用URL数据;所述原生能力调用URL数据包括协议头、协议名、自定义参数;
解析所述原生能力调用URL数据,并执行对应操作。
2.根据权利要求1所述的一种基于HTML的原生能力交互方法,其特征在于,解析所述原生能力调用URL数据,包括:
根据所述协议头确定应用类别;
根据所述协议名确定原生能力类别。
3.根据权利要求1或2所述的一种基于HTML的原生能力交互方法,其特征在于,所述原生能力调用URL数据还包括固定参数;
对应的,所述方法还包括:
根据所述固定参数,回调执行结果到所述Web端。
4.根据权利要求1或2所述的一种基于HTML的原生能力交互方法,其特征在于,原生能力类别包括以下的至少一种:拨打电话原生能力、拍摄原生能力、相册原生能力;
当所述原生能力类别为拨打电话原生能力,所述自定义参数包括电话号码参数;
当所述原生能力类别为拍摄原生能力和/或相册原生能力电话,所述自定义参数包括以下的至少一种:操作类型参数、选图数量限制参数、录制时长限制参数。
5.根据权利要求1或2所述的一种基于HTML的原生能力交互方法,其特征在于,所述获取来自Web端的原生能力调用URL数据之前,还包括:
在Native原生端注册所述原生能力调用URL数据对应的执行类和方法。
6.根据权利要求1或2所述的一种基于HTML的原生能力交互方法,其特征在于,还包括:
接收来自插件工具的拓展原生能力插件;
将所述拓展原生能力插件添加到Native原生端。
7.一种基于HTML的原生能力交互方法,其特征在于,所述方法应用于与Native原生端通信连接的Web端,所述方法包括:
发送原生能力调用URL数据到Native原生端,以使Native原生端执行如权利要求1至6任一项所述的基于HTML的原生能力交互方法;所述原生能力调用URL数据包括协议头、协议名、自定义参数。
8.一种基于HTML的原生能力交互方法,其特征在于,所述方法应用于原生能力交互系统,所述原生能力交互系统包括Web端和Native原生端,所述Web端和所述Native原生端通信连接,所述方法包括:
所述Web端执行如权利要求7所述的基于HTML的原生能力交互方法;
所述Native原生端执行如权利要求1至6任一项所述的基于HTML的原生能力交互方法。
9.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现:
如权利要求1至6任意一项所述的基于HTML的原生能力交互方法;
或者,
如权利要求7所述的基于HTML的原生能力交互方法;
或者,
如权利要求8所述的基于HTML的原生能力交互方法。
10.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行:
如权利要求1至6任意一项所述的基于HTML的原生能力交互方法;
或者,
如权利要求7所述的基于HTML的原生能力交互方法;
或者,
如权利要求8所述的基于HTML的原生能力交互方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011552777.0A CN112559225A (zh) | 2020-12-24 | 2020-12-24 | 基于html的原生能力交互方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011552777.0A CN112559225A (zh) | 2020-12-24 | 2020-12-24 | 基于html的原生能力交互方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112559225A true CN112559225A (zh) | 2021-03-26 |
Family
ID=75033684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011552777.0A Pending CN112559225A (zh) | 2020-12-24 | 2020-12-24 | 基于html的原生能力交互方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112559225A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622211A (zh) * | 2011-01-27 | 2012-08-01 | 腾讯科技(深圳)有限公司 | 一种应用程序开发的方法和装置 |
CN105204875A (zh) * | 2014-06-11 | 2015-12-30 | 腾讯科技(深圳)有限公司 | 网页调用native功能的方法和系统 |
CN105607895A (zh) * | 2014-11-21 | 2016-05-25 | 阿里巴巴集团控股有限公司 | 一种基于应用程序编程接口的应用程序的运行方法和装置 |
CN107870821A (zh) * | 2016-09-26 | 2018-04-03 | 平安科技(深圳)有限公司 | 应用程序的跨平台调用方法及系统 |
CN109062626A (zh) * | 2018-07-09 | 2018-12-21 | 北京奇艺世纪科技有限公司 | Web页面组件与Native组件的交互方法、装置及设备 |
CN109901827A (zh) * | 2019-03-13 | 2019-06-18 | 厦门美图之家科技有限公司 | 应用交互方法、装置、电子设备及可读存储介质 |
-
2020
- 2020-12-24 CN CN202011552777.0A patent/CN112559225A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622211A (zh) * | 2011-01-27 | 2012-08-01 | 腾讯科技(深圳)有限公司 | 一种应用程序开发的方法和装置 |
CN105204875A (zh) * | 2014-06-11 | 2015-12-30 | 腾讯科技(深圳)有限公司 | 网页调用native功能的方法和系统 |
CN105607895A (zh) * | 2014-11-21 | 2016-05-25 | 阿里巴巴集团控股有限公司 | 一种基于应用程序编程接口的应用程序的运行方法和装置 |
CN107870821A (zh) * | 2016-09-26 | 2018-04-03 | 平安科技(深圳)有限公司 | 应用程序的跨平台调用方法及系统 |
CN109062626A (zh) * | 2018-07-09 | 2018-12-21 | 北京奇艺世纪科技有限公司 | Web页面组件与Native组件的交互方法、装置及设备 |
CN109901827A (zh) * | 2019-03-13 | 2019-06-18 | 厦门美图之家科技有限公司 | 应用交互方法、装置、电子设备及可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6740373B2 (ja) | ページコンポーネント動的レイアウト | |
CN109992465B (zh) | 服务追踪方法、装置和计算机可读存储介质 | |
JP6110950B2 (ja) | オンボードハードウェア関数を備えたウェブページ | |
CN112612536B (zh) | 基于Linux系统中Android应用程序控制摄像的方法及装置 | |
US11909812B2 (en) | Application control method and apparatus, electronic device, and storage medium | |
CN110730208A (zh) | 一种本地设备调用方法、装置、存储介质及设备 | |
CN110417766A (zh) | 一种协议解析的方法和装置 | |
CN104049986A (zh) | 插件加载方法及装置 | |
CN107798064B (zh) | 页面处理方法、电子设备及计算机可读存储介质 | |
EP3061214B1 (en) | Method and apparatus for displaying image | |
CN115794095B (zh) | 基于JavaScript的虚幻引擎UI开发方法及系统 | |
CN105786476B (zh) | 移动客户端与服务器之间的数据处理方法及系统 | |
CN110442407B (zh) | 应用程序的处理方法及装置 | |
CN113347450B (zh) | 一种多应用共享音视频设备的方法、装置和系统 | |
CN110806913A (zh) | 网页截图方法、装置及设备 | |
CN106844763B (zh) | 一种对互联网媒体文件进行修改式展现的方法及其装置 | |
CN103902635A (zh) | 获取实时数据的方法、浏览器、多媒体设备及移动终端 | |
CN112559225A (zh) | 基于html的原生能力交互方法、设备及存储介质 | |
CN112764746B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN112328330A (zh) | iOS组件的调用方法、装置、中间件、电子设备及介质 | |
CN105488199B (zh) | 混合表单处理方法、装置以及移动终端 | |
CN110806856A (zh) | 一种数据加载方法、装置及电子设备 | |
CN114244758B (zh) | 安卓平台的网络诊断方法、存储介质、电子设备及系统 | |
CN107643952B (zh) | 本地类库调用方法和装置 | |
CN112437192B (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 |