一种移动端SDK调用方法及系统技术方案

技术编号:33289415 阅读:21 留言:0更新日期:2022-05-01 00:05
本发明专利技术属于操作系统和软件开发技术领域,尤其涉及一种移动端SDK调用方法及系统。本方法通过请求或者接口的形式向支持反射机制的语言进行调用,首先由原生平台开发人员编写配置文件,在应用项目构建时自动对配置文件进行解析并生成对应的中间描述模版,最后根据预先配置的调用模版生成调用语言所需要的调用方法,移动端开发人员通过此方式进行第三方SDK与方法的解耦。本方法克服了现有移动端第三方SDK接入方法性能上的缺陷,在移动端混合架构开发过程中,在不方便直接调用第三方SDK的场景下,为前端提供一个低侵入度、兼容性好、支持多家厂商接口的通过解析传入参数调用具体SDK的方法及通道。的方法及通道。的方法及通道。

【技术实现步骤摘要】
一种移动端SDK调用方法及系统


[0001]本专利技术属于操作系统和软件开发
,尤其涉及一种移动端SDK调用方法及系统。

技术介绍

[0002]现今,各平台(操作系统)所提供的SDK(软件开发工具包)或方法,均由该平台的开发者使用特定的平台开发语言进行开发,例如,Android平台使用Java,IOS平台使用Object C/Swift,这就导致了不熟悉该平台开发语言的使用者无法方便地使用该平台的方法,尤其是针对移动端所要接入的SDK。
[0003]目前,在移动端混合架构的开发中,需要接入第三方SDK时,如果第三方SDK不能提供对应的适配前端调用的jsSDK(第三方平台面向网页开发者提供的基于JavaScript开发工具包),则需要对应的原生平台开发人员进行原生SDK的接入,并且暴露SDK接口给前端人员调用。如果遇到需要同种SDK接入多家厂商的情况(硬件设备/推送服务/分享/支付),则需要原生平台开发者暴露各个厂商的SDK接口,或者暴露给前端对应SDK方法统一的接口,并根据前端传入参数区分厂商。
[0004]从业务层面来说,针对上述第一种情况,原生平台开发人员直接暴露SDK接口给前端人员调用,在进行实际业务操作时,需要前端人员为暴露的SDK接口调用集成,此时需要写入大量的重复代码来声明调用原生方法对象与方法,从而导致运行效率低下。
[0005]从原生层层面来说,针对上述第二种情况,原生平台开发者通过暴露多个厂商SDK的方法统一调用接口,并由前端参数区分厂商,然而,当遇到SDK更新导致其中方法有改动或者出参入参发生变动时,则需要修改大量的原生层代码,无法很好地做到SDK与前端调用接口解耦。
[0006]综上,在移动端(Android/IOS)混合开发中,在不方便直接调用第三方SDK的场景下,迫切需要开发一种低侵入度、兼容性好、支持多家厂商接口的SDK调用方法及通道。

技术实现思路

