Tuya App 已实现 App 内自动连接设备热点的功能,效果过下:
热点获取
APP 中获取热点前缀有三个维度
1、pid 维度
配网手动三级品类详情信息中获取,此逻辑涉及 App 高级能力定制热点,具体参考文档:https://developer.tuya.com/cn/docs/iot/ ... uzks2ue6ur
定制热点之后可关联具体产品
获取 pid 对应热点
在 podfile 中,引入 ThingSmartBusinessExtensionKit 组件。
ThingSmartActivatorDiscoveryRequest.h 中提供获取产品配网引导信息的方法。
方法
Code: Select all
/// Request a list of level-2 categories corresponding to level-1 categories
/// @param param Request parameters
/// @param success Network success callback to return bootstrap details
/// @param failure Network failure callbacks
- (void)requestCategoryDetailWithParam:(ThingActivatorCategoryDetailRequestData *)param success:(void(^)(ThingSmartDeviceCategoryModel *result))success failure:(ThingActivatorCallbackError)failure;
Objective-C 示例
Code: Select all
ThingActivatorCategoryDetailRequestData *param = [[ThingActivatorCategoryDetailRequestData alloc] init];
param.bizType = @1;
param.bizValue = @"productid";
[self.requestService requestCategoryDetailWithParam:param success:^(ThingSmartDeviceCategoryModel * _Nonnull result) {
// result.display.hotspotName
} failure:failure];
2、App 维度
NG后台“热点名称”中可以配置,以“|”分割,动态生效,ODM客户可找对应项目经理进行配置,业务包客户可通过 custom.json 配置
3、默认热点
默认热点前缀为 SmartLife- 和 SL-
自动连接
iOS 13 以上版本支持,检测是否有符合前缀的热点,如果有则会弹出上图系统弹窗。
使用 NEHotspotConfigurationManager 中的方法来实现自动连接
1、使用热点前缀初始化一个新的 NEHotspotConfiguration 对象
Code: Select all
NEHotspotConfiguration *configuration = [[NEHotspotConfiguration alloc] initWithSSIDPrefix:apSsidPrefix];
2、调用添加网络的方法
Code: Select all
[[NEHotspotConfigurationManager sharedManager] applyConfiguration:configuration completionHandler:^(NSError * _Nullable error) {
if (error) {
/// 连接失败
} else {
/// 连接成功
}
}];