跳转至

大规模房间

最近更新时间:2022-01-25 15:55:47 星期二

大规模房间

  1. 可以在后台创建大规模房间。
  2. 普通一对多 的房间中用户人数达到 100人 时,此房间会自动升级成为大房间。可以在-(void)roomManagerOnRemotePubMsgWithMsgID:(NSString )msgID msgName:(NSString )msgName data:(NSObject )data fromID:(NSString )fromID inList:(BOOL)inlist ts:(long)ts回调中监听 msgName,若为"BigRoom"时,表示此时房间已升级为大房间。
  3. 以下接口均是在大房间情况的调用生效。

getRoomUserWithPeerId

简要描述
- 大房间时,获取指定用户信息

接口名称
- - (int)getRoomUserWithPeerId:(NSString *)peerID callback:(void (^)(TKRoomUser *_Nullable user, NSError *_Nullable error))callback;

参数

参数名 必填 类型 说明
peerID NSString 用户ID
callback (void (^)(TKRoomUser _Nullable user, NSError _Nullable error) 获取到的用户信息回调

方法示例

1
2
3
4
    [_roomMgr getRoomUserWithPeerId:@"adc123456"
                           callback:^(TKRoomUser * _Nullable user, NSError * _Nullable error) {
          NSLog(@"用户ID = %@, 昵称 = %@", user.peerID, user.nickName);
    }];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

getRoomUserNumberWithRole

简要描述
- 获取大房间特定用户的人数

根据用户角色搜索用户,然后匹配用户昵称,返回人数

接口名称

1
2
3
- (int)getRoomUserNumberWithRole:(NSArray * _Nullable)role
                                          search:(NSString * _Nullable)search
                                          callback:(void (^)(NSInteger num, NSError *error))callback;

参数

参数名 必填 类型 说明
role NSArray 用户角色数组
search NSString 搜索条件:只匹配用户昵称
callback void (^)(NSInteger num, NSError *error) 请求回调

方法示例

1
2
3
4
5
    [_roomMgr getRoomUserNumberWithRole:[@2]
                                                    search:nil
                                                   callback:^(NSInteger num, NSError * _Nonnull error) {
        NSLog(@"num = %zd", num);
    }];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

getRoomUsersWithRole

简要描述
- 大房间时,获取房间用户列表

根据角色,分页请求,获取特定数量的用户。

接口名称

1
2
3
4
5
6
- (int)getRoomUsersWithRole:(NSArray * _Nullable)role
                           startIndex:(NSInteger)start
                       maxNumber:(NSInteger)max
                                search:(NSString * _Nullable)search
                                 order:(NSDictionary * _Nullable)order
                            callback:(void (^)(NSArray <TKRoomUser *>* _Nonnull users , NSError *error) )callback;

参数

参数名 必填 类型 说明
role NSArray 用户角色
start NSInteger 起始位置,比如:0,20,40等
max NSInteger 最大数量,比如:20
search NSString 搜索条件:只匹配用户昵称 ,可 nil
order NSDictionary 排序条件:可以选择用户属性作为排序条件,asc:升序,dsc:降序。比如:@"role" : @"asc",可 nil
callback void (^)(NSArray _Nonnull users , NSError error) 请求回调

方法示例

1
2
3
4
5
6
7
8
    [_roomMgr getRoomUsersWithRole:nil
                        startIndex:0
                         maxNumber:20
                            search:nil
                             order:@{@"role" : @"asc"}
                          callback:^(NSArray<TKRoomUser *> * _Nonnull users, NSError * _Nullable error) {

    }];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

batchChangeUserPropertyByIds

简要描述
- 大房间时,批量改变指定用户的属性

接口名称

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
- (int)batchChangeUserPropertyByIds:(NSArray<NSString *> *)peerIDs
                                      tellWhom:(NSString *)tellWhom
                                        property:(NSDictionary *)properties
                                 extensionJson:(NSDictionary * _Nullable)extensionJson
                                      completion:(completion_block _Nullable)completion;

- (int)batchChangeUserPropertyByIds:(NSArray <NSString *>*)peerIDs
                                      tellWhom:(NSString *)tellWhom
                                        property:(NSDictionary *)properties
                                      completion:(completion_block _Nullable)completion;

参数

参数名 必填 类型 说明
peerIDs NSArray 用户ID
tellWhom NSString 需将此修改信令通知到的对象。NSString类型,详情见 TKRoomDefines.h 相关定义. 可以是某一用户ID,表示此信令只发送给该用户
properties NSDictionary 被修改的用户属性
extensionJson NSDictionary 扩展信息
completion completion_block 调用完成的回调

方法示例

1
2
3
4
5
    [_roomMgr batchChangeUserPropertyByIds:@[@"adc123456", @"adc235641"]
                                                tellWhom:TKRoomPubMsgTellAll
                                                    property:@{@"giftNumber" : @"1"}
                                            extensionJson:nil
                                                completion:nil];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

changeUserPropertyByRole

简要描述
- 大房间时,改变指定角色的用户属性

接口名称

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
- (int)changeUserPropertyByRole:(NSArray *)roles
                               tellWhom:(NSString *)tellWhom
                                 property:(NSDictionary *)properties
                          extensionJson:(NSDictionary * _Nullable)extensionJson
                                completion:(completion_block _Nullable)completion;

- (int)changeUserPropertyByRole:(NSArray *)roles
                                tellWhom:(NSString *)tellWhom
                                 property:(NSDictionary *)properties
                                completion:(completion_block _Nullable)completion;

参数

参数名 必填 类型 说明
roles NSArray 用户角色
tellWhom NSString 需将此修改信令通知到的对象。NSString类型,详情见 TKRoomDefines.h 相关定义. 可以是某一用户ID,表示此信令只发送给该用户
properties NSDictionary 被修改的用户属性
extensionJson NSDictionary 扩展信息
completion completion_block 调用完成的回调

方法示例

1
2
3
4
5
    [_roomMgr changeUserPropertyByRole:@[@"1", @"2"]
                              tellWhom:TKRoomPubMsgTellAll
                              property:@{@"giftNumber" : @"1"}
                         extensionJson:nil
                            completion:nil];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

getUsersByProperty

简要描述
- 大房间时,获取相同用户的属性对应的用户列表

接口名称
- - (int)getUsersByProperty:(NSDictionary *)properties callback:(void (^)(NSArray<TKRoomUser *> *list, NSError * _Nullable error))callback;

参数

参数名 必填 类型 说明
properties NSDictionary 用户属性,必须包含的字段有:@"key"(属性名称), @"operator"(详情 TKRoomDefines.h 中枚举定义 TKOperator),@"value"(属性名称对应的值),可选字段有:@"start", @"max" 等。例如:@{@"key" : @"publishstate", @"operator" : @“1”, @"value" : @”0“}
callback void (^)(NSArray *list, NSError * _Nullable error) 回调

方法示例

1
2
3
    [_roomMgr  getUsersByProperty:@{@"key" : @"publishstate", @"operator" : @1, @"value" : @0}
                         callback:^(NSArray<TKRoomUser *> * _Nonnull list, NSError * _Nullable error) {
    }];
返回值说明

类型 说明
int 0:表示调用成功,非0:表示调用失败

备注

© 2016-2023 北京拓课网络科技有限公司 版权所有  京ICP备17018423号-1 京公网安备11010502043461号