集成 SDK

更新时间:2024-04-02 02:17:52下载pdf

本文介绍如何在安卓项目中,集成 MiniApp SDK,使之能够构建智能生活小程序,运行在您的 IoT App 上。

准备工作

在集成 MiniApp SDK 之前,您需要在 涂鸦 IoT 开发平台 上:

  • 注册开发者账号、创建产品、创建功能点等。
  • 创建智能生活 App SDK,然后获取激活 SDK 的密钥,以保证小程序功能的正常运行。具体操作流程,请参考 准备工作

前提条件

请确保您已经集成了涂鸦 智能生活 App SDK。具体集成方式,请参考 集成 SDK

导入 SDK

导入 SDK 时,请按照以下步骤配置仓库声明:

  1. 在父工程的 build.gradle 中,添加 MiniApp SDK 的 Maven 仓库地址:

    repositories {
        maven { url 'https://maven-other.tuya.com/repository/maven-releases/' }
        maven { url "https://maven-other.tuya.com/repository/maven-commercial-releases/" }
    }
    
  2. 在工程 build.gradle 中,添加相关的依赖:

    android {
        packagingOptions {
            pickFirst 'lib/*/libv8wrapper.so'
            pickFirst 'lib/*/libv8android.so'
        }
    }
    
    dependencies {
      
        //版本管理组件-必选
        implementation enforcedPlatform("com.thingclips.smart:thingsmart-BizBundlesBom:5.8.16")
        // MiniApp SDK 业务包-必选
        implementation "com.thingclips.smart:thingsmart-bizbundle-miniapp"
        // 扩展能力组件集合,提供小程序扩展能力,按需依赖声明
        // 基础扩展能力,对标微信大部分 API
        implementation "com.thingclips.smart:thingsmart-bizbundle-basekit"
        // 扫码能力
        // 如果是在中国大陆地区扫码,请依赖
        // implementation 'com.thingclips.smart:thingsmart-qrcode-scankit:5.8.0-rc.1'
        // implementation 'com.thingclips.smart:thingsmart-qrcode-api:5.8.0-rc.3'
    
        // 如果是在其他国家或地区扫码,请依赖
        // implementation 'com.thingclips.smart:thingsmart-qrcode-mlkit:5.8.0-rc.2'
        // implementation 'com.thingclips.smart:thingsmart-qrcode-api:5.8.0-rc.3'
    }
    
  3. 引入扫码组件之后,在项目工程中的 assets 文件下的 module_app.json 中,添加两处配置:

    以下针对中国大陆地区和其他国家或地区的配置,不能同时存在。

    1. moduleMapp 中,添加如下代码:

      // 中国大陆地区
      "com.thingclips.smart.scankit.qrcode.ScanKitModuleApp": [
      "scan_qrcode"
      ]
      
      // 其他国家或地区
      // "com.thingclips.smart.mlkit.qrcode.MLKitModuleApp": [
      //   "scan_qrcode"
      // ]
      
    2. serviceMap 中,添加如下代码:

      // 中国大陆地区
      "com.thingclips.smart.multimedia.qrcode.api.ScanQRCodeService": "com.thingclips.smart.scankit.qrcode.ScanQRCodeServiceImpl"
      
      // 其他国家或地区
      // "com.thingclips.smart.multimedia.qrcode.api.ScanQRCodeService": "com.thingclips.smart.mlkit.qrcode.ScanQRCodeServiceImpl"
      

添加权限描述

如果您集成所有的 SDK,那么涉及到的系统权限包括存储、摄像头、录音、读取手机状态、位置、蓝牙、通讯录等。在您调用相应的 API 和组件时,会被要求获取对应的权限。

权限名称 权限值 权限涉及的 API
相册读取 READ_EXTERNAL_STORAGE
  • chooseImage
  • chooseMedia
相册写入 WRITE_EXTERNAL_STORAGE saveToAlbum
相机 CAMERA
  • scanCode
  • chooseImage
  • chooseMedia
蓝牙 BLUETOOTH
  • 设备配网相关 API
  • 设备控制相关 API
