更新时间:2023-05-25 06:23:47
推荐场景 通过场景服务连接设备和用户,赋予设备场景化能力。它主要提供包含获取推荐场景列表、获取设备的推荐场景列表、获取推荐场景详情、添加和移除推荐场景在内的相关功能。有关场景推荐业务介绍,请参考 OEM App 场景推荐。
接口说明
在每次获取推荐场景列表前,先调用该匹配接口,用于更新推荐场景,获取最新的推荐场景列表。
该接口不必在每次获取列表前调用一次,可以设定时间间隔阈值。例如,在 12 小时内只调用一次,来刷新推荐场景列表。
v3.33.5 及以上版本 SDK 支持该接口。
- (void)updateMatchingRecommendWithHomeId:(long long)homeId
success:(ThingSuccessID)successHandler
failure:(ThingFailureError)failureError;
参数说明
参数 | 说明 |
---|---|
homeId | 家庭 ID |
successHandler | 成功回调 |
failureError | 失败回调 |
示例代码
Objective-C
/// 匹配推荐场景
[ThingSmartSceneManager.sharedInstance updateMatchingRecommendWithHomeId:123456 success:^(id result) {
} failure:^(NSError *error) {
}];
Swift
/// 匹配推荐场景
ThingSmartSceneManager.sharedInstance().updateMatchingRecommend(withHomeId: 123456) { (data) in
} failure: { (error) in
}
接口说明
- (void)getRecommendedSceneListWithHomeId:(long long)homeId
success:(void(^)(NSArray<ThingSmartSceneModel *> *list))success
failure:(ThingFailureError)failure;
参数说明
参数 | 说明 |
---|---|
homeId | 当前家庭 ID |
success | 成功回调,返回场景列表模型数据 |
failure | 失败回调,返回失败信息 |
示例代码
Objective-C
/// 获取推荐场景列表
[ThingSmartSceneManager.sharedInstance getRecommendedSceneListWithHomeId:123456 success:^(NSArray<ThingSmartSceneModel *> *list) {
} failure:^(NSError *error) {
}];
Swift
/// 获取推荐场景列表
ThingSmartSceneManager.sharedInstance().getRecommendedSceneList(withHomeId: 123456) { (list) in
} failure: { (error) in
}
接口说明
当设备配网完成后,想要获取设备相关的推荐场景列表,先调用该匹配接口,用于更新设备相关的推荐场景,获取最新的推荐场景列表。
v3.33.5 及以上版本 SDK 支持该接口。
- (void)updateMatchingDialogRecommendWithHomeId:(long long)homeId
success:(ThingSuccessID)successHandler
failure:(ThingFailureError)failureError;
参数 | 说明 |
---|---|
homeId | 当前家庭 ID |
successHandler | 成功回调 |
failureError | 失败回调 |
示例代码
Objective-C
/// 匹配设备的推荐场景
[ThingSmartSceneManager.sharedInstance updateMatchingDialogRecommendWithHomeId:123456 success:^(id result) {
} failure:^(NSError *error) {
}];
Swift
/// 匹配设备的推荐场景
ThingSmartSceneManager.sharedInstance().updateMatchingDialogRecommend(withHomeId: 123456) { data in
} failure: { error in
}
接口说明
当设备配网完成后,可以调用该接口来获取当前配网成功设备的相关推荐。
- (void)getRecommendedSceneListWithHomeId:(long long)homeId
deviceId:(NSString *)deviceId
count:(NSInteger)count
success:(void(^)(NSArray<ThingSmartSceneModel *> *list))success
failure:(ThingFailureError)failure;
参数说明
参数 | 说明 |
---|---|
homeId | 当前家庭 ID |
deviceId | 当前配网设备 ID |
count | 获取的推荐列表个数,限制为 3 或 4 个 |
success | 成功回调,返回场景模型数据 |
failure | 失败回调,返回失败信息 |
示例代码
Objective-C
/// 获取设备相关的推荐场景列表
[ThingSmartSceneManager.sharedInstance getRecommendedSceneListWithHomeId:123456 deviceId:@"device id" count:4 success:^(NSArray<ThingSmartSceneModel *> *list) {
} failure:^(NSError *error) {
}];
Swift
/// 获取设备相关的推荐场景列表
ThingSmartSceneManager.sharedInstance().getRecommendedSceneList(withHomeId: 123456, deviceId: "device id", count: 4) { list in
} failure: { error in
}
接口说明
该接口用于获取当前家庭下设备的推荐场景,每个设备只会匹配出一个推荐场景。
v3.33.5 及以上版本 SDK 支持该接口。
- (void)getRecommendDeviceListWithDevIds:(NSArray<NSString *> *)devIds
homeId:(long long)homeId
success:(void (^)(NSDictionary<NSString *,ThingSmartSceneModel *> *dict))success
failure:(ThingFailureError)failure;
参数说明
参数 | 说明 |
---|---|
devIds | 设备 ID 数组,限制 20 个 |
homeId | 当前家庭 ID |
success | 成功回调,返回场景字典模型数据,一个设备对应返回一个推荐场景数据 |
failure | 失败回调,返回失败信息 |
示例代码
Objective-C
/// 批量获取设备相关的推荐场景列表
[ThingSmartSceneManager.sharedInstance getRecommendDeviceListWithDevIds:@[@"11", @"22"] homeId:123456 success:^(NSDictionary<NSString *,ThingSmartSceneModel *> *dict) {
} failure:^(NSError *error) {
}];
Swift
/// 批量获取设备相关的推荐场景列表
ThingSmartSceneManager.sharedInstance().getRecommendDeviceList(withDevIds: ["11", "22"], homeId: 123456) { (dictionary) in
} failure: { error in
}
接口说明
- (void)getRecommendSceneDetailWithSceneId:(NSString *)sceneId
homeId:(long long)homeId
success:(void (^)(ThingSmartSceneModel *sceneModel))success
failure:(ThingFailureError)failure;
参数说明
参数 | 说明 |
---|---|
sceneId | 推荐场景 ID |
homeId | 当前家庭 ID |
success | 成功回调,返回场景模型数据 |
failure | 失败回调,返回失败信息 |
示例代码
Objective-C
/// 获取推荐场景详情
[ThingSmartSceneManager.sharedInstance getRecommendSceneDetailWithSceneId:@"recommend id" homeId:123456 success:^(ThingSmartSceneModel *sceneModel) {
} failure:^(NSError *error) {
}];
Swift
/// 获取推荐场景详情
ThingSmartSceneManager.sharedInstance().getRecommendSceneDetail(withSceneId: "recommend id", homeId: 123456) { sceneModel in
} failure: { error in
}
接口说明
对于一个非常喜欢,觉得实用的推荐场景,调用该接口可以为用户添加推荐场景。被添加的推荐场景会被记录在普通场景列表中,用户可以通过刷新普通场景列表找到它。
- (void)saveRecommendSceneWithHomeId:(long long)homeId
success:(void (^)(ThingSmartSceneModel *sceneModel))success
failure:(ThingFailureError)failure;
参数说明
参数 | 说明 |
---|---|
homeId | 当前家庭 ID |
success | 成功回调,返回场景模型数据 |
failure | 失败回调,返回失败信息 |
示例代码
Objective-C
/// 添加推荐场景
ThingSmartSceneModel *sceneModel = [[ThingSmartSceneModel alloc] init];
sceneModel.sceneId = @"123456";
ThingSmartScene *sceneService = [ThingSmartScene sceneWithSceneModel:sceneModel];
[sceneService saveRecommendSceneWithHomeId:123456 success:^(ThingSmartSceneModel *sceneModel) {
} failure:^(NSError *error) {
}];
Swift
/// 添加推荐场景
let sceneModel = ThingSmartSceneModel.init()
sceneModel.sceneId = "123456"
let sceneService = ThingSmartScene.init(sceneModel: sceneModel)
sceneService?.saveRecommendScene(withHomeId: 123456, success: { sceneModel in
}, failure: { error in
})
接口说明
对于一个不感兴趣的推荐场景,调用该接口移除不感兴趣的推荐。
移除推荐后,如需重新刷新推荐列表,需要等待 5s 的时间间隔后再拉取推荐场景列表。
- (void)removeRecommendSceneWithHomeId:(long long)homeId
success:(ThingSuccessHandler)success
failure:(ThingFailureError)failure;
参数说明
参数 | 说明 |
---|---|
homeId | 当前家庭 ID |
success | 成功回调 |
failure | 失败回调,返回失败信息 |
示例代码
Objective-C
/// 移除推荐场景
ThingSmartSceneModel *sceneModel = [[ThingSmartSceneModel alloc] init];
sceneModel.sceneId = @"123456";
ThingSmartScene *sceneService = [ThingSmartScene sceneWithSceneModel:sceneModel];
[sceneService removeRecommendSceneWithHomeId:123456 success:^{
} failure:^(NSError *error) {
}];
Swift
/// 移除推荐场景
let sceneModel = ThingSmartSceneModel.init()
sceneModel.sceneId = "123456"
let sceneService = ThingSmartScene.init(sceneModel: sceneModel)
sceneService?.removeRecommendScene(withHomeId: 123456, success: {
}, failure: { error in
})
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