跳转至

信令和修改属性

最近更新时间:2022-01-25 15:10:50 星期二

sendMessage

简要描述
- 发送聊天消息

接口名称

1
2
3
- (int)sendMessage:(NSObject *)message
              toID:(NSString *)toID
     extensionJson:(NSObject * _Nullable)extension;

参数

参数名 必填 类型 说明
message NSObject 发送的聊天消息体 , 只支持 NSString 、NSDictionary
toID NSString 表示消息发送的对象 , NSString类型,详情见 TKRoomDefines.h 相关定义. 可以是某一用户ID,表示只发送给该用户
extension BOOL 消息扩展内容,例如:消息类型type; 支持 NSString(JSON字符串string) 、NSDictionary

方法示例

1
2
3
4
5
6
    NSMutableDictionary * msgDic = [[NSMutableDictionary alloc] initWithCapacity:3];
    [msgDic setObject:@"第一条聊天消息" forKey:@"msg"];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"HH:mm"];
    NSString *time = [dateFormatter stringFromDate:[NSDate date]];
    NSDictionary *messageDic = @{@"type" : @0, @"time" : time};
返回值说明

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

pubMsg

简要描述
- 发布自定义信令

进入房间成功后,可以发送自定义的一些信令,用于用户之间相互通信。 - 发布自定义信令后,收到信令回调: -(void)roomManagerOnRemotePubMsgWithMsgID:(NSString )msgID msgName:(NSString )msgName data:(NSObject )data fromID:(NSString )fromID inList:(BOOL)inlist ts:(long)ts

关于自定义信令详见:入门必读-自定义信令

接口名称

 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
28
29
30
31
32
33
34
35
- (int)pubMsg:(NSString *)msgName
        msgID:(NSString *)msgID
         toID:(NSString *)toID
         data:(NSObject * _Nullable)data
         save:(BOOL)save
   completion:(completion_block _Nullable)completion;

- (int)pubMsg:(NSString *)msgName
        msgID:(NSString *)msgID
         toID:(NSString *)toID
         data:(NSObject * _Nullable)data
         save:(BOOL)save
extensionData:(NSDictionary * _Nullable)extensionData
    completion:(completion_block _Nullable)completion;

- (int)pubMsg:(NSString *)msgName
        msgID:(NSString *)msgID
         toID:(NSString *)toID
         data:(NSObject * _Nullable)data
         save:(BOOL)save
associatedMsgID:(NSString * _Nullable)associatedMsgID
associatedUserID:(NSString * _Nullable)associatedUserID
      expires:(NSTimeInterval)expires
   completion:(completion_block _Nullable)completion;

- (int)pubMsg:(NSString *)msgName
        msgID:(NSString *)msgID
         toID:(NSString *)toID
         data:(NSObject *)data
         save:(BOOL)save
associatedMsgID:(NSString *)associatedMsgID
associatedUserID:(NSString *)associatedUserID
      expires:(NSTimeInterval)expires
extensionJson:(NSDictionary * _Nullable)extensionJson
   completion:(completion_block _Nullable)completion;

参数

参数名 必填 类型 说明
msgName NSString 信令名称
msgID NSString 信令ID
toID NSString 信令发送的对象。NSString类型,详情见 TKRoomDefines.h 相关定义. 可以是某一用户ID,表示此信令只发送给该用户
data NSObject 信令内容数据,可以是Number、NSString、NSDictionary、NSArray
save BOOL 是否保存,详见入门必读:自定义信令
associatedMsgID NSString 表示该信令可以关联到另一个信令。若被关联的信令被删除后,此信令也会被删除。若需要关联,则传入另一信令ID,否则 nil
associatedUserID NSString 表示该信令关联到用户ID。若被关联的用户离开教室后,此信令也会被删除。若需要关联,则传入用户ID,否则 nil
expires NSTimeInterval 表示该信令,多长时间结束,以秒为单位,是相对时间。0:表示无期限。例如: 发布 ClassBegin(上课信令),到了给定的 expires (相对时间)后,服务器会 删除 ClassBegin信令(表示下课了)
extensionJson NSDictionary 信令扩展内容,根据自身需求可以扩展。
completion completion_block 调用完成的回调

方法示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
   NSDictionary * dict = @{@"nickname": @""};       //可以自定义内容
   [_roomMgr pubMsg:@"msgName"                      // 信令名称自定义
                   msgID:@"msgID"                            // 信令ID自定义
                      toID:TKRoomPubMsgTellAll
                      data:dict
                      save:NO
     associatedMsgID:nil
    associatedUserID:nil
                  expires:0
           extensionJson:@{@"write2DB" : @YES}      //根据业务需求可以扩展
            completion:nil];
返回值说明

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

delMsg

简要描述
- 删除自定义信令

接口名称

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
- (int)delMsg:(NSString *)msgName
          msgID:(NSString *)msgID
            toID:(NSString *)toID
            data:(NSObject * _Nullable)data
   completion:(completion_block _Nullable)completion;

