门锁SDK使用
一、概述
本文主要介绍如何使用门锁SDK进行入网、设备控制
二、前置条件
三、使用
门锁SDK使用RN插件的形式支持不同设备,每一个设备单独一个插件文件。
3.1 跳转到门锁入网页面
使用以下API进入到门锁入网页面
LumiReactNativeManager.getInstance().startRNAccessPage("deviceModel","positionId")
参数说明
字段 | 数据类型 | 描述 | 获取渠道 |
---|---|---|---|
deviceModel | String | 设备模型值 | 参见附录支持的门锁设备清单 |
positionId | String | 房间位置 | 接口获取,详情参见Aqara开发者平台 |
3.2 跳转到门锁设备控制页
LumiReactNativeManager.getInstance().startRNPage("deviceModel", "deviceId")
参数说明
字段 | 数据类型 | 描述 | 获取渠道 |
---|---|---|---|
deviceModel | String | 设备模型值 | 参见附录支持的门锁设备清单 |
deviceId | String | 设备Id | 云端接口,设备配网成功后,会生成该设备id |
3.3 事件监听
当用户在页面操作的过程中,点击某些按钮亦或者满足其他条件时,可以通过事件监听器来获得事件回调。例如点击按钮跳转到宿主App中的页面,或者第三方自定义的事件
3.3.1 注册&解绑
//注册
LumiReactNativeManager.getInstance().registerRNMessageCallback(object :IRNMessageCallback{
override fun onHandleMessage(jsonMessage: String, promise: Promise?) {
//To Do Something
}
})
//解绑
LumiReactNativeManager.getInstance().unregisterRNMessageCallback()
3.3.2 常见事件列表
事件 | 类型 | 描述 |
---|---|---|
action_access_success | 通知 | 设备入网成功后的事件,第三方App可以做一些自己的业务 |
AddGatewway | 通知 | 部分门锁需要绑定网关,其中如果该账号下没有网关,会触发该事件,第三方App自行处理 |
3.4 RN插件
3.4.1 依赖本地插件文件
门锁SDK支持加载本地的插件文件,仅需将对应的文件放在目录中即可。
1.插件文件请放在assets/lumi/reactnative/prefab/bundle
目录下
2.配置文件请放在assets/lumi/reactnative/prefab/config
目录下
依赖本地插件的情况下,不会从云端进行插件更新,如需更新,则需要开发自行将新版本的RN插件放到assets目录中,重新进行打包发版。
3.4.2 依赖远程插件文件
门锁SDK支持加载放在服务器的远程插件文件,并且支持热更新,可以与本地插件
配合使用。
该功能涉及到远程插件文件的管理及下发,暂时不对外使用,如有需求,请联系商务。