CN116661894A - 原生插件调用方法、装置、终端设备及存储介质 - Google Patents

原生插件调用方法、装置、终端设备及存储介质 Download PDF

Info

Publication number
CN116661894A
CN116661894A CN202310637477.XA CN202310637477A CN116661894A CN 116661894 A CN116661894 A CN 116661894A CN 202310637477 A CN202310637477 A CN 202310637477A CN 116661894 A CN116661894 A CN 116661894A
Authority
CN
China
Prior art keywords
plug
platform
native
calling
information
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
Application number
CN202310637477.XA
Other languages
English (en)
Inventor
任涛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Huitongtianxia Iot Technology Co ltd
Original Assignee
Beijing Huitongtianxia Iot Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Huitongtianxia Iot Technology Co ltd filed Critical Beijing Huitongtianxia Iot Technology Co ltd
Priority to CN202310637477.XA priority Critical patent/CN116661894A/zh
Publication of CN116661894A publication Critical patent/CN116661894A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明的实施例提供了一种原生插件调用方法、装置、终端设备及存储介质,涉及计算机技术领域。应用于安装预设跨平台应用开发软件以及插件接入模块的终端设备,该方法包括:采用预设跨平台应用开发软件获取待调用的目标插件对应的原生平台的信息以及目标插件对应的功能调用参数;并采用该应用软件将原生平台的信息以及功能调用参数传输至插件接入模块;插件接入模块对针对目标插件的原生平台的信息和功能调用参数进行编码,生成目标插件对应的编码数据,并将编码数据传输至终端设备上的原生平台;原生平台对编码数据进行解析,得到功能调用参数,并根据功能调用参数,执行目标插件的功能操作。本申请提高了应用开发软件对于原生插件的接入效率。

Description

