信令和修改属性
最近更新时间:2022-01-25 15:10:50 星期二
sendMessage
简要描述
- 发送聊天消息
接口名称
| - (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 |
方法示例
| 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 |
调用完成的回调 |
方法示例
| 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 |
调用完成回调 |
方法示例
| [_roomMgr delMsg:@"ChatShow" //自定义名称
msgID:@"ChatShow" //自定义ID
toID:TKRoomPubMsgTellAll
data:nil
extensionJson:nil
completion:nil];
|
返回值说明
| 类型 |
说明 |
| int |
0:表示调用成功,非0:表示调用失败 |
evictUser
简要描述
- 将用户踢出房间
接口名称
| - (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 |
调用完成回调 |
方法示例
| [_roomMgr evictUser:@"abd235674"
evictReason:@(400) // 可根据业务需求自定义
completion:nil];
|
返回值说明
| 类型 |
说明 |
| int |
0:表示调用成功,非0:表示调用失败 |
switchOnlyAudioRoom
简要描述
- 切换纯音频房间
可以自由将房间切换到纯音频或者正常的房间。
纯音频房间:即该房间所有用户都只会发布音频,没有视频。
- 切换成功后,回调:
-(void)roomManagerOnAudioRoomSwitch:(NSString *)fromId onlyAudio:(BOOL)onlyAudio
接口名称
- - (int)switchOnlyAudioRoom:(BOOL)isSwitch;
参数
| 参数名 |
必填 |
类型 |
说明 |
| isSwitch |
是 |
BOOL |
是否切换 |
方法示例
| [_roomMgr switchOnlyAudioRoom:NO];
|
返回值说明
| 类型 |
说明 |
| int |
0:表示调用成功,非0:表示调用失败 |
changeCurrentServer
简要描述
- 切换服务器
调用此接口,可以切换sdk链接的服务器。可以调用 - (NSArray * _Nullable)getServerList 接口获取到该房间可用的服务器列表。
接口名称
- - (int)changeCurrentServer:(NSString *)serverName;
参数
| 参数名 |
必填 |
类型 |
说明 |
| serverName |
是 |
NSString |
服务器名称 |
方法示例
| [_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 |
调用完成的回调 |
方法示例
| [_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:表示调用失败 |
备注