更新时间:2024-08-20 02:42:08下载pdf
推荐场景 通过场景服务连接设备和用户,赋予设备场景化能力。它主要提供包含获取推荐场景列表、获取设备的推荐场景列表、获取推荐场景详情、添加和移除推荐场景在内的相关功能。有关场景推荐业务介绍,请参考 OEM App 场景推荐。
接口说明
- (void)getRecomSceneList:(long long)homeId
recomListParam:(TSceneRecomListParams *)params
success:(void(^)(NSArray<ThingSmartSceneModel *> *list))success
failure:(ThingFailureError)failure;
参数说明
参数 | 类型 | 说明 |
---|---|---|
homeId | long long | 当前家庭 ID |
params | TSceneRecomListParams 对象 | 请求推荐场景的参数对象 |
success | block | 成功回调,返回场景列表模型数据 |
failure | block | 失败回调,返回失败信息 |
TSceneRecomListParams
对象说明
参数 | 类型 | 说明 |
---|---|---|
TSceneRecomListSource | enum | 请求来源。TSceneRecomListSourceNormal :普通来源 |
size | int | 请求列表一页的个数 |
devId | string | 设备 ID |
shouldShowDidAddedRecommend | bool | 是否需要显示已被添加的推荐场景 |
示例代码
Objective-C
TSceneRecomListParams *recomListParams = [TSceneRecomListParams new];
recomListParams.source = TSceneRecomListSourceNormal;
recomListParams.size = 10;
recomListParams.shouldShowDidAddedRecommend = NO;
[[ThingSmartSceneManager sharedInstance] getRecomSceneList:123455 recomListParam:recomListParams success:^(NSArray<ThingSmartSceneModel *> * _Nonnull list) {
} failure:^(NSError *error) {
}];
Swift
let recomListParams = TSceneRecomListParams.init();
recomListParams.source = .normal;
recomListParams.size = 10;
recomListParams.shouldShowDidAddedRecommend = false;
ThingSmartSceneManager.sharedInstance().getRecomSceneList(123455, recomListParam: recomListParams) { recommendModels 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 | long long | 当前家庭 ID |
deviceId | string | 当前配网设备 ID |
count | int | 获取的推荐列表个数,限制为 3 或 4 个 |
success | block | 成功回调,返回场景模型数据 |
failure | block | 失败回调,返回失败信息 |
示例代码
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)fetchRecommendListForDeviceIDs:(NSArray<NSString *> *)deviceIDs
homeId:(long long)homeId
success:(void (^)(NSDictionary<NSString *,ThingSmartSceneModel *> *dict))success
failure:(ThingFailureError)failure;
参数说明
参数 | 类型 | 说明 |
---|---|---|
deviceIDs | array | 设备 ID 数组,限制 20 个 |
homeId | long long | 当前家庭 ID |
success | block | 成功回调,返回场景字典模型数据,一个设备对应返回一个推荐场景数据 |
failure | block | 失败回调,返回失败信息 |
示例代码
Objective-C
/// 批量获取设备相关的推荐场景列表
[[ThingSmartSceneManager sharedInstance] fetchRecommendListForDeviceIDs:@[@"123", @"456"] homeId:789 success:^(NSDictionary<NSString *,ThingSmartSceneModel *> * _Nonnull dict) {
} failure:^(NSError *error) {
}];
Swift
/// 批量获取设备相关的推荐场景列表
ThingSmartSceneManager.sharedInstance().fetchRecommendList(forDeviceIDs: ["123", "345"], homeId: 789) { recomendMap in
} failure: { error in
}
接口说明
- (void)getRecommendSceneDetailWithSceneId:(NSString *)sceneId
homeId:(long long)homeId
success:(void (^)(ThingSmartSceneModel *sceneModel))success
failure:(ThingFailureError)failure;
参数说明
参数 | 参数 | 说明 |
---|---|---|
sceneId | string | 推荐场景 ID |
homeId | long long | 当前家庭 ID |
success | block | 成功回调,返回场景模型数据 |
failure | block | 失败回调,返回失败信息 |
示例代码
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 | long long | 当前家庭 ID |
success | block | 成功回调,返回场景模型数据 |
failure | block | 失败回调,返回失败信息 |
示例代码
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)unlikeRecommend:(long long)homeId
recomHandleParams:(TSceneRecomHandleParams *)params
success:(ThingSuccessBOOL)success
failure:(ThingFailureError)failure;
参数说明
参数 | 类型 | 说明 |
---|---|---|
homeId | long long | 当前家庭 ID |
params | TSceneRecomHandleParams 对象 | 请求参数 |
success | block | 成功回调 |
failure | block | 失败回调,返回失败信息 |
TSceneRecomHandleParams
对象
参数 | 类型 | 说明 |
---|---|---|
recomBizType | enum | 推荐场景类型,详细见 TSceneRecomBizType 声明
|
recommendId | string | 推荐场景 ID |
gid | string | 家庭 ID |
示例代码
Objective-C
TSceneRecomHandleParams *params = [TSceneRecomHandleParams new];
params.recommendId = self.sceneModel.sceneId;
params.recomBizType = self.sceneModel.bizType;
params.gid = [NSString stringWithFormat:@"%lld", homeId];
[[ThingSmartSceneManager sharedInstance] unlikeRecommend:homeId recomHandleParams:params success:^(BOOL result) {
} failure:^(NSError *error) {
}];
Swift
let recomHandleParams = TSceneRecomHandleParams.init()
recomHandleParams.gid = ""
recomHandleParams.recomBizType = .energy
recomHandleParams.recommendId = ""
ThingSmartSceneManager.sharedInstance().unlikeRecommend(123456, recomHandleParams: recomHandleParams) { result in
} failure: { error in
let errorMessage = error?.localizedDescription ?? ""
SVProgressHUD.showError(withStatus: errorMessage)
}
接口说明
在每次获取推荐场景列表前,先调用该匹配接口,用于更新推荐场景,获取最新的推荐场景列表。
该接口不必在每次获取列表前调用一次,可以设定时间间隔阈值。例如,在 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
}
接口说明
当设备配网完成后,想要获取设备相关的推荐场景列表,先调用该匹配接口,用于更新设备相关的推荐场景,获取最新的推荐场景列表。
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
}
该内容对您有帮助吗?
是意见反馈该内容对您有帮助吗?
是意见反馈