进入和离开聊天室
更新时间: 2022/10/31 07:24:28
聊天室是一种比群组更加松散、开放的形态,类似于一个广场,没有严格的准入机制,用户进出自由,一般来说也没有太固定的成员组织架构。典型的应用场景包括娱乐直播、教育直播内的聊天室。本文介绍通过 NERoom SDK 进入和离开聊天室的方法。
功能介绍
NERoom 聊天室的参与人数无上限。
聊天室相当于一个广场,只要有人看到了进入广场的门,任何人随时都可以进来,也可以随时离开。而群就像是一个公司,公司是一个更加私密的组织,必须是这个组织内的成员才能进入,成为成员可以是主动申请也可以是被邀请加入。
创建房间时,如果设置 enableChatroom
参数为 true
,服务端会自动创建聊天室。
聊天室中的成员可以相互发送和接收文本消息。
前提条件
- 进入聊天室之前,请先通过
joinRoom
加入房间。 - 创建房间时,已在
NECreateRoomOptions
方法中,设置enableChatroom
参数为true
,具体操作方法请参见创建房间。
进入聊天室
用户要在聊天室收发消息之前,必须先调用接口进入聊天室。聊天室只允许用户手动进入,无法进行邀请。
配置步骤
-
调用
getRoomContext
方法获取房间上下文。调用此方法时,您需要将
roomUuid
设置为您所加入房间的 ID。 -
调用
joinChatroom
接口进入聊天室。 -
成员进入聊天室成功后,会触发
NERoomListener
协议中的onMemberJoinChatroom
回调方法,通知房间内所有成员。
示例代码
实现进入聊天室的示例代码如下:
NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
NERoomContext roomContext = roomService.getRoomContext(roomUuid);
if (roomContext!=null){
roomContext.getChatController().joinChatroom(new NECallback2<Unit>() {
@Override
public void onSuccess(@Nullable Unit unit) {
super.onSuccess(unit);
Log.d(TAG,"success");
}
@Override
public void onError(int code, @Nullable String message) {
super.onError(code, message);
Log.d(TAG,"error");
}
});
}
离开聊天室
离开聊天室,会断开聊天室对应的链接,并不再收到该聊天室的任何消息。
配置步骤
-
调用
getRoomContext
方法获取房间上下文。调用此方法时,您需要将
roomUuid
设置为您所加入房间的 ID。 -
调用
leaveChatroom
接口离开聊天室。 -
成员离开聊天室成功后,会触发
NERoomListener
协议中的onMemberLeaveChatroom
回调方法,通知房间内所有其他成员。
示例代码
实现离开聊天室的示例代码如下:
NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class);
NERoomContext roomContext = roomService.getRoomContext(roomUuid);
if (roomContext!=null){
roomContext.getChatController().leaveChatroom();
}
API 参考
方法 | 功能描述 |
---|---|
joinChatroom | 加入聊天室。 |
leaveChatroom | 离开聊天室。 |