在用户使用 App 扫描小程序的二维码或者点击设备,尝试进入小程序时,系统会对 App 当前环境与小程序所需运行环境进行比对,确定环境配置兼容后,App 才能启动并运行小程序。
比对规则中,主要涉及:
也就是说,小程序使用的基础库版本、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:
?
Kit 包?是智能小程序将扩展能力以 Kit 的形式提供给开发者。详细信息可参考下方 API能力集成指南。
每个 App 中集成的 Kit 种类和版本固定不变,Kit 版本同样遵循次版本号向下兼容的原则。
进入小程序前,系统会比对 App 中集成的 Kit 种类、版本与小程序所需的 Kit 种类、版本,确定是否兼容。
假设当前 App 集成的 Kit 有:
Kit | version |
---|---|
BaseKit | 2.2.3 |
MiniKit | 2.3.8 |
TYKit | 2.1.4 |
小程序能力分为内置能力、扩展能力提供给开发者。内置能力以集成在基础库的 JS API 提供给开发者,扩展能力是将基础能力以 kit 的形式提供给业务(开发者)。以内置能力与扩展能力结合的方式实现快速接入涂鸦生态,达到互联互通的能力。
能力分类 | 包名 |
---|---|
基础能力 | BaseKit |
小程序容器能力 | MiniKit |
涂鸦内部基础能力以及细粒度通用业务能力 | BizKit |
设备控制相关能力 | DeviceKit |
家庭相关能力(比如获取家庭信息等) | HomeKit |
媒体、语音相关业务能力(比如音乐律动等) | MediaKit |
地图、定位相关业务能力 | MapKit |
配网相关业务能力 | PlaynetKit |
扫地机相关业务能力 | P2PKit |
在 Tuya MiniApp Tools 中可手动配置需要的小程序扩展能力。其中,MiniKit 作为运行小程序容器的基础能力会自动引入,开发者只需要关注版本即可,其他的能力可以自行配置。
插件?BaseKit、BizKit、MiniKit
?作为基础能力,可以直接使用?ty.func()
?即可。
比如?hideTabBar?
作为 BaseKit 能力,可以直接使用,如下:
ty.hideTabBar({
animation: xxx,
});
除?BaseKit、BizKit、MiniKit
?外,其余 Kit 使用,需要在前面加上 namespace。
namespace 为 Kit 名称去掉 Kit 小写(HomeKit -> home)
比如?getCurrentHomeInfo
?作为 HomeKit 能力,使用如下:
ty.home.getCurrentHomeInfo({
success(homeInfo) {},
});
Kit 版本的选择会影响到小程序能否下发到 App。
在 App 中可以查看集成的容器版本、Kit 版本信息。在小程序右上角胶囊处,长按?关闭?按钮 10s,即会弹出相关信息。
弹窗显示的就是 App 中调用的基础库版本以及集成的 Kit 版本。
?
在 Tuya MiniApp Tool 中,您可手动配置需要的小程序扩展能力。其中,MiniKit 作为运行小程序容器的基础能力会被自动引入。开发者只需要关注版本即可,您也可以自行配置其他的能力。
关于 Kit 版本,建议您选择带有推荐标识的版本。