跳转至

信令和修改属性

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

sendMessage

简要描述 - 发送聊天消息

接口名称

1
- (int)sendMessage(String message, String toId, Map<String, Object> atts);

参数

参数名 必填 类型 说明
message String 发送的聊天消息体
toID String 表示消息发送的对象 , String类型,详情见 入门必读自定义信令 相关定义. 可以是某一用户ID,表示只发送给该用户
atts Map 消息扩展内容

方法示例

1
   TKRoomManager.getInstance().sendMessage(msg, SignalingRole.ALL, null);
返回值说明

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

pubMsg

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

进入房间成功后,可以发送自定义的一些信令,用于用户之间相互通信。 - 发布自定义信令后,收到信令回调: -(void)onRemotePubMsg(String id, String name, long ts, String dataJson, boolean inList, String fromId, String associatedMsgId, String associatedUserId)

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

接口名称

1
2
3
4
5
6
7
- (int)pubMsg(String msgName, String msgId, String toId, Object data, boolean save, String associatedMsgId, String associatedUserId);

- (int)pubMsg(String msgName, String msgId, String toId, Object data, boolean save, String associatedMsgId, String associatedUserId, HashMap<String, Object> attrMap);

- (int)pubMsg(String msgName, String msgId, String toId, Object data, boolean save, long expiresabs);

- (int)pubMsg(String msgName, String msgId, String toId, Object data, boolean save, long expiresabs, long expires);

参数

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

方法示例

1
2
3
4
    String serial = jsonRoomInfo.optString("serial");
    HashMap<String, Object> attrMap = new HashMap<>();
    attrMap.put("type", "getCount");
    TKRoomManager.getInstance().pubMsg("GetQuestionCount","Question_" + serial, TKRoomManager.getInstance().getMySelf().getPeerId(),new JSONObject().toString(), false, "Question",null, attrMap);
返回值说明

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

delMsg

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

接口名称

1
- (int)delMsg(String msgName, String msgId, String toId, Object data);
参数

参数名 必填 类型 说明
msgName String 信令名称
msgID String 信令ID
toID String 信令发送的对象,详情见 入门必读自定义信令 相关定义. 可以是某一用户ID,表示此信令只发送给该用户
data Object 信令内容数据,可为null

方法示例

1
    TKRoomManager.getInstance().delMsg(msgName, msgID, "__none", null);
返回值说明

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

evictUser

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

接口名称

1
2
3
- (int)(String peerId);

- (int)evictUser(String peerId, int reason);

参数

参数名 必填 类型 说明
peerID String 被踢用户ID
reason int 被踢原因,可根据业务需求自定义 参考服务端文档 踢人错误码

方法示例

1
    TKRoomManager.getInstance().evictUser(roomUser.getPeerId(), 1);
返回值说明

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

switchOnlyAudioRoom

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

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

接口名称
- - (void)switchOnlyAudioRoom(boolean isSwitch);

参数

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

方法示例

1
    TKRoomManager.getInstance().switchOnlyAudioRoom(true);
返回值说明

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

switchService

简要描述 - 切换服务器

调用此接口,可以切换sdk链接的服务器。可以调用 - getServiceList 接口获取到该房间可用的服务器列表。

接口名称
- - (int)switchService(String serverName);

参数

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

方法示例

1
   TKRoomManager.getInstance().switchService(servername);
返回值说明

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

changeUserProperty

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

可以调用此接口,修改指定用户的用户属性,比如奖杯数。 - 调用后,自己和其他用户均会收到修改成功的回调: - (void)onUserPropertyChanged(RoomUser user, Map changedProperties, String fromId)

接口名称

1
2
3
4
5
- (int)changeUserProperty(String peerId, String tellWhom, String key, Object value);

- (int)changeUserProperty(String peerId, String tellWhom, String key, Object value, HashMap<String, Object> opt);

- (int)changeUserProperty(String peerId, String tellWhom, HashMap<String, Object> property);

参数

参数名 必填 类型 说明
peerID String 用户ID
tellWhom String 表示修改某一用户的属性成功后,需将此次属性变化的通知给房间其他用户对象,详情见 入门必读自定义信令 相关定义. 可以是某一用户ID,表示此信令只发送给该用户
key String 被修改的属性名称
value Object 被修改的属性名称对应的值
property Map 被修改的属性,key-value形式,key:表示属性名称, value:表示属性名称对应的值
opt Map 扩展信息,根据业务需求可以附加扩展

方法示例

1
2
   TKRoomManager.getInstance().changeUserProperty(roomUser.getPeerId(), SignalingRole.ALL,
        "raisehand", true);
返回值说明

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

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