定制功能

家庭相关

家庭相关的所有功能对应IOTSmartFamily类。每个注册用户系统都会分配一个默认家庭,默认家庭不可删除。每个家庭,无论是默认家庭还是普通家庭,系统都会分配一个默认房间,默认房间亦不可删除。

获取用户家庭列表

获取家庭列表。获取成功返回IOTSmartFamily实体类对象,通过其属性familyListModel(IOTSmartFamilyListModel类对象)拿取相应信息。

请求参数:无

例子:

- (void)getFamilyList{ [IOTSmartFamily IOTCloudSDK_getFamilyListSuccess: ^(NSArray familyArr) { NSLog(@"getFamilyList success"); } failure:^(int errNo,NSString errMessage) { NSLog(@"getFamilyList failure: %@", errMessage); }]; }

新建家庭

请求参数:

参数名 类型 说明 备注 必需
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 familyShareInfoModelArr) { NSLog(@"getFamilyShareInfo success"); } failure:^(int errNo,NSString errMessage) { NSLog(@"getFamilyShareInfo failure: %@", errMessage); }]; }

添加家庭分享

SDK目前支持通过手机号通过邮箱两种方式添加家庭分享。

通过手机号添加家庭分享。

请求参数:

参数名 类型 说明 备注 必需
tel NSString 要分享用户的注册手机号 不能为空字符串或nil

例子:

- (void)addFamilyShare{ [self.family IOTCloudSDKaddFamilyShareWithTel:@"your sharedTel " success:^ { NSLog(@"addFamilyShare success"); } failure:^(int errNo,NSString *errMessage) { NSLog(@"addFamilyShare failure: %@", errMessage); }]; }

通过邮箱添加家庭分享。

请求参数:

参数名 类型 说明 备注 必需
email 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 roomArr) { NSLog(@"getFamilyRoomList success"); } failure:^(int errNo,NSString errMessage) { NSLog(@"getFamilyRoomList failure: %@", errMessage); }]; }

在家庭下创建场景


创建场景。获取成功返回场景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 scenesListArr) { NSLog(@"getScenesList success"); } failure:^(int errNo,NSString errMessage) { NSLog(@"getScenesList failure: %@", errMessage); }]; }

获取可作为本家庭某场景动作的该家庭下其他场景列表

获取可作为本家庭某场景动作的该家庭下其他场景列表。获取成功返回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 roomArr) { NSLog(@"getRoomList success"); } failure:^(int errNo,NSString errMessage) { NSLog(@"getRoomList failure: %@", errMessage); }]; }

新建房间

请求参数:

参数名 类型 说明 备注 必需
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 deviceListArr) { NSLog(@"getRoomDeviceList success"); } failure:^(int errNo,NSString errMessage) { NSLog(@"getRoomDeviceList failure: %@", errMessage); }]; }

房间内加入某设备

请求参数:

参数名 类型 说明 备注 必需
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); }]; }

Copyright & copy qinglianyun all right reserved,powered by Gitbook该文件修订时间: 2021-04-22 18:53:48

results matching ""

    No results matching ""