- (int)delMsg:(NSString *)msgName
          msgID:(NSString *)msgID
            toID:(NSString *)toID
            data:(NSObject * _Nullable)data
extensionJson:(NSDictionary * _Nullable)extensionJson
   completion:(completion_block _Nullable)completion;

参数

参数名 必填 类型 说明
msgName TKLogLevel 信令名称
msgID NSString 信令ID
toID NSString 信令发送的对象。NSString类型,详情见 TKRoomDefines.h 相关定义. 可以是某一用户ID,表示此信令只发送给该用户
data NSObject 信令内容数据,可以是Number、NSString、NSDictionary、NSArray ,可为nil
extensionJson NSDictionary 信令扩展内容,根据自身需求可以扩展
completion completion_block 调用完成回调

方法示例

1
2
3
4
5
6
    [_roomMgr  delMsg:@"ChatShow"               //自定义名称
                          msgID:@"ChatShow"             //自定义ID
                          toID:TKRoomPubMsgTellAll
                         data:nil
              extensionJson:nil
                completion:nil];
返回值说明

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

evictUser

简要描述
- 将用户踢出房间

接口名称

1
2
3
- (int)evictUser:(NSString *)peerID evictReason:(NSNumber *)reason completion:(completion_block _Nullable)completion;

- (int)evictUser:(NSString *)peerID completion:(completion_block _Nullable)completion;

参数

参数名 必填 类型 说明
peerID NSString 被踢用户ID
reason NSNumber 被踢原因,可根据业务需求自定义
completion completion_block 调用完成回调

方法示例

1
2
3
    [_roomMgr  evictUser:@"abd235674"
                  evictReason:@(400)            // 可根据业务需求自定义
                    completion:nil];
返回值说明

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

switchOnlyAudioRoom

简要描述
- 切换纯音频房间

可以自由将房间切换到纯音频或者正常的房间。 纯音频房间:即该房间所有用户都只会发布音频,没有视频。 - 切换成功后,回调: -(void)roomManagerOnAudioRoomSwitch:(NSString *)fromId onlyAudio:(BOOL)onlyAudio

接口名称
- - (int)switchOnlyAudioRoom:(BOOL)isSwitch;

参数

参数名 必填 类型 说明
isSwitch BOOL 是否切换

方法示例

1
    [_roomMgr switchOnlyAudioRoom:NO];
返回值说明

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

changeCurrentServer

简要描述
- 切换服务器

调用此接口,可以切换sdk链接的服务器。可以调用 - (NSArray * _Nullable)getServerList 接口获取到该房间可用的服务器列表。

接口名称
- - (int)changeCurrentServer:(NSString *)serverName;

参数

参数名 必填 类型 说明
serverName NSString 服务器名称

方法示例

1
    [_roomMgr changeCurrentServer:@"global"];
返回值说明

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

changeUserProperty

简要描述
- 修改用户的属性

可以调用此接口,修改指定用户的用户属性,比如奖杯数。 - 调用后,自己和其他用户均会收到修改成功的回调: - (void)roomManagerUserPropertyChanged:(NSString )peerID properties:(NSDictionary)properties fromId:(NSString *)fromId

接口名称

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
- (int)changeUserProperty:(NSString *)peerID
                       tellWhom:(NSString *)tellWhom
                               key:(NSString *)key
                              value:(NSObject *)value
                  completion:(completion_block _Nullable)completion;

- (int)changeUserProperty:(NSString *)peerID
                       tellWhom:(NSString *)tellWhom
                               data:(NSDictionary *)data
                   completion:(completion_block _Nullable)completion;

- (int)changeUserProperty:(NSString *)peerID
                        tellWhom:(NSString *)tellWhom
                         property:(NSDictionary *)property
                  extensionJson:(NSDictionary * _Nullable)extensionJson
                   completion:(completion_block _Nullable)completion;

参数

参数名 必填 类型 说明
peerID NSString 用户ID
tellWhom NSString 表示修改某一用户的属性成功后,需将此次属性变化的通知给房间其他用户对象。NSString类型,详情见 TKRoomDefines.h 相关定义. 可以是某一用户ID,表示此信令只发送给该用户
key NSString 被修改的属性名称
value NSObject 被修改的属性名称对应的值
data NSDictionary 被修改的属性,key-value形式,key:表示属性名称, value:表示属性名称对应的值
extensionJson NSDictionary 扩展信息,根据业务需求可以附加扩展
completion completion_block 调用完成的回调

方法示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
    [_roomMgr changeUserProperty:@"adc123456"
                                     tellWhom:TKRoomPubMsgTellAll
                                            data:@{@"publishState" : @"3"}
                                   completion:nil];
OR:
 [_roomMgr changeUserProperty:@"adc123456"
                                  tellWhom:TKRoomPubMsgTellAll
                                          key:@"publishState"
                                       value:@"3"
                               completion:nil];
返回值说明

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

备注

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