[0007]为了克服现有移动端第三方SDK接入方法性能上的缺陷,以满足方便移动端接入SDK的技术需求,本专利技术提出了一套解决方案。本专利技术旨在提供一种基于任意应用请求,调用可反射语言的工具包中任意方法的移动端SDK调用方法,其目的是在移动端(Android/IOS)混合架构开发过程中,在不方便直接调用第三方SDK的场景下,为前端提供一个低侵入度、兼容性好、支持多家厂商接口的通过解析传入参数调用具体SDK的方法及通道。
[0008]本专利技术方法的实施解决了下述技术问题:(1)必须由原生平台开发者进行SDK接入;(2)原生暴露接口与SDK的耦合;(3)前端需要根据原生暴露接口封装调用方法。
[0009]另外,由于本专利技术方法本质上属于通过请求或者接口的形式向支持反射机制的语言进行调用,因此,除移动端外本专利技术也适用于其他领域,只要是支持反射机制的语言经过简单调整,都能够适用本专利技术方法中的调用流程。
[0010]具体而言,本专利技术提供了一种移动端SDK调用方法,本方法通过请求或者接口的形式向支持反射机制的语言进行调用,首先由原生平台开发人员编写配置文件,在应用项目构建时自动对配置文件进行解析并生成对应的中间描述模版,最后根据预先配置的调用模版生成调用语言所需要的调用方法,移动端开发人员通过此方式进行第三方SDK调用与集成方法的解耦。
[0011]进一步地,本专利技术方法中包含三个功能层,分别为调用层、描述层、注册层,各功能层按照下述方式运行并执行相应的功能,其中:
[0012]调用层:调用层中包含统一调用接口,是实际调用原生方法或SDK时所使用的接口,当开发者需要调用相应的描述层方法时,只需调用DeviceInvoke.invoke即可,DeviceInvoke.invoke中包含方法名称和传入参数;
[0013]描述层:描述层中包含中间描述模版,是通过注解的方式来声明一个方法或者对象是用来调用具体的原生方法或SDK的,当接入外设设备时接入了多家厂商的SDK,如果这些SDK中的调用方法的方法名称和传入参数一致,则使用同一个描述方法;
[0014]注册层:注册层中包含APT注册预处理和调用对象注册中心,保存作为调用对象的原生方法和SDK的注册信息。
[0015]进一步地,本专利技术方法的实施流程包括三个阶段,分别为构建时、编译前、运行时;
[0016]在移动端混合架构应用开发时先准备原生平台端运行基座,并在该运行基座上进行应用项目构建,在构建时阶段应用项目构建时根据前端开发者需要调用的配置文件生成中间描述层代码;应用项目构建完成后,在编译前阶段前端开发者使用预编译脚本根据中间描述层代码生成前端的调用接口和注册对象;在运行时阶段当用户调用到统一调用接口后,会在调用对象注册中心获取需要调用的原生方法或SDK,并通过中间描述层代码进行反射调用。
[0017]进一步地,本专利技术方法包括下述步骤:
[0018](1)原生平台构建时
[0019]在应用打包前由前端开发者根据需要使用的原生方法或SDK编写或配置所对应的接口描述文件,并且进行应用项目构建,前端调用原生接口配置文件并对配置文件进行处理,在原生平台中生成中间描述层代码;应用项目构建完成后进行打包,打包过程中原生方法根据上述中间描述层代码生成所对应的注册代码,并在应用运行时注入调用对象池;
[0020](2)原生平台编译前
[0021]调用对象注册接口;
[0022]先进行APT编译预处理生成注册对象,然后APT编译预处理生成目标语言调用接口,并通过该接口从前端页面调用原生方法或SDK,调用完成后向前端页面返回调用结果;
[0023](3)原生平台运行时
[0024]通过调用对象注册接口访问调用对象注册中心,获取需要调用的原生方法或SDK;
[0025]由APT编译预处理生成目标语言调用接口从前端页面调用的原生方法或SDK通过统一调用接口后解析传入参数,然后调用对象池并根据解析获得的传入参数从对象池中获取对应的方法,对象池调用完成后向统一调用接口返回调用结果,应用从对象池中获取的方法反射调用到具体的原生方法,经由中间描述层处理多SDK统一方法,最后进入公共方法统一处理接口自动处理调用到的多个同种SDK对象。
[0026]进一步地,上述方法步骤(1)中所述应用项目构建在构建过程中执行相应的自动构建流程,按照Android或IOS系统中内置的构建机制完成自动构建流程,其目的为下载依赖以及执行预处理任务。
[0027]此外,本专利技术还涉及上述移动端SDK调用方法在移动端混合架构开发技术中的用途。
[0028]另一方面,本专利技术还提供了一种移动端SDK调用系统,本系统包括:
[0029](1)调用层模块:调用层模块中包含统一调用接口,是实际调用原生方法或SDK时所使用的接口;
[0030](2)描述层模块:描述层模块中包含中间描述模版,以注解的方式声明一个方法或者对象是用来调用具体的原生方法或SDK的;
[0031](3)注册层模块本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种移动端SDK调用方法,其特征在于,所述方法通过请求或者接口的形式向支持反射机制的语言进行调用,首先由原生平台开发人员编写配置文件,在应用项目构建时自动对配置文件进行解析并生成对应的中间描述模版,最后根据预先配置的调用模版生成调用语言所需要的调用方法,移动端开发人员通过此方式进行第三方SDK调用与集成方法的解耦。2.根据权利要求1所述的移动端SDK调用方法,其特征在于,本方法中包含三个功能层,分别为调用层、描述层、注册层,各功能层按照下述方式运行并执行相应的功能,其中:调用层:调用层中包含统一调用接口,是实际调用原生方法或SDK时所使用的接口,当开发者需要调用相应的描述层方法时,只需调用DeviceInvoke.invoke即可,DeviceInvoke.invoke中包含方法名称和传入参数;描述层:描述层中包含中间描述模版,是通过注解的方式来声明一个方法或者对象是用来调用具体的原生方法或SDK的,当接入外设设备时接入了多家厂商的SDK,如果这些SDK中的调用方法的方法名称和传入参数一致,则使用同一个描述方法;注册层:注册层中包含APT注册预处理和调用对象注册中心,保存作为调用对象的原生方法和SDK的注册信息。3.根据权利要求2所述的移动端SDK调用方法,其特征在于,所述方法的实施流程包括三个阶段,分别为构建时、编译前、运行时;在移动端混合架构应用开发时先准备原生平台端运行基座,并在该运行基座上进行应用项目构建,在构建时阶段应用项目构建时根据前端开发者需要调用的配置文件生成中间描述层代码;应用项目构建完成后,在编译前阶段前端开发者使用预编译脚本根据中间描述层代码生成前端的调用接口和注册对象;在运行时阶段当用户调用到统一调用接口后,会在调用对象注册中心获取需要调用的原生方法或SDK,并通过中间描述层代码进行反射调用。4.根据权利要求3所述的移动端SDK调用方法,其特征在于,所述方法包括下述步骤:(1)原生平台构建时在应用打包前由前端开发者根据需要使用的原生方法或SDK编写或配置所对应的接口描述文件,并且...

【专利技术属性】
技术研发人员:吴玉森王磊徐凌
申请(专利权)人:赞同科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1