麦克风 RECORD_AUDIO chooseMedia

打开小程序

/**
 * 通过小程序 ID 打开小程序
 */
fun openMiniAppByAppId(context: Context, appId : String, appVersion: String? = null, params: Bundle? = null)

/**
 * 通过 URL 打开小程序
 */
fun openMiniAppByUrl(context: Context, url : String, params: Bundle? = null)

/**
 * 通过扫码内容打开小程序
 */
fun openMiniAppByQrcode(context: Context, url : String, params: Bundle? = null)

关于小程序其他 API 的使用方式,请参考 快速入门

引入能力包

为了使小程序拥有更多的可能性,涂鸦针对一些常用的能力做了包装,并且提供了不同的能力包以供您选择。只需要将需要的能力包集成到工程中,您就可以调用相应能力包中的 API,实现业务功能的开发。

基础能力包

基础能力包,与腾讯微信小程序大部分 API 类似,包括上传、下载、录音、交互、文件操作等 API。建议您默认集成基础能力包。

// 基础扩展能力,与腾讯微信小程序大部分 API 类似
implementation 'com.thingclips.smart:thingsmart-bizbundle-basekit'
// 扫码能力
// 如果是在中国大陆地区扫码,请依赖
// implementation 'com.thingclips.smart:thingsmart-qrcode-scankit:5.8.0-rc.1'
// 如果是在非中国大陆地区扫码,请依赖
// implementation 'com.thingclips.smart:thingsmart-qrcode-mlkit:5.8.0-rc.2'

业务能力包

业务能力包提供了开发过程中一些常用涂鸦业务体系下的 API,包括查询多语言、打开控制面板等。建议您默认集成业务能力包。

implementation 'com.thingclips.smart:thingsmart-bizbundle-bizkit'

家庭管理能力包

家庭管理能力包包括以概念 家庭 为单位的信息查询等能力,是一些涂鸦业务管理的基础条件。家庭 是场景智能执行的最大单位。

implementation 'com.thingclips.smart:thingsmart-bizbundle-homekit'

如需集成家庭管理能力包,在以上能力依赖的基础上,您还需要额外集成 智能生活 App SDK 家庭管理 UI 业务包

设备控制能力包

设备控制能力包是对设备控制相关能力的封装,能实现控制、监听、移除设备。如有需求,请参考 智能生活 App SDK 设备控制 UI 业务包

地图能力包

地图能力包是对地图相关能力的封装,包括获取位置、地理围栏等。

implementation 'com.thingclips.smart:thingsmart-bizbundle-mapkit'
// 如果需要接入高德地图,请额外依赖以下组件:
//    implementation 'com.thingclips.smart:thingsmart-amap:5.8.1'
//    implementation 'com.thingclips.smart:thingsmart-amaplocation:5.3.0-rc.2'
// 如果需要接入 google 地图,请额外依赖以下组件:
//    implementation 'com.thingclips.smart:thingsmart-googlemap:5.0.1'
//    implementation 'com.thingclips.smart:thingsmart-googlelocation:4.5.0-rc.1'

媒体能力包

媒体能力包是对视频和相机的封装,您在使用 videocamera 媒体组件时,需要集成媒体能力包。

implementation 'com.thingclips.smart:thingsmart-bizbundle-mediakit'

配网能力包

配网能力包对配网流程进行了封装,提供配网流程中所涉及的 API。您自建配网流程时,需要集成配网能力包。

implementation 'com.thingclips.smart:thingsmart-bizbundle-playNetkit'

P2P 传输能力包

P2P 传输能力包是对 P2P 建连/传输等能力的封装,包含 P2P 的初始化、连接、上传、下载和销毁等功能。适用于扫地机、门锁和 IPC 等。

implementation 'com.thingclips.smart:thingsmart-bizbundle-p2pkit'

IPC 业务能力包

IPC 业务能力包是对 IPC 业务能力的封装,包含 IPC YUV 播放器、门铃呼叫、云存储签名等功能,适用于 IPC、门锁和扫地机等业务开发。

implementation 'com.thingclips.smart:thingsmart-bizbundle-ipckit'