Are you an LLM? You can read better optimized documentation at /doc/android/chat/personalMessage.md for this page in Markdown format
개인 알림 메시지
개인 메시지는 중복 로그인 시도, 글쓰기 제한과 같이 특정 사용자에게만 즉시 전달되는 알림 이벤트입니다. 이러한 이벤트는 다른 채팅방 참여자에게는 공유되지 않습니다.
중복 로그인 감지 이벤트
동일한 clientKey로 다른 기기에서 로그인 시도가 감지되면, 기존 로그인 사용자에게 발생하는 이벤트입니다.
java
public void onPersonalDuplicateUser(JSONObject data) { // 중복 접속 이벤트
Log.d("중복 로그인 감지", data);
}1
2
3
2
3
수신된
JSONObject데이터 구조값 식별자 설명 clientKey String 접속 단말 설정 고유키 messageDt String 전송 날짜
글쓰기 제한 알림 이벤트
채팅방 관리자에 의해 자신의 글쓰기가 제한되었을 때 발생하는 이벤트입니다.
java
public void onPersonalMuteUser(JSONObject data) { // 개인 음소거 이벤트
Log.d("음소거", data);
}1
2
3
2
3
수신된
JSONObject데이터 구조값 식별자 설명 clientKey String 접속 단말 설정 고유키 nickName String 채팅방 입장 유저의 별명 messageDt String 전송 날짜
글쓰기 제한 해제 알림 이벤트
채팅방 관리자에 의해 자신의 글쓰기 제한이 해제되었을 때 발생하는 이벤트입니다.
java
public void onPersonalUnmuteUser(JSONObject data) { // 개인 음소거 해제 이벤트
Message msg = new Message(data);
msg.setType("perUnMute");
messageExposure(msg, false);
}1
2
3
4
5
6
2
3
4
5
6
수신된
JSONObject데이터 구조값 식별자 설명 clientKey String 접속 단말 설정 고유키 nickName String 채팅방 입장 유저의 별명 messageDt String 전송 날짜
전체 이벤트 처리 코드
아래는 MessageHandler를 사용하여 개인 메시지 관련 이벤트를 처리하는 전체 코드 예시입니다.
java
channel.setHandler(new MessageHandler() {
public void onPersonalMuteUser(JSONObject data) { // 개인 음소거 이벤트
Message msg = new Message(data);
msg.setType("preMute");
messageExposure(msg, false);
}
public void onPersonalUnmuteUser(JSONObject data) { // 개인 음소거 해제 이벤트
Message msg = new Message(data);
msg.setType("perUnMute");
messageExposure(msg, false);
}
public void onPersonalDuplicateUser(JSONObject data) { // 중복 접속 이벤트
Message msg = new Message(data);
msg.setType("duplicate");
messageExposure(msg, false);
}
})1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22