---
title: API 能力集成指南
summary: 介绍涂鸦小程序的API能力集成方式，包括云能力订阅授权和Kit能力包的配置与使用方法。
questions:
  - 小程序的能力以什么形式提供给开发者？
  - 有哪些云能力包可以使用？
  - 使用云能力前需要做什么配置？
  - Kit能力有哪些分包类型？
  - 如何在代码中使用Kit能力？
  - Kit版本选择会影响什么？
  - 基础库版本比对的兼容规则是什么？
  - 如何在App中查看集成的容器和Kit版本信息？
---

## 概念

小程序能力是由模块化的`kit`包的形式以及需要订阅授权的 `云能力` 的形式提供给开发者的，通过`kit`及`云能力`可以实现快速接入涂鸦生态，获得互联互通的能力。

## 云能力

小程序可以通过`云能力订阅+授权`的形式使用云端增值服务，使用包括`统计图表`、`设备日志`、`天气服务`、`生物节律`等多种能力，帮助开发者实现需求。

### 云能力包

- [小程序天气能力](/cn/miniapp/develop/ray/api/weather)
- [小程序照明情景库能力](/cn/miniapp/develop/ray/api/light/light-library)
- [小程序生物节律能力](/cn/miniapp/develop/ray/api/light/light-rhythms)
- [小程序设备日志能力](/cn/miniapp/develop/ray/api/logs)
- [小程序位置服务能力](/cn/miniapp/develop/ray/api/outdoors)
- [小程序统计图表能力(需快速工单开通统计)](/cn/miniapp/develop/ray/api/meature)
  - <font color="red">注意：使用小程序统计图表能力需要提交工单开通产品数据统计，请在使用前 [提交快速工单](https://service.console.tuya.com/8/3/list?source=support_center)。</font>
- [小程序智能体开发能力](/cn/miniapp/develop/ray/api/ai/aiAgent/getAI2AgentConfigLangList)
- 等等...

### 使用云能力

> <font color="red">开发者使用云能力前，需要在[小程序开发者平台](https://iot.tuya.com/miniapp/)`开发设置`-`云能力`进行授权配置。</font>

#### 1. 订阅资源包（部分云能力无需订阅，可跳过此步骤前往第二步授权）

> 选择需要的能力订阅云能力增值服务资源包。

<Image src="/images/api/cloud/cloud_1.jpg"  style={{ width: 300 }}/>

#### 2. 授权

<Image src="/images/api/cloud/cloud_2.jpg"  style={{ width: 300 }}/> 
   
#### 3. 授权完成后

> 可在已授权云能力查看到该云能力。

<Image src="/images/api/cloud/cloud_3.jpg" style={{ width: 300 }}/>

#### 4. 查看详情

> 使用云能力需要开发者详细查看文档，并关注云能力资源包订阅到期时间，并及时续费。

<Image src="/images/api/cloud/cloud_4.jpg"  style={{ width: 500 }}/>

## kit 能力

### 能力分包

| 能力分类                                 | 包名      |
| ---------------------------------------- | --------- |
| 基础能力                                 | BaseKit   |
| 小程序容器能力                           | MiniKit   |
| 涂鸦内部基础能力以及细粒度通用业务能力   | BizKit    |
| 设备控制相关能力                         | DeviceKit |
| 家庭相关能力(比如获取家庭信息等)         | HomeKit   |
| 媒体、语音相关业务能力（比如音乐律动等） | MediaKit  |
| 地图、定位相关业务能力                   | MapKit    |
| 扫地机相关业务能力                       | P2PKit    |

### 使用

#### 1. 配置小程序扩展能力

在 Tuya MiniApp IDE 中可手动配置需要的小程序扩展能力。其中，MiniKit 作为运行小程序容器的基础能力会自动引入，开发者只需要关注版本即可，其他的能力可以自行配置。

关于 Kit 版本，建议您选择带有**推荐**标识的版本。

<Image src="/images/ide/kit-config.png"/>

#### 2. 使用 Kit 能力

1. 插件 `BaseKit、BizKit、MiniKit` 作为基础能力，可以直接使用 `ty.func()` 即可。

   比如 `hideTabBar`作为 BaseKit 能力，可以直接使用，如下：

   ```js
   ty.hideTabBar({
     animation: xxx,
   });
   ```

2. 除 `BaseKit、BizKit、MiniKit` 外，其余 Kit 使用，需要在前面加上 namespace。

   **namespace 为 Kit 名称去掉 Kit 小写（HomeKit -> home）**

   比如 `getCurrentHomeInfo` 作为 HomeKit 能力，使用如下：

   ```js
   ty.home.getCurrentHomeInfo({
     success(homeInfo) {},
   });
   ```

#### 3. 选择 Kit 版本

Kit 版本的选择会影响到小程序能否下发到 App。

### App 与智能小程序

在用户使用 App 扫描小程序的二维码或者点击设备，尝试进入小程序时，系统会对 App 当前环境与小程序所需运行环境进行比对，确定环境配置兼容后，App 才能启动并运行小程序。

比对规则中，主要涉及：

- 基础库版本的比对
- Kit 包的种类与版本比对

也就是说，**小程序使用的基础库版本、Kit 包种类和版本，会影响 App 能否启动并运行小程序。**

### 基础库比对

**小程序基础库** 是负责加载框架的容器，提供小程序框架需要的标准组件和标准 API 接口。详细信息，可参考：[基础库](/cn/miniapp/log/changelog)。

每个 App 中集成的容器（SDK）版本固定不变，一个容器版本会与多个小程序基础库版本有绑定关系。例如：

App 容器版本 2.4.1 可以绑定下述多个基础库版本： 2.2.4、2.2.3、2.1.20、2.1.19、2.1.18。

**基础库次版本号改动是向下兼容的，所以 App 会拉取绑定的最新的基础库版本，去运行小程序。**

开发者开发的小程序基础库版本低于当前 App 绑定的最新基础库版本，即表示兼容。

假设当前 App 的容器版本是 **2.4.1**，绑定的最新基础库版本是 **2.2.4**：

1. 小程序指定基础库版本 **2.1.15** —— ✅ App 拉取基础库 **2.2.4** 运行该小程序。
2. 小程序指定基础库版本 **1.2.30** —— ❌ 跨基础库主版本号，不兼容。
3. 小程序指定基础库版本 **2.4.0** —— ❌ 高于 App 绑定的最新基础库版本号。

### Kit 包比对

**📢重要：[Kit版本与APP版本比对参考](/cn/miniapp/log/ttt)**

**Kit 包** 是智能小程序将扩展能力以 Kit 的形式提供给开发者。

每个 App 中集成的 Kit 种类和版本固定不变，Kit 版本同样遵循次版本号向下兼容的原则。

进入小程序前，系统会比对 App 中集成的 Kit 种类、版本与小程序所需的 Kit 种类、版本，确定是否兼容。

假设当前 App 集成的 Kit 有：

| Kit     | version |
| ------- | ------- |
| BaseKit | 2.2.3   |
| MiniKit | 2.3.8   |
| TYKit   | 2.1.4   |

1. 小程序使用的 Kit 有 **BaseKit 2.1.2、MiniKit 2.3.7、TYKit 2.0.7** —— ✅ 小程序所需的 Kit 在 App 中都有集成且版本兼容。
2. 小程序使用的 Kit 有 **BaseKit 2.1.2、MiniKit 2.3.7、TYKit 2.0.7、DeviceKit 2.1.6** —— ❌ DeviceKit 在 App 中未集成。
3. 小程序使用的 Kit 有 **BaseKit 2.1.2、MiniKit 2.4.0** —— ❌ 小程序所需 MiniKit 版本高于 App 中集成的版本。

### 在 App 中查看信息

在 App 中可以查看集成的容器版本、Kit 版本信息。在小程序右上角胶囊处，长按 **关闭** 按钮 10s，即会弹出相关信息。

弹窗显示的就是 App 中调用的基础库版本以及集成的 Kit 版本。

<Image
  src='/images/guide/environment-config/x-button.png'
  style={{
    borderRadius: '10px',
    boxShadow: '0 0 5px rgba(0,0,0,0.3)',
    maxWidth: '375px',
    maxHeight: '667px',
  }}
/>

<Image
  src='/images/guide/environment-config/app-info.png'
  style={{
    borderRadius: '10px',
    boxShadow: '0 0 5px rgba(0,0,0,0.3)',
    maxWidth: '375px',
    maxHeight: '667px',
  }}
/>
