实现聊天消息
更新时间: 2024/11/20 17:05:14
本文介绍如何通过 NERoom 实现文字聊天消息和礼物消息。更多内容可参考NERoom房间消息发送和NERoom房间消息接收。
发送和接收文字聊天消息
主唱、合唱者和观众在房间内可以发送和接收在线聊天消息,示例代码如下:
-
发送文本消息。
NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class); NERoomContext roomContext = roomService.getRoomContext(roomUuid); if (roomContext!=null){ String message="This is a text massage"; roomContext.getChatController().sendBroadcastTextMessage(message, 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"); } }); }
-
接收消息。
NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class); NERoomContext roomContext = roomService.getRoomContext(roomUuid); if (roomContext != null) { roomContext.addRoomListener(new NERoomListener() { // 其他回调方法 // ... @Override public void onReceiveChatroomMessages(@NonNull List<? extends NERoomChatMessage> messages) { for (NERoomChatMessage message : messages) { if (message instanceof NERoomChatTextMessagee){ Log.d(TAG,"text:"+((NERoomChatTextMessage) message).getText()); } } } }); }
发送和接收礼物消息
观众在房间内可以发送礼物给主唱或合唱者,可通过发送自定义的消息来实现。发送端需要在自定义消息中携带礼物Id,其他端在接收到礼物消息后解析出礼物Id,并播放对应动效。 发送和接收礼物消息的示例代码如下:
-
发送礼物消息。
您可以通过 IM 的自定义消息,实现发送礼物消息,请自行实现相关业务逻辑。可参考 IM聊天室消息
-
接收礼物消息。
NERoomService roomService = NERoomKit.getInstance().getService(NERoomService.class); NERoomContext roomContext = roomService.getRoomContext(roomUuid); if (roomContext != null) { roomContext.addRoomListener(new NERoomListener() { @Override public void onReceiveChatroomMessages(@NonNull List<? extends NERoomChatMessage> messages) { for (NERoomChatMessage message : messages) { if (message instanceof NERoomChatCustomMessage){ // 解析出礼物Id final String giftId = ((NERoomChatCustomMessage) message).getAttachStr(); // ToDo: 可以在这里播放礼物动画 } } } }); }
此文档是否对你有帮助?