原生插件调用方法、装置、终端设备及存储介质
技术领域
本发明涉及计算机技术领域,具体而言,涉及一种原生插件调用方法、装置、终端设备及存储介质。
背景技术
在应用开发过程中,开发人员通常采用跨平台应用开发软件,又称跨平台应用开发框架进行应用程序的开发。
在跨平台应用开发软件进行应用程序开发的过程中,可能需要调用原生平台的原生插件,以方便应用程序的开发。然而,在目前的技术中,原生平台上的原生插件对于跨平台应用开发软件,无法实现直接调用,且每接入一个原生插件,均需要预先在跨平台应用开发软件和原生平台上分别创建对应的通信模块,以便于在原生平台上的原生插件接入跨平台应用开发软件的过程中,跨平台应用开发软件和原生平台之间进行数据传输。
随着需要接入的原生插件的数量增多,使得跨平台应用开发软件接入原生插件所需要创建的通信模块的工作量也呈比例增加,进而使得跨平台应用开发软件对于原生插件的接入效率严重低下。
发明内容
本发明的目的包括,例如,提供了一种原生插件调用方法、装置、终端设备及存储介质,其能够提高跨平台应用开发软件对于原生插件的接入效率。
为了实现上述目的,本申请实施例采用的技术方案如下:
第一方面,本申请实施例提供了一种原生插件调用方法,应用于安装预设跨平台应用开发软件以及插件接入模块的终端设备,所述方法包括:
采用所述预设跨平台应用开发软件获取待调用的目标插件对应的原生平台的信息以及所述目标插件对应的功能调用参数;
采用所述预设跨平台应用开发软件将所述原生平台的信息以及所述功能调用参数传输至所述插件接入模块;
采用所述插件接入模块对针对所述目标插件的所述原生平台的信息和所述功能调用参数进行编码,生成所述目标插件对应的编码数据;
采用所述插件接入模块将所述编码数据传输至所述终端设备上的所述原生平台;
采用所述原生平台对所述编码数据进行解析,得到所述功能调用参数,并根据所述功能调用参数,执行所述目标插件的功能操作。
可选地,所述采用所述预设跨平台应用开发软件获取待调用的目标插件对应的原生平台的信息以及所述目标插件对应的功能调用参数,包括:
采用所述预设跨平台应用开发软件通过调用所述插件接入模块预先提供的第一接口,获取所述原生平台的信息;
采用所述预设跨平台应用开发软件通过调用所述插件接入模块预先提供的第二接口,获取所述功能调用参数。
可选地,所述功能调用参数包括:平台类信息、调用方法信息以及传递参数;所述第二接口包括:平台类接口以及调用方法接口;
所述采用所述预设跨平台应用开发软件通过调用所述插件接入模块预先提供的第二接口,获取所述功能调用参数,包括:
采用所述预设跨平台应用开发软件通过调用所述平台类接口获取所述平台类信息,通过调用所述调用方法接口获取所述调用方法信息以及所述传递参数。
可选地,所述采用所述插件接入模块对针对所述目标插件的所述原生平台的信息和所述功能调用参数进行编码,生成所述目标插件对应的编码数据,包括:
采用所述插件接入模块将针对同一个所述目标插件的所述原生平台的信息和所述功能调用参数组合为一个节点数据,并将所述节点数据进行编码,生成针对同一个所述目标插件的预设编码格式的所述编码数据。
可选地,所述采用所述预设跨平台应用开发软件将所述原生平台的信息以及所述功能调用参数传输至所述插件接入模块,包括:
采用所述预设跨平台应用开发软件将所述原生平台的信息以及所述功能调用参数通过第一方法通道传输至所述插件接入模块;
所述采用所述插件接入模块将所述编码数据传输至所述终端设备上的所述原生平台,包括:
采用所述插件接入模块将所述编码数据通过第二方法通道传输至所述原生平台。
可选地,所述方法还包括:
若所述目标插件还具有返回参数,则采用所述原生平台通过所述插件接入模块将所述返回参数传输至所述预设跨平台应用开发软件。
可选地,所述采用所述原生平台对所述编码数据进行解析,得到所述功能调用参数,包括:
若所述原生平台为第一系统平台,则采用所述原生平台通过运行时间动态解析方法对所述编码数据进行解析,得到所述功能调用参数;
或者,
若所述原生平台为第二系统平台,则采用所述原生平台通过反射动态解析方法对所述编码数据进行解析,得到所述功能调用参数。
第二方面,本申请实施例提供了一种原生插件调用装置,应用于安装预设跨平台应用开发软件以及插件接入模块的终端设备,所述原生插件调用装置包括:
第一获取模块,用于采用所述预设跨平台应用开发软件获取待调用的目标插件对应的原生平台的信息以及所述目标插件对应的功能调用参数;第一传输模块,用于采用所述预设跨平台应用开发软件将所述原生平台的信息以及所述功能调用参数传输至所述插件接入模块;
编码模块,用于采用所述插件接入模块对针对所述目标插件的所述原生平台的信息和所述功能调用参数进行编码,生成所述目标插件对应的编码数据;
第二传输模块,用于采用所述插件接入模块将所述编码数据传输至所述终端设备上的所述原生平台;
调用模块,用于采用所述原生平台对所述编码数据进行解析,得到所述功能调用参数,并根据所述功能调用参数,执行所述目标插件的功能操作。
第三方面,本申请实施例提供了一种终端设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现第一方面任一所述的原生插件调用方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面中任一项所述的原生插件调用方法的步骤。
相对于现有技术而言,本申请具有以下有益效果:
本发明的实施例提供了一种原生插件调用方法、装置、终端设备及存储介质,应用于安装预设跨平台应用开发软件以及插件接入模块的终端设备,可通过采用预设跨平台应用开发软件获取待调用的目标插件对应原生平台的信息以及目标插件对应的功能调用参数,并将原生平台的信息以及功能调用参数传输至插件接入模块,由插件接入模块对原生平台的信息和功能调用参数进行编码,生成目标插件对应的编码数据,并将编码数据传输至原生平台,使得原生平台通过对编码数据进行解析,得到功能调用参数,并根据功能调用参数,执行目标插件的功能操作,从而实现跨平台应用开发软件对原生插件的调用。由此,本申请可以使得跨平台应用开发软件通过插件接入模块实现与原生平台之间的数据传输,从而实现跨平台应用开发软件对原生平台上的原生插件的调用,且无论是调用哪个原生插件,均需通过插件接入模块来实现,那么在跨平台应用开发软件调用原生插件之前,无需针对不同的原生插件分别部署对应的通信模块,减小了跨平台应用开发软件对于原生插件的接入过程中的工作量,提高了原生插件的接入调用效率,从而提高了采用跨平台应用开发软件的应用开发效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的原生插件调用过程的框图;
图2为本申请实施例提供的原生插件调用方法的流程示意图一;
图3为本申请实施例提供的原生插件调用方法的流程示意图二;
图4为本申请实施例提供的原生插件调用方法的流程示意图三;
图5为本申请实施例提供的一种原生插件调用装置的结构示意图;
图6为本申请实施例提供的一种终端设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
需要说明的是,在不冲突的情况下,本发明的实施例中的特征可以相互结合。
为更好理解本申请实施例提供的各方案,先对下述各实施例所涉及的技术属于进行解释。
跨平台应用开发软件:可运行在多个操作系统上,即可在多个平台上使用的应用程序开发软件,其例如可以为Flutter跨平台移动应用开发软件。
原生平台:为跨平台应用开发软件所在的终端设备的操作系统,例如其可以为苹果操作系统(IOS)、安卓操作系统(Android)或者视窗操作系统(windows)。
原生插件:为原生平台所提供的任一原生插件,例如,其可以为原生平台提供的推荐插件、定位插件、蓝牙插件等。
如下先结合附图对本申请实施例所提供的原生插件调用过程进行示例说明。在本申请实施例提供的方案,为实现跨平台应用开发软件对原生插件的调用,可预先在跨平台应用开发软件所在的终端设备上创建插件接入模块,在跨平台应用开发软件可通过插件接入模块便可调用原生平台上的多个原生插件,无需创建多次。图1为本申请实施例提供的原生插件调用过程的框图,如图1所示,在跨平台应用开发软件调用原生插件的过程中,涉及跨平台应用开发软件110、上述创建的插件接入模块120以及原生平台130。无论跨平台应用开发软件110调用原生平台130的哪一个原生插件,例如原生插件1、原生插件2……原生插件n,其均可通过插件接入模块120来实现。对于插件接入模块120,仅需要创建一个统一的传输通道,即可实现与跨平台应用开发软件110和原生平台130之间的通信。
以下结合附图通过多个实施例对本申请实施例的原生插件调用方法进行详细说明。图2为本申请实施例提供的原生插件调用方法的流程示意图一,该方法的执行主体可以为安装有预设跨平台应用开发软件以及插件接入模块的终端设备。如图2所示,该方法可以包括:
S210、采用预设跨平台应用开发软件获取待调用的目标插件对应的原生平台的信息以及目标插件对应的功能调用参数。
具体地,采用预设跨平台应用开发软件可通过插件接入模块为跨平台应用开发软件预先提供的接口,获取待调用的目标插件对应的原生平台的信息和功能调用参数。其中,原生平台的信息指的是目标插件所在平台的信息。
S220、采用预设跨平台应用开发软件将原生平台的信息以及功能调用参数传输至插件接入模块。
预设跨平台应用开发软件将获取到的原生平台的信息和功能调用参数,通过跨平台应用开发软件与插件接入模块之间的预设传输方式,将原生平台的信息和功能调用参数传输至插件接入模块中。
S230、采用插件接入模块对针对目标插件的原生平台的信息和功能调用参数进行编码,生成目标插件对应的编码数据。
插件接入模块在接收到原生平台的信息和功能调用参数后,可将原生平台的信息和功能调用参数编码为预设编码格式的数据,即为目标插件对应的编码数据。
S240、采用插件接入模块将编码数据传输至终端设备上的原生平台。
具体地,插件接入模块将编码数据,采用插件接入模块与原生平台之间的预设传输方式,传输至原生平台。
S250、采用原生平台对编码数据进行解析,得到功能调用参数,并根据功能调用参数,执行目标插件的功能操作。
原生平台接收到编码数据之后,可根据原生平台对应的预设动态解析方法对该编码数据进行动态解析,得到功能调用参数,继而根据该功能调用参数执行目标插件对应的功能操作。
本发明的实施例提供了一种原生插件调用方法,可通过采用预设跨平台应用开发软件获取待调用的目标插件对应原生平台的信息以及目标插件对应的功能调用参数,并将原生平台的信息以及功能调用参数传输至插件接入模块,由插件接入模块对原生平台的信息和功能调用参数进行编码,生成目标插件对应的编码数据,并将编码数据传输至原生平台,使得原生平台通过对编码数据进行解析,得到功能调用参数,并根据功能调用参数,执行目标插件的功能操作,从而实现跨平台应用开发软件对原生插件的调用。由此,本申请可以使得跨平台应用开发软件通过插件接入模块实现与原生平台之间的数据传输,从而实现跨平台应用开发软件对原生平台上的原生插件的调用,且无论是调用哪个原生插件,均需通过插件接入模块来实现,那么在跨平台应用开发软件调用原生插件之前,无需针对不同的原生插件分别部署对应的通信模块,减小了跨平台应用开发软件对于原生插件的接入过程中的工作量,提高了原生插件的接入调用效率,从而提高了采用跨平台应用开发软件的应用开发效率。
作为一种可选的实施方式,本申请实施例还提供一种跨平台应用开发软件获取参数的可能实现方式。图3为本申请实施例提供的原生插件调用方法的流程示意图二。如图3所示,如上所示的采用所述预设跨平台应用开发软件获取待调用的目标插件对应的原生平台的信息以及所述目标插件对应的功能调用参数,可以包括:
S310、采用预设跨平台应用开发软件通过调用插件接入模块预先提供的第一接口,获取原生平台的信息。
插件接入模块对于跨平台应用开发软件预先提供了如下接口:
第一接口:为区分原生平台的接口,其可用于获取目标插件的原生平台的信息。其也为原生平台的原生方法的回调函数,如苹果操作系统的nativeiOS函数,或者安卓操作系统的nativeiAndroid函数。
第二接口:为目标插件的参数获取接口,其可用于获取目标插件的功能调用参数。
基于此,预设跨平台应用开发软件便可通过调用插件接入模块预先提供的第一接口,获取原生平台的信息。
S320、采用预设跨平台应用开发软件通过调用插件接入模块预先提供的第二接口,获取功能调用参数。
基于上述,预设跨平台应用开发软件可根据原生平台的信息,通过调用插件接入模块预先提供的第二接口,获取该功能调用参数。其中,采用第一接口获取的原生平台的信息,以及采用第二接口获取的功能调用参数,均可以为预设通用类型的信息,如预设通用类型可为字符串。
本发明的实施例提供的原生插件调用方法,可使得预设跨平台应用开发软件分别通过调用插件接入模块预先提供的第一接口和第二接口,获取原生平台的信息以及功能调用参数。由于,本申请实施例提供的方法,可通过第一接口和第二接口分别获取原生平台的信息和功能调用参数,可使得预设跨平台应用开发软件获取得到的信息的类型统一,从而避免特殊类型信息造成的兼容问题。
作为一种可选的实施方式,如上所示的功能调用参数可包括:平台类信息、调用方法信息以及传递参数。
其中,平台类(Class)信息用于指示目标插件在原生平台中对应的类对象。
调用方法(Method)信息用于指示目标插件在原生平台中对应类对象所需要调用的方法。
传递参数用于表征目标插件在所需要调用的方法中的传递传输。
相应的,如上所示的第二接口可包括:平台类接口以及调用方法接口。
其中,平台类接口为平台类信息的获取接口;调用方法接口为调用方法信息和传递参数的获取接口。
基于此,如所示的步骤S320中采用预设跨平台应用开发软件通过调用插件接入模块预先提供的第二接口,获取功能调用参数,可以包括:
采用预设跨平台应用开发软件通过调用平台类接口获取平台类信息,通过调用调用方法接口获取调用方法信息以及传递参数。
在可能的实现方式中,预设跨平台应用开发软件可根据原生平台的信息以及目标插件的名称,通过调用插件接入模块提供的平台类接口,获取目标插件在原生平台中对应的类对象的信息,即平台类信息,并根据平台类信息,通过调用插件接入模块提供的调用方法接口,获取调用方法信息以及传递参数。
其中,在调用平台类接口获取平台类信息的信息过程中,可将原生平台的信息作为入参,目标插件在原生平台中对应的类对象的信息作为出参,即可得到平台类信息,其中,平台类信息的入参信息(原生平台的信息)的类型例如可以为字符串,平台类信息的出参信息(目标插件在原生平台中对应的类对象的信息)的类型例如可以为哈希表(Map)。
在调用调用方法接口获取调用方法信息以及传递参数的过程中,可以将平台类信息的出参信息作为入参,平台类信息对应的调用方法和传递参数的信息作为出参,即可得到调用方法信息以及传递参数。其中,调用方法信息的类型可以为字符串,传递参数的类型可以为参数数组。
若预设跨平台应用开发软件调用目标插件时,还具有返回参数,则该返回参数的类型例如可以为预设可选值类型。
以下,继续通过另外的可能实现方式,对插件接入模块进行数据编码的过程进行示例说明。
作为一种可选的实施方式,图4为本申请实施例提供的原生插件调用方法的流程示意图三。如图4所示,如上所示的S230中采用插件接入模块对针对目标插件的原生平台的信息和功能调用参数进行编码,生成目标插件对应的编码数据,可包括:
S410、采用插件接入模块将针对同一个目标插件的原生平台的信息和功能调用参数组合为一个节点数据。
S420、采用插件接入模块将节点数据进行编码,生成针对同一个目标插件的预设编码格式的编码数据。
具体地,在实际应用过程中,预设跨平台应用开发软件可能需要调用至少一个目标插件,针对至少一个目标插件,预设跨平台应用开发软件会向插件接入模块传递至少一组数据,其中,每组数据包括:原生平台的信息和针对一个目标插件的功能调用参数。那么,插件接入模块便可将针对同一个目标插件的原生平台的信息和功能调用参数组合为一个节点数据,那么对于至少一个目标插件,便可组合得到至少一个节点数据。那么,在数据组合之后,插件接入模块,可分别对至少一个节点数据进行编码,生成针对至少一个目标插件的预设编码格式的编码数据。
其中,节点数据的结构可以是根据业务使用数组,如哈希表(Map)或者树。针对每个节点数据,编码生成的预设编码格式例如可以是Json,XML或者protobuf。
在节点数据中原生平台的信息和功能调用参数可以以键值对的形式保存。示例的,节点数据中平台类信息可以是:键名为class,键值为类型是字符串的平台类信息,也可以是调用的类对象的名称的键值对;该节点数据中的调用方法信息可以是:键名为method,键值为类型是字符串的调用方法的名称的键值对;该节点数据中的传递参数可以是:键名为args,键值为类型是数组的多个参数的数组元素,数组元素的类型可以是任意类型。该节点数据中的原生平台的信息可以是:键名为native,键值为类型是字符串的原生平台的名称。
在本实施例提供的方法,由于插件接入模块在节点数据编码的过程中,针对同一个目标插件的原生平台的信息和功能调用参数可以单独组合为一个节点数据,那么对于至少一个目标插件,便存在指示一个节点数据,相应的,对节点数据的编码,便可得到针对至少一个目标插件的预设编码格式的编码数据,如此,对于原生平台便可得到针对至少一个目标插件的预设编码格式的编码数据,便可实现至少一个目标插件的调用,还无需额外创建对应的通信模块,减小了跨平台应用开发软件对于原生插件的接入过程中的工作量。
作为一种可选的实施方式,在上述任一实施例所述方法的基础上,如上所示的采用预设跨平台应用开发软件将原生平台的信息以及功能调用参数传输至插件接入模块,可包括:
采用预设跨平台应用开发软件将原生平台的信息以及功能调用参数通过第一方法通道(MethodChannel)传输至插件接入模块。
相应的,如上所示的采用插件接入模块将编码数据传输至终端设备上的原生平台,可包括:
采用插件接入模块将编码数据通过第二方法通道(MethodChannel)传输至原生平台。
其中,第一方法通道和第二方法通道为插件接入模块中预先创建的统一的方法通道。
具体地,插件接入模块可以通过第一方法通道与预设跨平台应用开发软件进行通信,以将预设跨平台应用开发软件获取的原生平台的信息以及功能调用参数通过第一方法通道传输至插件接入模块;插件接入模块可以通过第二方法通道与原生平台进行通信,以将插件接入模块中的编码数据通过第二方法通道传输至原生平台。即插件接入模块可通过第一方法通道和第二方法通道实现与预设跨平台应用开发软件和原生平台的通信,从而实现预设跨平台应用开发软件对目标插件的调用,而无需针对每个原生插件在额外部署对应的通信模块,减小了跨平台应用开发软件对于原生插件的接入过程中的工作量,提高了原生插件的接入调用效率,从而提高了采用跨平台应用开发软件的应用开发效率。
作为另外的一些可选的实施方式,本申请提供的原生插件调用方法还可包括:
若目标插件还具有返回参数,则采用原生平台通过插件接入模块将返回参数传输至预设跨平台应用开发软件。
具体地,若待调用目标插件还具有返回参数,则可通过原生平台将该目标插件的返回参数,通过插件接入模块的统一的方法通道将该返回参数返回至预设跨平台应用开发软件。即原生平台可通过第二方法通道将该返回参数传输至插件接入模块中,插件接入模块在通过第一方法通道将该返回参数传输至预设跨平台应用开发软件,以便于预设跨平台应用开发软件根据该返回参数再次进行目标参数的调用。
需要说明的是,若待调用目标插件没有返回参数,则本申请实施例提供的原生插件调用方法的调用结束。
作为一种可选的实施方式,上述步骤S250中的采用原生平台对编码数据进行解析,得到功能调用参数,可以包括:
若原生平台为第一系统平台,则采用原生平台通过运行时间(runtime)动态解析方法对编码数据进行解析,得到功能调用参数;
或者,
若原生平台为第二系统平台,则采用原生平台通过反射动态解析方法对编码数据进行解析,得到功能调用参数。
具体地,对编码数据进行解析的过程,在终端设备中的原生平台上进行。
若原生平台为第一系统平台如iOS平台,则采用原生平台通过运行时间动态解析方法对编码数据进行解析的过程中,可通过运行时间动态解析方法中使用NSClassFromString(NS字符串)函数动态获取平台类信息;该功能调用参数中的调用方法信息,可使用NSSelectorFromString(NS从字符串中选择)函数获取原生插件的调用方法;该功能调用参数中的传递参数,可使用NSInvocation(NS调用)函数动态调用特定目标插件的方法,并传递返回参数。
若原生平台为第二系统平台如Android平台,则采用原生平台通过反射动态解析方法对编码数据进行解析的过程中,可通过反射动态解析方法中使用Class.forName(名称)函数动态获取平台类信息;该功能调用参数中的调用方法信息,可使用getMethod(得到方法)函数获取原生插件的调用方法;该功能调用参数中的传递参数,可使用method(方法)的invoke(调用)函数动态调用特定目标插件的方法,并传递返回参数。
需要说明的是,若原生平台是其他系统平台,则可用该系统平台的动态解析方法对编码数据进行解析,从而使用该系统平台对应的函数动态获取到该目标插件的功能调用参数,如平台类信息、调用方法信息以及传递参数。这里不做限制,可根据实际情况选择。
本实施例提供的方法,原生平台可根据各自平台的类型,采用对应的动态解析方法,对当前原生平台的编码数据进行解析,通过当前原生平台对应的函数获取平台类信息,并通过该获取平台类信息选用当前原生平台对应的函数获取原生插件的调用方法信息,最后根据该调用方法信息选用当前原生平台对应的函数获取特定目标插件的方法,并传递返回参数。由此,可实现预设跨平台应用开发软件对目标插件的调用,提高了原生插件的接入调用效率,从而提高了采用跨平台应用开发软件的应用开发效率。
基于同一发明构思,本申请实施例中还提供了与原生插件调用方法对应的原生插件调用装置,由于本申请实施例中的装置解决问题的原理与本申请实施例上述原生插件调用方法相似,因此装置的实施可以参见方法的实施,重复之处不再赘述。
图5为本申请实施例提供的一种原生插件调用装置的结构示意图。该原生插件调用装置应用于安装预设跨平台应用开发软件以及插件接入模块的终端设备。如图5所示,该原生插件调用装置50包括:
第一获取模块51,用于采用预设跨平台应用开发软件获取待调用的目标插件对应的原生平台的信息以及目标插件对应的功能调用参数;
第一传输模块52,用于采用预设跨平台应用开发软件将原生平台的信息以及功能调用参数传输至插件接入模块;
编码模块53,用于采用插件接入模块对针对目标插件的原生平台的信息和功能调用参数进行编码,生成目标插件对应的编码数据;
第二传输模块54,用于采用插件接入模块将编码数据传输至终端设备上的原生平台;
调用模块55,用于采用原生平台对编码数据进行解析,得到功能调用参数,并根据功能调用参数,执行目标插件的功能操作。
作为一种可选的实施方式,第一获取模块51具体用于:
采用预设跨平台应用开发软件通过调用插件接入模块预先提供的第一接口,获取原生平台的信息;
采用预设跨平台应用开发软件通过调用插件接入模块预先提供的第二接口,获取功能调用参数。
作为一种可选的实施方式,功能调用参数可包括:平台类信息、调用方法信息以及传递参数;第二接口可包括:平台类接口以及调用方法接口;
第一获取模块51具体用于:
采用预设跨平台应用开发软件通过调用平台类接口获取平台类信息,通过调用调用方法接口获取调用方法信息以及传递参数。
作为一种可选的实施方式,编码模块53具体用于:
采用插件接入模块将针对同一个目标插件的原生平台的信息和功能调用参数组合为一个节点数据,并将节点数据进行编码,生成针对同一个目标插件的预设编码格式的编码数据。
作为一种可选的实施方式,第一传输模块52具体用于:
采用预设跨平台应用开发软件将原生平台的信息以及功能调用参数通过第一方法通道传输至插件接入模块;
第二传输模块54具体用于:
采用插件接入模块将编码数通过第二方法通道传输至原生平台。
作为一种可选的实施方式,该装置50还用于:
若目标插件还具有返回参数,则采用原生平台通过插件接入模块将返回参数传输至预设跨平台应用开发软件。
作为一种可选的实施方式,调用模块55具体用于:
若原生平台为第一系统平台,则采用原生平台通过运行时间动态解析方法对编码数据进行解析,得到功能调用参数;
或者,
若原生平台为第二系统平台,则采用原生平台通过反射动态解析方法对编码数据进行解析,得到功能调用参数。
本申请实施例还提供了一种终端设备60,如图6所示,图6为本申请实施例提供的终端设备结构示意图,包括:处理器61、存储器62,可选的,还可以包括总线63。所述存储器62存储有所述处理器61可执行的机器可读指令(比如,图6中的装置中第一获取模块、第一传输模块、编码模块、第二传输模块和调用模块对应的执行指令等),当终端设备60运行时,所述处理器61与所述存储器62之间通过总线63通信,所述机器可读指令被所述处理器61执行时执行前述方法实施例中所述的方法步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述原生插件调用方法的步骤。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。

