快速集成

更新时间:2024-03-15 09:21:55下载pdf

本文介绍如何集成商业门锁 SDK。

集成 SDK

  • 开始操作前,确保您已经完成了 准备工作
  • 如果您还未安装 Android Studio,访问 安卓官网 进行下载安装。

第一步:创建 Android 工程

在 Android Studio 中新建工程。

第二步:配置 build.gradle 文件

在安卓项目的 build.gradle 文件里,添加集成 准备工作 中下载的 dependencies 依赖库。

android {
    defaultConfig {
        ndk {
            abiFilters "armeabi-v7a", "arm64-v8a"
        }
    }
    packagingOptions {
        pickFirst 'lib/*/libv8android.so'
        pickFirst 'lib/*/libv8wrapper.so'
        pickFirst 'lib/*/libc++_shared.so'
    }
}

dependencies {
    implementation 'com.facebook.soloader:soloader:0.10.4'
    implementation 'com.alibaba:fastjson:1.1.67.android'
    implementation 'com.squareup.okhttp3:okhttp-urlconnection:3.14.9'
    implementation 'com.thingclips.smart:thingsmartlocksdk:1.3.1-lock'
}

在根目录的 build.gradle 文件中,增加涂鸦 IoT Maven 仓库地址,进行仓库配置。

repositories {
   maven { url 'https://maven-other.tuya.com/repository/maven-releases/' }
   maven { url "https://maven-other.tuya.com/repository/maven-commercial-releases/" }
   maven { url 'https://jitpack.io' }
   google()
   mavenCentral()
   maven { url 'https://maven.aliyun.com/repository/public' }
   maven { url 'https://central.maven.org/maven2/' }
   maven { url 'https://oss.sonatype.org/content/repositories/snapshots/' }
   maven { url 'https://developer.huawei.com/repo/' }
}

第三步:集成安全图片并设置 Appkey 和 AppSecret

  1. App 工作台,找到您创建的 SDK。

  2. 获取密钥 中,单击 安卓安全图片 > 下载安全图片

    快速集成
  3. 将下载的安全图片命名为 t_s.bmp,放置到工程目录的 assets 文件夹下。

  4. 返回安卓项目,在 AndroidManifest.xml 文件里配置 appkeyappSecret,并配置相应的权限等。

    <meta-data
    android:name="THING_SMART_APPKEY"
    android:value="应用 Appkey" />
    <meta-data
    android:name="THING_SMART_APPKEY"
    android:value="应用密钥 AppSecret" />
    
  5. 配置应用证书。

    1. 生成一个 SHA256 密钥。关于应用证书的更多信息,参考 Android 官方文档 以及 如何获取证书 SHA256
    2. 将您的 SHA256 密钥填入到 证书 中。

第四步:混淆配置

proguard-rules.pro 文件中,进行相应混淆配置。

#fastJson
-keep class com.alibaba.fastjson.**{*;}
-dontwarn com.alibaba.fastjson.**

#mqtt
-keep class com.thingclips.smart.mqttclient.mqttv3.** { *; }
-dontwarn com.thingclips.smart.mqttclient.mqttv3.**

#OkHttp3
-keep class okhttp3.** { *; }
-keep interface okhttp3.** { *; }
-dontwarn okhttp3.**

-keep class okio.** { *; }
-dontwarn okio.**

-keep class com.thingclips.**{*;}
-dontwarn com.thingclips.**

# Matter SDK
-keep class chip.** { *; }
-dontwarn chip.**

# Keep native methods
-keepclasseswithmembernames class * {
    native <methods>;
}
-keepclassmembers class * {
    native <methods>;
}

第五步:初始化 SDK

您需要在 Application 的主线程中初始化 SDK,确保所有进程都能初始化。示例代码如下:

public class TuyaSmartApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        ThingSdk.init(this);
        ThingSmartNetWork.mSdkVersion = "1.3.0";
    }
}

appKeyappSecret 可以配置在 AndroidManifest.xml 文件里,也可以在初始化代码里初始化。

ThingSdk.init(Application application, String appkey, String appSerect)

第六步:开启或关闭日志

  • debug 模式下,您可以开启 SDK 的日志开关,查看更多日志信息,帮助您快速定位问题。

  • release 模式下,建议关闭日志开关。

    ThingSdk.setDebugMode(true);
    

运行 Demo App

运行 Demo App

在完成快速集成 SDK 后,您将获取到 SDK 使用的 AppKeyAppSecret。集成 SDK 时,确认 AppKeyAppSecret 是否与平台上的信息一致,任意一个不匹配会导致 SDK 无法使用。详细操作,参考 第三步:集成安全图片并设置 Appkey 和 AppSecret

Demo App 演示了 App SDK 的开发流程。在开发 App 之前,建议您先按照以下流程完成 Demo App 的操作。

Demo App 介绍

Demo App 主要包括:

  • 用户登录注册
  • 站点列表、站点详情
  • 门锁列表、门锁详情
  • 电子钥匙列表、电子钥匙详情
  • 密码列表、密码详情
  • 操作记录、开门记录、告警记录

Demo 示意图
快速集成快速集成

快速集成快速集成

运行 Demo

  1. 替换 app 目录下 build.gradle 文件中的 applicationId 为您的应用包名。

    快速集成
  2. 确认您已经完成 第三步:集成安全图片并设置 Appkey 和 AppSecret

  3. 单击运行。

故障排查:API 接口请求提示签名错误

问题现象:运行 Demo 时提示以下错误:

{
    "success": false,
    "errorCode" : "SING_VALIDATE_FALED",
    "status" : "error",
    "errorMsg" : "Permission Verification Failed",
    "t" : 1583208740059
}

解决方法

检查您的 AppKeyAppSecret 是否正确配置。

快速集成