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

# 扩展 SDK

扩展SDK 是对核心SDK的补充,所以要使用扩展SDK,也必须依赖核心SDK。

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

一些涉及到权限的api,我们将其拆分到各个扩展SDK,您可以根据实际情况集成相应的扩展SDK。

获取扩展 SDK

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

# 1 扩展SDK

FinAppletExt是我们拆分出的第一个扩展SDK。

# 1.1 注册扩展SDK

// 注册扩展SDK
[[FATExtClient sharedClient] fat_prepareExtensionApis];

# 1.2 包含的小程序API

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

# 2 WebRTC扩展SDK

FinAppletWebRTC 中包含我们基于google的WebRTC库封装的webRTC组件。

# 2.1 注册扩展SDK

// WebRTC初始化
[FATWebRTCComponent registerComponent]

# 2.2 包含的小程序API

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

# 3 百度地图扩展SDK

FinAppletBDMap 包含我们基于百度地图SDK实现的map-view组件。

注意

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

# 3.1 注册扩展SDK

// 百度地图扩展SDK初始化
[FATBDMapComponent setBDMapAppKey:@"申请的key"]

# 3.2 包含的小程序API

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

# 4 高德地图扩展SDK

FinAppletGDMap包含我们基于高德地图SDK封装的map-view组件。

注意

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

# 4.1 注册扩展SDK

// 高德地图扩展SDK初始化
[FATGDMapComponent setGDMapAppKey:@"申请的key"]

# 4.2 包含的小程序API

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

# 5 蓝牙扩展SDK

FinAppletBLE 中包含蓝牙相关的一系列api。

# 5.1 包含的小程序API

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

# 6 通讯录扩展SDK

FinAppletContact是通讯录扩展SDK。

# 6.1 注册扩展SDK

// ContactSDK初始化
[FATContactComponent registerComponent]

# 6.2 包含的小程序API

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

# 7 粘贴板扩展SDK

FinAppletClipBoard,由于粘贴板功能也比较敏感,所以我们将粘贴板相关的两个api封装在该扩展SDK中。

# 7.1 注册扩展SDK

// ClipBoard初始化
[FATClipBoardComponent registerComponent];

# 7.2 包含的小程序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);
}];

# 8 声网扩展SDK

FinAppletAgoraRTC,目前live-player、live-pusher组件可使用声网扩展SDK实现。

注意

live-player、live-pusher组件相应的一系列协议方法,我们已经封装在FATAppletNativeViewProtocol中。 声网扩展SDK 是我们使用声网SDK实现了live-player、live-pusher的协议方法,所以您使用live-player、live-pusher时,可以App自行实现协议方法,也可以直接集成声网扩展SDK。

# 8.1 注册扩展SDK

// AgoraRTC初始化
[FATAgoraRTCComponent registerComponent]

# 8.2 包含的小程序API

api名称 api描述信息
init 初始化声网SDK
setRole 设置客户端角色
join 加入频道
publish 开始推流
muteLocal 本地静音
unmuteLocal 解除本地静音
mute 远端静音
unmute 解除远端静音
renewToken 刷新token
setRemoteVideoStreamType 设置订阅的视频流类型
destroy 停止推流,释放资源
live-pusher live-pusher组件
live-player live-player组件

# 9 微信扩展SDK

FinAppletWXExt,一些与微信相关的API,需要依赖微信开放SDK来实现,我们也已经做了封装。

# 9.1 注册微信扩展SDK

// 微信扩展SDL初始化
[FATWXExtComponent registerComponent:@"微信appid" universalLink:@"universalLink"];

# 9.2 包含的API

api名称 api描述信息
login 唤起微信小程序,获取登录凭证,并将结果返回至FinClip小程序
getUserProfile 唤起微信小程序,获取用户信息,并将结果返回至FinClip小程序
requestPayment 唤起微信小程序,发起微信支付,并将结果返回至FinClip小程序
getPhoneNumber 唤起微信小程序,获取到动态令牌,并将结果返回至FinClip小程序
© 2022 FinClip with ❤

👋🏻 嘿,你好!

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

>> 点我免费注册体验

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

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

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

0755-86967467

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

联系线上
人工客服

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