定制功能
家庭相关
家庭相关的所有功能对应IOTSmartFamily类。每个注册用户系统都会分配一个默认家庭,默认家庭不可删除。每个家庭,无论是默认家庭还是普通家庭,系统都会分配一个默认房间,默认房间亦不可删除。
获取用户家庭列表
获取家庭列表。获取成功返回IOTSmartFamily实体类对象,通过其属性familyListModel(IOTSmartFamilyListModel类对象)拿取相应信息。
请求参数:无
例子:
- (void)getFamilyList{
[IOTSmartFamily IOTCloudSDK_getFamilyListSuccess: ^(NSArray
新建家庭
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
familyName | NSString | 新建家庭名称 | 不能为空字符串或nil | 是 |
familyImgData | NSData | 新建家庭图片二进制数据 | 可以为nil | 否 |
例子:
- (void)creatFamily{ [IOTSmartFamily IOTCloudSDKcreatFamilyWithFamilyName:@"your familyName " familyImgData:@"your_ familyImgData " success:^ { NSLog(@"creatFamily success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"creatFamily failure: %@", errMessage); }]; }
删除家庭
请求参数:无
例子:
- (void)deleteFamily{ [self.family IOTCloudSDK_deleteFamilySuccess: ^{ NSLog(@"deleteFamily success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"deleteFamily failure: %@", errMessage); }]; }
修改家庭名称
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
familyName | NSString | 修改后的家庭名称 | 不能为空字符串或nil | 是 |
例子:
- (void)modifyFamilyName{ [self.family IOTCloudSDKmodifyFamilyNameByFamilyName:@"your familyName " success:^ { NSLog(@"modifyFamilyName success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"modifyFamilyName failure: %@", errMessage); }]; }
修改家庭图片
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
familyImgData | NSData | 修改后家庭图片二进制数据 | 不能为nil | 是 |
例子:
- (void)modifyFamilyImage{ [self.family IOTCloudSDKmodifyFamilyImgByFamilyImgData:@"your familyImgData " success:^ { NSLog(@"modifyFamilyImage success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"modifyFamilyImage failure: %@", errMessage); }]; }
获取某家庭的分享状况
获取家庭分享状况。获取成功返回IOTSmartFamilyShareInfoModel实体类对象。
请求参数:无
例子:
- (void)getFamilyShareInfo{
[self.family IOTCloudSDK_getFamilyShareInfoSuccess: ^( NSArray
添加家庭分享
SDK目前支持通过手机号通过邮箱两种方式添加家庭分享。
通过手机号添加家庭分享。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
tel | NSString | 要分享用户的注册手机号 | 不能为空字符串或nil | 是 |
例子:
- (void)addFamilyShare{ [self.family IOTCloudSDKaddFamilyShareWithTel:@"your sharedTel " success:^ { NSLog(@"addFamilyShare success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"addFamilyShare failure: %@", errMessage); }]; }
通过邮箱添加家庭分享。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
NSString | 要分享用户的注册邮箱 | 不能为空字符串或nil | 是 |
例子:
- (void)addFamilyShare{ [self.family IOTCloudSDKaddFamilyShareWithEmail:@"your sharedTel " success:^ { NSLog(@"addFamilyShare success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"addFamilyShare failure: %@", errMessage); }]; }
取消家庭分享
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
shareInfoModel | IOTSmartFamilyShareInfoModel | 以上11.6接口返回的实例对象 | 不能为nil | 是 |
例子:
- (void)cancleFamilyShare{ [self.family IOTCloudSDKcancleFamilyShareWithShareInfoModel:@"your shareInfoModel " success:^ { NSLog(@"cancleFamilyShare success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"cancleFamilyShare failure: %@", errMessage); }]; }
获取某家庭内的房间列表
获取家庭内房间列表。获取成功返回IOTSmartRoom实体类对象。通过其属性roomListModel(IOTSmartRoomListModel类对象)拿取相应信息。
请求参数:无
例子:
- (void)getFamilyRoomList{
[self.family IOTCloudSDK_getFamilyRoomListSuccess: ^( NSArray
在家庭下创建场景
创建场景。获取成功返回场景id。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
scenesName | NSString | 场景名称 | 是 | |
scenesType | IOTSmartScenesType | 场景类型 | 是 | |
scenesFlag | IOTSmartScenesFlag | 场景触发频率标识 | 是 | |
logicalType | IOTSmartConditionLogicalType | 触发类场景条件间的逻 辑关系,其他类场景默认填0 |
是 |
例子:
- (void)createScenes{
[self.family IOTCloudSDK_createFamilyScenesWithScenesName:@"your_ scenesName" scenesType: @"your_ scenesType" scenesFlag: @"your_ scenesFlag" logicalType:@"your_ scenesLogicalType" success: ^(int scenesId) {
NSLog(@"createScenes success");
} failure:^(int errNo,NSString *errMessage) {
NSLog(@"createScenes failure: %@", errMessage);
}];
}
获取某个家庭下场景列表
获取场景列表。获取成功返回IOTSmartScenes实体类对象数组,通过其属性scenesModel(IOTSmartScenesListModel类对象)拿取相应信息。
请求参数:无
例子:
- (void)getScenesList{
[self.family IOTCloudSDK_getFamilyScenesListSuccess: ^( NSArray
获取可作为本家庭某场景动作的该家庭下其他场景列表
获取可作为本家庭某场景动作的该家庭下其他场景列表。获取成功返回IOTSmartActionScenesListModel实体类对象数组。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
scenes | IOTSmartScenes | 要添加动作的场景 | 是 |
例子:
- (void)getActionScenesList{ [self.family getActionFamilyScenesListWithScenes: @"your_ scenes" success: ^( NSArray< IOTSmartActionScenesListModel > actionScenesListModelArr) { NSLog(@"getActionScenesList success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"getActionScenesList failure: %@", errMessage); }]; }
获取某家庭下场景执行记录列表
获取场景执行记录列表。获取成功返回IOTSmartScenesRecordListModel实体类对象数组。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
count | int | 要获取的记录条数 | 是 |
例子:
- (void)getScenesRecordList{ [self.family IOTCloudSDKgetFamilyScenesRecordListWithCount:@"your count" success: ^( NSArray< IOTSmartScenesRecordListModel> scenesRecordListModelArr) { NSLog(@"getScenesRecordList success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"getScenesRecordList failure: %@", errMessage); }]; }
房间相关
家庭相关的所有功能对应IOTSmartRoom类。
获取用户房间列表
获取用户房间列表。获取成功返回IOTSmartRoom实体类对象,通过其属性roomListModel(IOTSmartRoomListModel类对象)拿取相应信息。
请求参数:无
例子:
- (void)getRoomList{
[IOTSmartRoom IOTCloudSDK_getRoomListSuccess: ^( NSArray
新建房间
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
roomName | NSString | 新建房间名称 | 不能为空字符串或nil | 是 |
roomImgData | NSData | 新建房间图片二进制数据 | 可以为nil | 否 |
familyId | Int | 家庭id | 如果不选家庭,请填0, 会进入默认家庭中 |
是 |
例子:
- (void)creatRoom{ [IOTSmartRoom IOTCloudSDKcreatRoomWithRoomName:@"your roomName " roomImgData:@"your roomImgData " familyId: @"your familyId " success:^ { NSLog(@"creatRoom success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"creatRoom failure: %@", errMessage); }]; }
删除房间
请求参数:无
例子:
- (void)deleteRoom{ [self. room IOTCloudSDK_deleteRoomSuccess: ^{ NSLog(@"deleteRoom success"); } failure:^( int errNo,NSString *errMessage) { NSLog(@"deleteRoom failure: %@", errMessage); }]; }
修改房间名称
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
roomName | NSString | 修改后的房间名称 | 不能为空字符串或nil | 是 |
例子:
- (void)modifyRoomName{ [self. room IOTCloudSDKmodifyRoomNameByRoomName:@"your roomName " success:^ { NSLog(@"modifyRoomName success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"modifyRoomName failure: %@", errMessage); }]; }
修改房间图片
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
roomImgData | NSData | 修改后房间图片二进制数据 | 不能为nil | 是 |
例子:
- (void)modifyRoomImage{ [self. room IOTCloudSDKmodifyRoomImgByRoomImgData:@"your roomImgData " success:^ { NSLog(@"modifyRoomImage success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"modifyRoomImage failure: %@", errMessage); }]; }
修改所属的家庭
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
familyId | Int | 修改后的家庭id | 是 |
例子:
- (void)modifyFamilyId{ [self. room IOTCloudSDKmodifyFamilyByFamilyId:@"your familyId " success:^ { NSLog(@"modifyFamilyId success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"modifyFamilyId failure: %@", errMessage); }]; }
获取某房间内的设备列表
获取房间内设备列表。获取成功返回IOTSmartDevice实体类对象。通过其属性deviceModel(IOTSmartDeviceListModel类对象)拿取相应信息。
请求参数:无
例子:
- (void)getRoomDeviceList{
[self. room IOTCloudSDK_getRoomDeviceListSuccess: ^( NSArray
房间内加入某设备
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
device | IOTSmartDevice | 要加入房间的设备实例对象 | 是 |
例子:
- (void)insertDeviceToRoom { [self. room IOTCloudSDKinsertDeviceToRoomWithDevice:@"your device " success:^ { NSLog(@"insertDeviceToRoom success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"insertDeviceToRoom failure: %@", errMessage); }]; }
分组相关
分组相关的所有功能对应IOTSmartGroup类。
获取用户分组列表
获取分组列表。获取成功返回IOTSmartGroup实体类对象数组,通过其属性groupListModel(IOTSmartGroupListModel类对象)拿取相应信息。
请求参数:无
例子:
- (void)getGroupList{ [IOTSmartGroup IOTCloudSDK_getGroupListSuccess: ^( NSArray< IOTSmartGroup > groupArr) { NSLog(@"getGroupList success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"getGroupList failure: %@", errMessage); }]; }
创建分组
创建成功返回IOTSmartGroup实体类对象。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
groupName | NSString | 分组名称 | 是 |
例子:
- (void)createGroup{ [IOTSmartGroup IOTCloudSDKcreatGroupWithGroupName:@"your groupName " success: ^( IOTSmartGroup group) { NSLog(@"createGroup success"); } failure:^(int errNo,NSString errMessage) { NSLog(@"createGroup failure: %@", errMessage); }]; }
删除分组
请求参数:无
例子:
- (void)deleteGroup{ [self. group IOTCloudSDK_deleteGroupSuccess: ^ { NSLog(@"deleteGroup success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"deleteGroup failure: %@", errMessage); }]; }
修改分组名称
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
groupName | NSString | 修改后的分组名称 | 是 |
例子:
- (void)modifyGroupName{ [self. group IOTCloudSDKmodifyGroupNameByName:@"your_new groupName " success: ^ { NSLog(@"modifyGroupName success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"modifyGroupName failure: %@", errMessage); }]; }
分组里添加设备
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
deviceArr | NSArray | 元素为IOTSmartDevice对象 | 是 |
例子:
- (void)insertDeviceToGroup{ [self. group IOTCloudSDK_insertDeviceToGroupWithDeviceArr:@"your_deviceArr" success: ^ { NSLog(@"insertDeviceToGroup success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"insertDeviceToGroup failure: %@", errMessage); }]; }
分组里移除设备
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
deviceArr | NSArray | 元素为IOTSmartDevice对象 | 是 |
例子:
- (void)removeDeviceFromGroup { [IOTSmartGroup IOTCloudSDK_removeDeviceFromGroupWithDeviceArr:@"your_deviceArr" success: ^ { NSLog(@"removeDeviceFromGroup success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"removeDeviceFromGroup failure: %@", errMessage); }]; }
通知相关
通知相关的所有功能对应IOTSmartNotice类。
绑定极光推送id
首先用户需要先从极光开放平台上下载极光推送的SDK接入工程,并在极光开放平台上注册应用,然后把在极光推送开放平台上获得的AppKey和Master Secret填写在青莲云平台上,实现云云对接。然后再调用该接口把用户id和极光registrationId绑定。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
registrationId | NSString | 极光id | 通过调用极光SDK获得, 是针对不同手机的唯一标识符。 |
是 |
tags | NSArry | 推送标签 | 没有特殊要求就填空数组 | 是 |
例子:
- (void) bindJPush{ [IOTSmartNotice IOTCloudSDKbindJPushByRegistrationId:@"your registrationId " tags: @"your_ tags " success: ^{ NSLog(@"bindJPush success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"bindJPush failure: %@", errMessage); }]; }
解绑极光推送id
调用该接口把用户id和极光registrationId解绑,解绑后不会再收到极光推送消息(适用于当用户退出登录时不想再接收到设备告警推送的场景)。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
registrationId | NSString | 极光id | 通过调用极光SDK获得, 是针对不同手机的唯一标识符。 |
是 |
tags | NSArry | 推送标签 | 没有特殊要求就填空数组 | 是 |
例子:
- (void) unbindJPush{ [IOTSmartNotice IOTCloudSDKunbindJPushByRegistrationId:@"your registrationId " tags: @"your_ tags " success: ^{ NSLog(@"unbindJPush success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"unbindJPush failure: %@", errMessage); }]; }
根据微信公众号id获取微信模板列表
首先用户需要先注册微信公众号,然后把获得的AppID和App Secret填写在青莲云平台上,实现云云对接。然后再调用该接口获取在微信平台上创建的推送模板列表。获取成功返回IOTSmartTemplateListModel实体类对象数组。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
wxOauthId | NSString | 微信公众号AppId | 微信平台获得 | 是 |
例子:
- (void) getTemplateList{ [IOTSmartNotice IOTCloudSDKgetTemplateListWithWXOauthId:@"your wxOauthId " success: ^( NSArray< IOTSmartTemplateListModel> wxTemplateModelArr) { NSLog(@"getTemplateList success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"getTemplateList failure: %@", errMessage); }]; }
获取某设备的通知规则列表
获取某设备的通知规则列表。获取成功返回IOTSmartNoticeListModel实体类对象数组。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
device | IOTSmartDevice | 是 | ||
type | int | 要获取的通知规则类型 | 1、极光 2、微信 3、极光+微信 | 是 |
例子:
- (void)getPushRules { [IOTSmartNotice IOTCloudSDK_getPushRulesWithDevice:@"your_device" type: @"your_type" success: ^( NSArray< IOTSmartNoticeListModel> noticeListModelArr) { NSLog(@"getPushRules success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"getPushRules failure: %@", errMessage); }]; }
增加某设备的通知规则
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
device | IOTSmartDevice | 是 | ||
noticeList | NSArry | 元素为IOTSmartNoticeListModel对象 | 是 |
例子:
- (void)addPushRules { [IOTSmartNotice IOTCloudSDK_savePushRulesWithDevice:@"your_device" noticeListModelArr: @"your_noticeList" success: ^{ NSLog(@"addPushRules success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"addPushRules failure: %@", errMessage); }]; }
批量删除通知规则
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
noticeList | NSArry | 元素为IOTSmartNoticeListModel对象 | 是 |
例子:
- (void)deletePushRules { [IOTSmartNotice IOTCloudSDK_delPushRulesWithNoticeListModelArr: @"your_noticeList" success: ^{ NSLog(@"deletePushRules success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"deletePushRules failure: %@", errMessage); }]; }
获取通知历史消息列表
获取通知历史消息列表。获取成功返回IOTSmartNoticeMessageListModel实体类对象数组。
请求参数:无
例子:
- (void)getPushRuleMsgs { [IOTSmartNotice IOTCloudSDK_getPushMessageListSuccess: ^( NSArray< IOTSmartNoticeMessageListModel> noticeListMessageModelArr) { NSLog(@"getPushRuleMsgs success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"getPushRuleMsgs failure: %@", errMessage); }]; }
按时间段获取通知历史消息列表
按时间段获取通知历史消息列表。获取成功返回IOTSmartNoticeMessageListModel实体类对象数组。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
startTime | String | 开始时间 | 十位时间戳(秒级) | 是 |
endTime | String | 结束时间 | 十位时间戳(秒级) | 是 |
例子:
- (void)getSomeTimePushRuleMsgs { [IOTSmartNotice IOTCloudSDK_getSomeTimePushMessageListWithStartTime:@"your_startTime" endTime:@"your_endTime" success: ^( NSArray< IOTSmartNoticeMessageListModel> noticeListMessageModelArr) { NSLog(@"getSomeTimePushRuleMsgs success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"getSomeTimePushRuleMsgs failure: %@", errMessage); }]; }
绑定小米推送id
首先用户需要先从小米开放平台上下载小米推送的SDK接入工程,并在小米开放平台上注册应用,然后把在小米推送开放平台上获得的AppKey和Master Secret填写在青莲云平台上,实现云云对接。然后再调用该接口把用户id和小米registrationId绑定。
注意,支持多种语言推送的小米绑定,注意,该方法只是为了辅助云平台上配置产品级多语言推送,还需要在云平台进行推送标题的各语言设置,与本文档14.5配置的通知规则无关
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
registrationId | NSString | 小米id | 通过调用小米SDK获得,是针对不同 手机的唯一标识符。 |
是 |
tags | NSArry | 推送标签 | 没有特殊要求就填空数组 | 是 |
langType | Int | 语言类型 | 1 中文 2 英文 3 德文 4 法文 5 西班牙文 6 意大利文 7 俄文 8 印地文 9繁体中文 10丹麦文 11荷兰文 12芬兰文 13瑞典文 14挪威文 15韩文 16日文 17希伯来文 18菲律宾文 19希腊文 20葡萄牙文 21阿拉伯文 22孟加拉文 23越南文 24泰文 25波兰文 26波斯文 27乌克兰文 |
是 |
例子:
- (void) bindMiPush{ [IOTSmartNotice IOTCloudSDKbindMiPushByRegistrationId:@"your registrationId " tags: @"your tags " langType:@"your langType " success: ^{ NSLog(@"bindMiPush success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"bindMiPush failure: %@", errMessage); }]; }
解绑小米推送id
调用该接口把用户id和小米registrationId解绑,解绑后不会再收到小米推送消息(适用于当用户退出登录时不想再接收到设备告警推送的场景)。
请求参数:
参数名 | 类型 | 说明 | 备注 | 必需 |
---|---|---|---|---|
registrationId | NSString | 小米id | 通过调用小米SDK获得,是针对不同手机的唯一标识符。 | 是 |
tags | NSArry | 推送标签 | 没有特殊要求就填空数组 | 是 |
例子:
- (void) unbindMiPush{ [IOTSmartNotice IOTCloudSDKunbindMiPushByRegistrationId:@"your registrationId " tags: @"your_ tags " success: ^{ NSLog(@"unbindMiPush success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"unbindMiPush failure: %@", errMessage); }]; }