更新时间:2023-06-01 06:18:33下载pdf
推荐场景 通过场景服务连接设备和用户,赋予设备场景化能力。场景推荐主要包括获取推荐场景列表、获取设备的推荐场景列表、获取推荐场景详情、移除和添加推荐场景在内的相关功能。有关场景推荐业务介绍,请参考 OEM App 场景推荐。
接口说明
在 获取推荐场景列表 前,要求先调用请求匹配推荐场景接口。
该接口存在限流,时效 12 小时,即在 12 小时内,多次调用云端并不会执行多次匹配逻辑。该接口由 3.29.0 及以上版本 SDK 支持。
fun requireRecommendMatch(relationId: Long, callback: IResultCallback<Boolean>?)
参数说明
参数 | 说明 |
---|---|
relationId | 家庭 ID |
callback | 回调 |
示例代码
5.0.0 版本 SDK 调用示例:
ThingHomeSdk.getSceneServiceInstance().recommendService().requireRecommendMatch(
relationId,
object : IResultCallback<Boolean>() {
override fun onSuccess(result: Boolean) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
接口说明
推荐场景列表获取前,需要先 匹配推荐场景,否则获取到的推荐场景不会变。3.21.0 及以上版本 SDK 支持该接口。
fun getRecommendAll(relationId: Long, callback: IResultCallback<List<RecommendScene>?>?)
参数说明
参数 | 说明 |
---|---|
relationId | 家庭 ID |
callback | 回调 |
其中,RecommendScene
的主要属性定义如下:
字段 | 类型 | 描述 |
---|---|---|
id | Long | 推荐场景 ID |
recommendId | String | 推荐场景 ID |
matchType | Int | 条件匹配模式:
|
ownerId | String | 家庭 ID |
name | String | 场景名称 |
coverIcon | String | 存储场景图标的 URL |
background | String | 背景图 |
displayColor | String | 显示的背景色 |
recomDescription | String | 场景推荐描述 |
recomCoefficient | Int | 场景推荐系数 |
hotCount | String | 推荐热点值 |
ruleGenre | Int | 联动类型 |
conditions | List<SceneCondition> | 场景的条件列表 |
actions | List<SceneAction> | 场景的动作列表 |
示例代码
5.0.0 版本 SDK 调用示例:
ThingHomeSdk.getSceneServiceInstance().recommendService().getRecommendAll(
relationId,
object : IResultCallback<List<RecommendScene>?>() {
override fun onSuccess(result: List<RecommendScene>?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
接口说明
设备配网完成后的需要展示该设备相关的推荐场景,则需要先调用该接口匹配设备的推荐场景。
接口存在限流,时效 12 小时,也就是 12 小时内,不会多次调用匹配接口的逻辑。3.29.0 及以上版本 SDK 支持。
fun requireRecommendMatchTwo(relationId: Long, callback: IResultCallback<Boolean>?)
参数说明
参数 | 说明 |
---|---|
relationId | 家庭 ID |
callback | 回调 |
示例代码
5.0.0 版本 SDK 调用示例:
ThingHomeSdk.getSceneServiceInstance().recommendService().requireRecommendMatchTwo(
relationId,
object : IResultCallback<Boolean>() {
override fun onSuccess(result: Boolean) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
接口说明
设备相关的推荐场景列表获取前,需要先 匹配推荐场景,否则获取到的推荐场景不会变。3.29.0 及以上版本 SDK 支持该接口。
fun getRecommendsByDevice(
relationId: Long,
deviceId: String,
size: Int,
callback: IResultCallback<List<RecommendScene>?>?
)
参数说明
参数 | 说明 |
---|---|
relationId | 家庭 ID |
deviceId | 设备 ID |
size | 推荐场景的数量。关于数量的限制,请参考 场景推荐规则。 |
callback | 回调 |
示例代码
5.0.0 版本 SDK 调用示例:
ThingHomeSdk.getSceneServiceInstance().recommendService().getRecommendsByDevice(
relationId, devId, 3,
object : IResultCallback<List<RecommendScene>?>() {
override fun onSuccess(result: List<RecommendScene>?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
接口说明
批量获取设备相关推荐场景。3.34.5 及以上版本 SDK 支持该接口。
fun requestRecommendSceneWithDeviceIds(
relationId: Long,
devIds: String,
source: Int,
callback: IResultCallback<ArrayList<RecommendPlainScene?>?>
)
参数说明
参数 | 说明 |
---|---|
relationId | 家庭 ID |
devIds | 设备 ID 列表,以逗号分隔。例如:"6cda1ca75a5a768f5czn9i,6cda1ca75a5a768f5czn9b" |
source |
|
callback | 回调 |
示例代码
ThingHomeSdk.getSceneServiceInstance().recommendService().requestRecommendSceneWithDeviceIds(relationId, devIds, 1,
object : IResultCallback<ArrayList<RecommendPlainScene?>?> {
override fun onSuccess(result: ArrayList<RecommendPlainScene?>?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
接口说明
获取推荐场景详细数据。3.34.5 及以上版本 SDK 支持该接口。
fun requestRecommendDetail(relationId: Long, sceneId: String, callback: IResultCallback<RecommendScene?>?)
参数说明
参数 | 说明 |
---|---|
relationId | 家庭 ID |
sceneId | 推荐场景 ID,即 RecommendScene 的 recommendId 字段 |
callback | 回调 |
示例代码
ThingHomeSdk.getSceneServiceInstance().recommendService().requestRecommendDetail(
relationId, recommendId,
object : IResultCallback<RecommendScene?>() {
override fun onSuccess(result: RecommendScene?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
接口说明
在推荐场景详情内,可以通过添加操作来将推荐场景保存为场景。
添加完成后,需要重新刷新推荐场景列表和普通场景列表。一旦推荐场景保存成普通场景后就不再推荐,同时普通场景列表多了一条记录。3.21.0 及以上版本 SDK 支持该接口。
fun handleRecommend(
relationId: Long,
sceneId: String,
action: String,
sceneData: NormalScene?,
callback: IResultCallback<Boolean?>?
)
参数说明
参数 | 说明 |
---|---|
relationId | 家庭 ID |
sceneId | 推荐场景 ID,即 RecommendScene 的 recommendId 字段 |
action | 保存或添加(save )推荐场景 |
sceneData | 编辑区的场景数据 |
callback | 回调 |
示例代码
5.0.0 版本 SDK 调用示例:
ThingHomeSdk.getSceneServiceInstance().recommendService().handleRecommend(
relationId, sceneId, "save", normalScene,
object : IResultCallback<Boolean?>() {
override fun onSuccess(result: Boolean?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
接口说明
在推荐场景详情内,可以通过该接口将不感兴趣的推荐场景从推荐场景列表中移除。
移除成功后,需要重新刷新推荐场景列表,该推荐场景不再推荐。3.21.0 及以上版本 SDK 支持该接口。
fun handleRecommend(
relationId: Long,
sceneId: String,
action: String,
sceneData: NormalScene?,
callback: IResultCallback<Boolean?>?
)
参数说明
参数 | 说明 |
---|---|
relationId | 家庭 ID |
sceneId | 推荐场景 ID,即 RecommendScene 的 recommendId 字段 |
action | 取消或者移除(remove )推荐场景 |
sceneData | 编辑区的场景数据,可传参 null |
callback | 回调 |
示例代码
5.0.0 版本 SDK 调用示例:
ThingHomeSdk.getSceneServiceInstance().recommendService().handleRecommend(
relationId, sceneId, "remove", null,
object : IResultCallback<Boolean?>() {
override fun onSuccess(result: Boolean?) {
}
override fun onError(errorCode: String?, errorMessage: String?) {
}
})
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