시스템 메세지 구현방법 문의

고객님의 문의에 답변하는 직원은 고객 여러분의 가족 중 한 사람일 수 있습니다.
고객의 언어폭력(비하, 조롱, 욕설, 협박, 성희롱 등)으로부터 직원을 보호하기 위해
관련 법에 따라 수사기관에 필요한 조치를 요구할 수 있으며, 형법에 의해 처벌 대상이 될 수 있습니다.

커뮤니티 이용 정책에 위배되는 게시물을 작성할 경우, 별도 안내 없이 게시물 삭제 또는 커뮤니티 이용이 제한될 수 있습니다.

문의 응대 : 평일 오전 10시 ~ 오후 6시
문의를 남기실 경우 다음 항목을 작성해 주세요.
정보가 부족하거나 응대시간 외 문의하는 경우 확인 및 답변이 지연될 수 있습니다.

  • 뒤끝 SDK 버전 :
  • 프로젝트명 :
  • 스테이터스 코드 :
  • 에러 코드 :
  • 에러 메시지 :

안녕하세요. 시스템메세지 구현방법에 대해서 여쭤보려고 문의드립니다.
강화성공이나, 전설급 아이템 제작 등이 성공하면, 유저 전체가 볼 수있는 시스템메세지를 띄우려고 하는데,
관리자메세지를 클라이언트부에서 코드로 구현하여 보낼 수 있는 방법이 있나요?

방법을 몰라 처음에는 큐에다가 성공 메세지들을 저장했다가, 채팅창이 열리면 한번에 큐에서 꺼내서 채팅을 보내는 식으로 구현해봤는데, 유저가 채팅창을 열지않으면 시스템메세지를 보내지 않는 데다가, SPAM 에러를 리턴하여 모든 메세지를 띄우지 않습니다. 그렇다고 채팅매니저를 구현하여 상시연결상태로 두기엔 유저가 100명 연결 한정이라, 100명이상이 연결 되었을 경우에는 문제가 발생할 것 같아 좋은 구현방법이 아니어서 문의드립니다.

다른 방법이 있나요?

안녕하세요, 개발자님.
클라이언트를 통한 관리자/시스템 메시지 전송 기능은 보안상의 이유로 제공되지 않으며,
콘솔을 통해서만 관리자/시스템 메시지를 전송할 수 있고 메시지 정보상 시스템 메시지로 구분되어 전송됩니다.

문의주신 강화 성공이나 전설 아이템 제작 성공과 같은 이벤트 상황에서는,
해당 유저가 직접 메시지를 전송하되, 특정 키 값을 포함해 클라이언트에서 시스템 메시지처럼 표시되도록 구현하시는 방법이 가능합니다.
다만 말씀해주신 것처럼 유저가 채팅 서버에 접속하지 않은 상태라면 메시지 송/수신이 되지 않기 때문에,
채팅 서버 연결은 상시로 진행하시고 시스템 메시지 전용 채널을 별도로 구성한 뒤 채널을 폴백 없이 생성하여 필요시에 시스템 채널에 입장/퇴장을 진행 하시면 될 것 같습니다.
아래와 같이 구성하여 적용하시는 것을 권장드립니다.

  • 강화/전설아이템 제작 성공 시 채널 입장 후 메세지 전송후 채널 나가기
  • 채팅 메세지 UI 활성화 시 채널 입장, 비활성화 시 채널 나가기

이러한 방식으로 구성하시면, 유저의 접속 상태와 무관하게 시스템 메시지 전달이 보다 유연해질 수 있습니다.
감사합니다.