概述
我们知道UniApp的出现简化了开发者的工作流程,并减少了代码的重复编写。开发者可以使用一套代码编译到iOS、Android、以及各种小程序的应用,节省了人力和时间成本,但是涉及到与系统交互的时候,比如录屏、录音、录像、文件操作等就需要借助原生插件来完成。
这样的话当需要做一个APP的时候我们可以用uniapp来开发,一套代码同时适配ios和安卓,然后遇到部分uniapp不好实现的功能时可用ios和安卓原生工程分别写一个原生插件集成到uniapp项目完成完整的功能。
下面我们就以安卓录屏插件为例来讲解如何集成到项目
集成插件的两种方式
(1)云端插件集成
Dcloud提供了DCloud 插件市场,上面有各种类型的插件,我们可以到这个市场去搜索我们需要的插件,然后集成到项目,集成方法比较简单,选择好插件后可以导入示例项目,演示功能,符合项目需求就可以点击购买for云打包,按照步骤集成到项目。具体使用方法、插件所需权限等插件页面都会有完整的介绍,这里推荐一个比较好用的安卓录屏插件,支持应用外录屏,经过多方测试,功能比较稳定需要的小伙伴可以直接去Dcloud市场查看集成安卓(android)原生录屏插件(支持应用外录屏) - DCloud 插件市场
(2)本地插件集成
如果我们手里有写好的插件,那就不用到插件市场,可以直接把插件以一定的规则导入项目。首先我们通过原生工程AndroidStudio(安卓)或者xcode(ios)完成插件的开发,具体的插件开发流程可以查看uniapp的开发文档简介 | uni小程序SDK,这里不做讲解,本文主要介绍怎么在开发好了插件的基础上集成到uniapp项目以及使用
(1)开发好录屏插件后在androidStudio工程中倒出插件(插件以.aar后缀结尾)
(2)回到uniapp项目中新建名为nativeplugins的文件夹,把json文件以及插件按照如图所示的目录结构存放,这样就集成好了插件,json文件是插件配置文件,配置了插件名称、id以及版本等
(3)回到manifest.json中选择APP原生插件配置选项,选择本地插件,选择了之后需要重新制作自定义基座插件才能生效
(4)走完上面的步骤后就完成了插件的集成,接下来就可以使用插件功能了
const screenModule = uni.requireNativePlugin('cfy-screen')
上面代码是用uniapp提供的方法通过插件ID引入插件对象,然后用插件对象就可以调用插件的方法完成相关的功能。如下
在csdn资源中,本人上传了集成有安卓录屏插件的uniapp示例项目,可以提供大家下载学习使用https://download.csdn.net/download/j15087159186/89578916