개인 알림 메시지
개인 메시지는 중복 로그인 시도, 글쓰기 제한과 같이 특정 사용자에게만 즉시 전달되는 알림 이벤트입니다. 이러한 이벤트는 다른 채팅방 참여자에게는 공유되지 않습니다.
중복 로그인 감지 이벤트
동일한 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