Claims (10)

1.一种原生插件调用方法,其特征在于,应用于安装预设跨平台应用开发软件以及插件接入模块的终端设备,所述方法包括:
采用所述预设跨平台应用开发软件获取待调用的目标插件对应的原生平台的信息以及所述目标插件对应的功能调用参数;
采用所述预设跨平台应用开发软件将所述原生平台的信息以及所述功能调用参数传输至所述插件接入模块;
采用所述插件接入模块对针对所述目标插件的所述原生平台的信息和所述功能调用参数进行编码,生成所述目标插件对应的编码数据;
采用所述插件接入模块将所述编码数据传输至所述终端设备上的所述原生平台;
采用所述原生平台对所述编码数据进行解析,得到所述功能调用参数,并根据所述功能调用参数,执行所述目标插件的功能操作。
2.根据权利要求1所述的原生插件调用方法,其特征在于,所述采用所述预设跨平台应用开发软件获取待调用的目标插件对应的原生平台的信息以及所述目标插件对应的功能调用参数,包括:
采用所述预设跨平台应用开发软件通过调用所述插件接入模块预先提供的第一接口,获取所述原生平台的信息;
采用所述预设跨平台应用开发软件通过调用所述插件接入模块预先提供的第二接口,获取所述功能调用参数。
3.根据权利要求2所述的原生插件调用方法,其特征在于,所述功能调用参数包括:平台类信息、调用方法信息以及传递参数;所述第二接口包括:平台类接口以及调用方法接口;
所述采用所述预设跨平台应用开发软件通过调用所述插件接入模块预先提供的第二接口,获取所述功能调用参数,包括:
采用所述预设跨平台应用开发软件通过调用所述平台类接口获取所述平台类信息,通过调用所述调用方法接口获取所述调用方法信息以及所述传递参数。
4.根据权利要求1所述的原生插件调用方法,其特征在于,所述采用所述插件接入模块对针对所述目标插件的所述原生平台的信息和所述功能调用参数进行编码,生成所述目标插件对应的编码数据,包括:
采用所述插件接入模块将针对同一个所述目标插件的所述原生平台的信息和所述功能调用参数组合为一个节点数据,并将所述节点数据进行编码,生成针对同一个所述目标插件的预设编码格式的所述编码数据。
5.根据权利要求1所述的原生插件调用方法,其特征在于,所述采用所述预设跨平台应用开发软件将所述原生平台的信息以及所述功能调用参数传输至所述插件接入模块,包括:
采用所述预设跨平台应用开发软件将所述原生平台的信息以及所述功能调用参数通过第一方法通道传输至所述插件接入模块;
所述采用所述插件接入模块将所述编码数据传输至所述终端设备上的所述原生平台,包括:
采用所述插件接入模块将所述编码数据通过第二方法通道传输至所述原生平台。
6.根据权利要求1所述的原生插件调用方法,其特征在于,所述方法还包括:
若所述目标插件还具有返回参数,则采用所述原生平台通过所述插件接入模块将所述返回参数传输至所述预设跨平台应用开发软件。
7.根据权利要求1所述的原生插件调用方法,其特征在于,所述采用所述原生平台对所述编码数据进行解析,得到所述功能调用参数,包括:
若所述原生平台为第一系统平台,则采用所述原生平台通过运行时间动态解析方法对所述编码数据进行解析,得到所述功能调用参数;
或者,
若所述原生平台为第二系统平台,则采用所述原生平台通过反射动态解析方法对所述编码数据进行解析,得到所述功能调用参数。
8.一种原生插件调用装置,其特征在于,应用于安装预设跨平台应用开发软件以及插件接入模块的终端设备,所述原生插件调用装置包括:
第一获取模块,用于采用所述预设跨平台应用开发软件获取待调用的目标插件对应的原生平台的信息以及所述目标插件对应的功能调用参数;
第一传输模块,用于采用所述预设跨平台应用开发软件将所述原生平台的信息以及所述功能调用参数传输至所述插件接入模块;
编码模块,用于采用所述插件接入模块对针对所述目标插件的所述原生平台的信息和所述功能调用参数进行编码,生成所述目标插件对应的编码数据;
第二传输模块,用于采用所述插件接入模块将所述编码数据传输至所述终端设备上的所述原生平台;
调用模块,用于采用所述原生平台对所述编码数据进行解析,得到所述功能调用参数,并根据所述功能调用参数,执行所述目标插件的功能操作。
9.种终端设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的机器可执行指令,所述处理器可执行所述机器可执行指令以实现权利要求1-7任一所述的原生插件调用方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如权利要求1-7中任一项所述的原生插件调用方法的步骤。
CN202310637477.XA 2023-05-31 2023-05-31 原生插件调用方法、装置、终端设备及存储介质 Pending CN116661894A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310637477.XA CN116661894A (zh) 2023-05-31 2023-05-31 原生插件调用方法、装置、终端设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310637477.XA CN116661894A (zh) 2023-05-31 2023-05-31 原生插件调用方法、装置、终端设备及存储介质

