# 채팅방 전체 메시지

# 공지 메시지 이벤트

public void onNotifyNotice(JSONObject data) { // 공지 이벤트
    Log.d("메시지", data);
}
1
2
3
  • 푸시 결과 값

    식별자 설명
    roomId String 채팅방 생성 후 발급받은 Channel Key
    nickName String 채팅방 입장 유저의 별명
    clientKey String 메시지를 전송한 접속 단말 설정 고유키
    message Date 전송한 메시지
    mimeType String 메시지 형태 (text: 일반텍스트, emoji: 이모지)
    messageType String 빈값이면 일반 메시지, 공지일경우 : "notice"
    messageDt String 전송 날짜
    messageCount String 채팅방 메시지 전송 수
    grade String 메시지를 전송한 유저의 등급 ( 사용자등급표 에서 확인 )

# 프로젝트에 적용할 코드

public void onNotifyNotice(JSONObject data) { // 공지 이벤트
    Message msg = new Message(data);
    msg.setType("notice");

    messageExposure(msg, false);
}
1
2
3
4
5
6

# 신규 유저접속 이벤트

public void onNotifyJoinUser(JSONObject data) { // 접속 이벤트
    Log.d("메시지", data);
}
1
2
3
  • 푸시 결과 값

    식별자 설명
    roomId String 채팅방 생성 후 발급받은 Channel Key
    nickName String 채팅방 입장 유저의 별명
    clientKey String 메시지를 전송한 접속 단말 설정 고유키
    joinCount String 누적 유저수
    grade String 메시지를 전송한 유저의 등급 ( 사용자등급표 에서 확인 )

# 프로젝트에 적용할 코드

public void onNotifyJoinUser(JSONObject data) { // 접속 이벤트
    Message msg = new Message(data);
    if (!nick_name.equalsIgnoreCase(msg.getNickName())) {
        msg.setType("join");
        msg.setMessage(msg.getNickName() + " 님이 입장하셨습니다.");
        messageExposure(msg, false);
    }
}
1
2
3
4
5
6
7
8

# 유저가 나간 경우 이벤트

public void onNotifyLeaveUser(JSONObject data) { // 접속 해제 이벤트
    Log.d("메시지", data);
}
1
2
3
  • 푸시 결과 값

    식별자 설명
    nickName String 채팅방 입장 유저의 별명

# 프로젝트에 적용할 코드

public void onNotifyLeaveUser(JSONObject data) { // 접속 해제 이벤트
    Message msg = new Message(data);
    msg.setType("leave");
    msg.setMessage(msg.getNickName() + " 님이 나가셨습니다.");
    messageExposure(msg, false);
}
1
2
3
4
5
6

# 채팅방에서 추방 이벤트

public void onNotifyKickUser(JSONObject data) { // 추방 이벤트
    Log.d("메시지", data);
}
1
2
3
  • 푸시 결과 값

    식별자 설명
    nickName String 채팅방 입장 유저의 별명

# 프로젝트에 적용할 코드

public void onNotifyKickUser(JSONObject data) { // 추방 이벤트
    Message msg = new Message(data);
    msg.setType("kick");

    messageExposure(msg, false);
}
1
2
3
4
5
6

# 채팅방에서 추방해제 이벤트

public void onNotifyUnkickUser(JSONObject data) { // 추방 해제 이벤트
    Log.d("메시지", data);
}
1
2
3
  • 푸시 결과 값

    식별자 설명
    clientKey String 메시지를 전송한 접속 단말 설정 고유키
    messageDt String 전송 날짜

# 프로젝트에 적용할 코드

public void onNotifyUnkickUser(JSONObject data) { // 추방 해제 이벤트
    Message msg = new Message(data);
    msg.setType("unKick");

    messageExposure(msg, false);
}
1
2
3
4
5
6

# 채팅방에서 글쓰기 제한 이벤트

public void onNotifyMuteUser(JSONObject data) { // 음소거 이벤트
    Log.d("메시지", data);
}
1
2
3
  • 푸시 결과 값

    식별자 설명
    nickName String 채팅방 입장 유저의 별명
    clientKey String 메시지를 전송한 접속 단말 설정 고유키
    messageDt String 전송 날짜

# 프로젝트에 적용할 코드

public void onNotifyMuteUser(JSONObject data) { // 음소거 이벤트
    Message msg = new Message(data);
    msg.setType("mute");

    messageExposure(msg, false);
}
1
2
3
4
5
6

# 채팅방에서 글쓰기 제한해제 이벤트

public void onNotifyUnmuteUser(JSONObject data) { // 음소거 해제 이벤트
    Log.d("메시지", data);
}
1
2
3
  • 푸시 결과 값

    식별자 설명
    nickName String 채팅방 입장 유저의 별명
    clientKey String 메시지를 전송한 접속 단말 설정 고유키
    messageDt String 전송 날짜

# 프로젝트에 적용할 코드

public void onNotifyUnmuteUser(JSONObject data) { // 음소거 해제 이벤트
    Message msg = new Message(data);
    msg.setType("unMute");

    messageExposure(msg, false);
}
1
2
3
4
5
6

# 전체 코드

메시지 이벤트 전체코드
channel.setHandler(new MessageHandler() {
    
    public void onNotifyNotice(JSONObject data) { // 공지 이벤트
        Message msg = new Message(data);
        msg.setType("notice");

        messageExposure(msg, false);
    }

    public void onNotifyJoinUser(JSONObject data) { // 접속 이벤트
        Message msg = new Message(data);
        if (!nick_name.equalsIgnoreCase(msg.getNickName())) {
            msg.setType("join");
            msg.setMessage(msg.getNickName() + " 님이 입장하셨습니다.");
            messageExposure(msg, false);
        }
    }

    public void onNotifyLeaveUser(JSONObject data) { // 접속 해제 이벤트
        Message msg = new Message(data);
        msg.setType("leave");
        msg.setMessage(msg.getNickName() + " 님이 나가셨습니다.");
        messageExposure(msg, false);
    }

    public void onNotifyKickUser(JSONObject data) { // 추방 이벤트
        Message msg = new Message(data);
        msg.setType("kick");

        messageExposure(msg, false);
    }

    public void onNotifyUnkickUser(JSONObject data) { // 추방 해제 이벤트
        Message msg = new Message(data);
        msg.setType("unKick");

        messageExposure(msg, false);
    }

    public void onNotifyMuteUser(JSONObject data) { // 음소거 이벤트
        Message msg = new Message(data);
        msg.setType("mute");

        messageExposure(msg, false);
    }

    public void onNotifyUnmuteUser(JSONObject data) { // 음소거 해제 이벤트
        Message msg = new Message(data);
        msg.setType("unMute");

        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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
Copyright 2022. E7Works Inc. & JOYTUNE Corp. All Rights Reserved.