FinClip为企业提供小程序生态圈技术产品,开发者可在FinClip小程序开发帮助中心找到相关FinClip小程序指引

# 扩展SDK

扩展SDK 是对核心SDK的补充,所以要使用扩展SDK,也必须依赖核心SDK。 为了保证 SDK 的安全稳定性,将需要权限的API尽可能放到扩展SDK,FinClip 将 SDK 拆分为核心 SDK 与扩展 SDK,后者是前者的补充,因此使用扩展 SDK 也必须依赖核心 SDK。

在扩展 SDK 中,主要包含的功能见 ## 2 各扩展SDK中小程序api概览 小节

获取扩展 SDK

您可登录 资源下载中心 (opens new window) 下载 iOS SDK 文件,扩展 SDK 也处于在所下载的压缩包中。

# 1 注册扩展API

扩展SDK中的API,需要注册,否则小程序中也无法调用扩展SDK中的API。

[[FATExtClient sharedClient] fat_prepareExtensionApis];

# 2 各扩展SDK中小程序api概览

一些涉及到权限的api,我们将其放到了扩展SDK里。

扩展SDK(FinAppletExt)中包含的小程序api如下:

api名称 api描述信息
chooseLocation 选择位置。
getLocation 获取位置信息。
openLocation 使用地图查看位置
choosePoi 打开POI列表选择位置
startRecord 开始录音。
stopRecord 停止录音。
RecorderManager 录音管理器以及一些列api

扩展SDK-WebRTC(FinAppletWebRTC):

api名称 api描述信息
webrtc-video组件 组件以及一系列的webrtc的api

扩展SDK-BDMap(FinAppletBDMap):

api名称 api描述信息
Map组件 视图组件
MapContext 一系列的api

扩展SDK-GDMap(FinAppletGDMap):

api名称 api描述信息
Map组件 视图组件
MapContext 一系列的api

注意

1.如果集成了百度地图,并设置了使用百度地图,那么Map组件以及Map的api会使用百度地图实现。 2.如果集成了高德地图,并设置了使用高德地图,那么Map组件以及Map的api会使用高德地图实现。 3.如果既没有集成百度地图也没有集成高德地图,也未设置,那么Map组件以及Map的api会使用系统自带的地图实现。 所以,关于Map组件和相关api,只需要在以上三种方案选一个即可。

扩展SDK-BLE(FinAppletBLE):

api名称 api描述信息
蓝牙-通用 一系列的api
蓝牙-低功耗中心设备 一系列的api
蓝牙-低功耗外围设备 一系列的api
蓝牙-信标 一系列的api

扩展SDK-Contact(FinAppletContact)中包含的小程序api如下:

api名称 api描述信息
addPhoneContact 添加手机通讯录联系人。

扩展SDK-ClipBoard(FinAppletClipBoard)中包含的小程序api如下:

api名称 api描述信息
setClipboardData 添加剪贴板内容。
getClipboardData 读取剪贴板内容。

最后,请注意: 由于 剪贴板 权限比较敏感,且api比较冷门。您也可以通过注册自定义api的方式添加剪贴板相关的两个api。

注入的源码如下:

// 注册setClipboardData
[[FATClient sharedClient] registerExtensionApi:@"setClipboardData" handler:^(FATAppletInfo *appletInfo, id param, FATExtensionApiCallback callback) {
    NSString *data = param[@"data"];
    if (!data) {
        callback(FATExtensionCodeFailure, @{@"errMsg" : @"参数data为空"});
        return;
    }
        
    [UIPasteboard generalPasteboard].string = data;
    NSDictionary *result = @{@"data" : data};
    callback(FATExtensionCodeSuccess, result);
}];

// 注册getClipboardData
[[FATClient sharedClient] registerExtensionApi:@"getClipboardData" handler:^(FATAppletInfo *appletInfo, id param, FATExtensionApiCallback callback) {
    NSString *data = [UIPasteboard generalPasteboard].string;
    NSDictionary *result = @{@"data" : data == nil ? @"" : data};
    callback(FATExtensionCodeSuccess, result);
}];
© 2022 FinClip with ❤

👋🏻 嘿,你好!

「FinClip」是一套基于云原生框架设计的小程序容器。能够让任何移动应用在集成小程序SDK之后,获得可用、安全的小程序运行能力。

>> 点我免费注册体验

查看产品文档
了解与 FinClip 相关的一切信息

产品博客 👈  了解产品更新与核心功能介绍
资源下载 👈  获取小程序 SDK 与开发工具
文档中心 👈  查询 FinClip 小程序开发指南与答疑

商务咨询热线
预约 FinClip 产品介绍,咨询商务报价或私有化部署事宜

400-066-00210755-86967467

获取产品帮助
联系 FinClip 技术顾问,获取产品资料或加入开发者社群

联系线上
人工客服

或 👉  点击这里,提交咨询工单

填写 FinClip 问卷抽缤纷夏日盲盒
Hi,这里是我们为 FinClip 用户准备的一封调研问卷,期待您的参与,您的反馈和建议,将指引 FinClip 未来前进的方向。