Publications (1)

Publication Number Publication Date
CN116661894A true CN116661894A (zh) 2023-08-29

Family

ID=87709204

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310637477.XA Pending CN116661894A (zh) 2023-05-31 2023-05-31 原生插件调用方法、装置、终端设备及存储介质

Country Status (1)

Country Link
CN (1) CN116661894A (zh)

Similar Documents

Publication Publication Date Title
CN106919509B (zh) 一种客户端生成方法、装置及电子设备
CN107861713B (zh) 数据调用方法、装置及计算机可读存储介质
CN110457143B (zh) 微服务的调用方法及装置
CN109274773B (zh) 一种实现远程服务调用方法、装置和系统
CN104821954A (zh) 一种跨平台远程过程调用方法
CA2540361A1 (en) System and method for extending capabilities and execution efficiency of script based applications
CA2511916A1 (en) System and method of building wireless component applications
CN114500690B (zh) 接口数据处理方法、装置、电子设备及存储介质
CN110069259B (zh) 基于idl文件的解析方法、装置、电子设备和存储介质
CN110688096B (zh) 包含插件的应用程序的构建方法、装置、介质及电子设备
CN111506368B (zh) 对异步调用转同步调用的方法、装置、设备及存储介质
CN115599359A (zh) 一种代码生成方法、装置、设备及介质
CN113434147B (zh) 基于ProtoBuf协议的消息解析方法及装置
CN113778897B (zh) 接口的自动测试方法、装置、设备及存储介质
CN111078573A (zh) 一种测试报文的生成方法及装置
CN111309407B (zh) 集成第三方库的处理方法及装置
CN112905271A (zh) 一种应用程序接口api的调用方法、装置及电子设备
CN115809056B (zh) 组件复用实现方法、装置和终端设备、可读存储介质
CN115134361B (zh) 一种自动驾驶软件平台的跨平台通信方法及装置
CN116661894A (zh) 原生插件调用方法、装置、终端设备及存储介质
CN111290996A (zh) 文档格式转换方法、装置、设备及可读存储介质
CN111459819B (zh) 软件测试方法及装置、电子设备、计算机可读介质
CN108076067B (zh) 一种授权爬虫配置化模拟登录的方法及系统
CN112650502A (zh) 批处理任务处理方法、装置、计算机设备和存储介质
CN112714148A (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