概念

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

云能力

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

云能力包

使用云能力

开发者使用云能力前,需要在小程序开发者平台开发设置-云能力进行授权配置。

1. 订阅资源包(部分云能力无需订阅,可跳过此步骤前往第二步授权)

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

2. 授权

3. 授权完成后

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

4. 查看详情

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

kit 能力

能力分包

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

使用

1. 配置小程序扩展能力

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

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

2. 使用 Kit 能力

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

    比如 hideTabBar作为 BaseKit 能力,可以直接使用,如下:

    ty.hideTabBar({
      animation: xxx,
    });
  2. 除 BaseKit、BizKit、MiniKit 外,其余 Kit 使用,需要在前面加上 namespace。

    namespace 为 Kit 名称去掉 Kit 小写(HomeKit -> home)

    比如 getCurrentHomeInfo 作为 HomeKit 能力,使用如下:

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

3. 选择 Kit 版本

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

App 与智能小程序

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

比对规则中,主要涉及:

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

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

基础库比对

小程序基础库 是负责加载框架的容器,提供小程序框架需要的标准组件和标准 API 接口。详细信息,可参考:基础库。

每个 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版本比对参考

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

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

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

假设当前 App 集成的 Kit 有:

Kitversion
BaseKit2.2.3
MiniKit2.3.8
TYKit2.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 版本。