Unreal Engine 4

아래의 링크를 통해 ProudChat Unreal Engine 4 SDK를 다운로드 합니다.

프로젝트 설정

- Plugins 설치

프로젝트 루트 폴더에서 Plugins 폴더를 새로 생성한 후, 다운로드한 SDK 파일을 복사합니다.

언리얼 에디터에서 편집 -> 플러그인 을 눌러 플러그인 브라우저 탭에서 복사한 ProudChat 플러그인의 활성화 여부를 확인합니다.

Plugins 폴더로 복사한 후 언리얼 에디터에서 ProudChat 플러그인이 보이지 않을 경우 에디터를 종료 했다가 다시 실행 하시면 확인 가능합니다.

- 블루프린트 클래스 설정

Plugin이 정상적으로 설치되면 언리얼 에디터의 ProudChat C++ 클래스 브라우저에서 ProudChatActor 클래스를 기반으로 '블루프린트 클래스'를 생성 합니다.

생성한 '블루프린트 클래스'의 이벤트 그래프에서 ProudChat의 Init 함수를 생성하여 BeginPlay 이벤트와 연결하고, Proud Console 에서 받아온 계정 UUID프로젝트 UUID, 유저 UniqueID를 입력합니다.

'컴파일' 버튼을 눌러 이벤트를 컴파일 후 생성한 '블루프린트 클래스'를 레벨에 올립니다. '플레이'를 눌러 서버 연결 여부를 확인할 수 있습니다.

연결에 성공하였다면 레벨 좌상단에 ProudChat Connection Success 문구가 출력됩니다.

ProudChatActor

- ProudChatActor::Init

ProudChat 을 Initialize 하는 부분입니다. 유저는 사용 전에 반드시 Init 함수를 호출하여 서버와 연결합니다.

함수명매개변수설명

Init

Proud Console 에서 제공되는 유저의 UUID, 유저가 생성한 프로젝트의 UUID, 유저 고유의 UniqueID

ProudChat을 연결하기 위한 함수로 유저는 이 부분을 작성합니다. 매개변수로는 3개의 문자열을 받고 있지만, 내부적으로 std::bind 를 통해 ChatClientInitComplete, ChatClientInitFailed 이벤트를 호출하고 있어 로그인 성공, 실패 여부를 확인할 수 있습니다.

- ProudChatActor::Disconnect

함수명매개변수설명

Disconnect

-

채팅 서버와의 연결을 종료합니다.

- 함수(C++ , Blueprint)

함수명매개변수설명

IsConnected

-

현재 Chat Server와의 연결여부를 확인합니다.

JoinChannel

접속하고 싶은 채널의 고유 Key

접속하고 싶은 채널 키를 입력합니다.

LeaveChannel

접속 해제하고 싶은 채널의 고유 Key

접속을 해제하고 싶은 채널 키를 입력합니다.

SendChannelMsg

특정 채널의 고유한 식별 값, 특정 채널에게 보낼 메시지

특정 채널에게 메시지를 보낼 때 사용합니다.

SendDirectMsg

특정 상대방 고유한 식별 값, 특정 상대방에게 보낼 메시지

특정 상대에게 메시지를 보낼 때 사용합니다.

MsgTranslate

src = 현재 언어 국가 코드 target = 변환할 언어 국가 코드 msgKey = 변환할 메세지 고유 인식 값 msg = 변환할 메세지

(Beta) 해당 메세지의 번역을 요청합니다.

MsgTranslate_Auto

target = 변환할 언어 국가 코드 msgKey = 변환할 메세지 고유 인식 값 msg = 변환할 메세지

(Beta) 해당 msg를 자동으로 언어 감지를 진행하여 번역을 요청합니다.

MsgRecord_Direct

target = 상대 유저의 UniqueKey day = 일수 최대 90 cnt = 갯수 최대 100

(Beta) Direct 메세지의 과거 기록을 가져옵니다. 최대 90일, 100건까지

MsgRecord_Channel

channelKey = 해당 채널의 키 day = 일수 최대 90 cnt = 갯수 최대 100

(Beta) 해당 Channel의 과거 기록을 가져옵니다. 최대 90일, 100건까지

MsgRecord_Notice

day = 일수 최대 90 cnt = 갯수 최대 100

(Beta) Notice의 과거 기록을 가져옵니다. 최대 90일, 100건까지

- 이벤트 (C++)

이벤트 변수명설명

InitComplete_Delegate

Init Complete 가 완료되면 호출됩니다.

InitFailed_Delegate

Init Failed 가 되었을 때 호출됩니다.

ChatDisconnect_Delegate

Chat Server와 연결이 끊어졌을 때 호출됩니다.

ChannelMsg_Response_Delegate

Channel Msg 가 도착했을 때 호출됩니다.

DirectMsg_Response_Delegate

Direct Msg 가 도착했을 때 호출됩니다.

Notice_Response_Delegate

Notice가 도착했을 때 호출됩니다.

Channel_Join_Success_Delegate

Channel Join 성공 시 호출됩니다.

Channel_Join_Failed_Delegate

Channel Join 실패 시 호출됩니다.

Channel_Leave_Success_Delegate

Channel Leave 성공 시 호출됩니다.

Channel_Leave_Failed_Delegate

Channel Leave 실패 시 호출됩니다.

MsgTranslate_Success_Delegate

(Beta) 메시지 Translate 성공 시 호출됩니다.

MsgTranslate_Failed_Delegate

(Beta) 메시지 Translate 실패 시 호출됩니다.

MsgRecord_Success_Delegate

(Beta) 과거 기록 불러오기 성공 시 호출됩니다.

MsgRecord_Failed_Delegate

(Beta) 과거 기록 불러오기 실패 시 호출됩니다.

- 이벤트 (Blueprint)

이벤트 함수명설명

ChatClientInitComplete

Server Connection 완료 후 Login 성공 시 호출됩니다.

ChatClientInitFailed

Server Login 실패 시 호출됩니다.

ChatDisconnect

ProudChat Server Disconnect 발생 시 호출됩니다.

ChannelMsg_Response

다른 유저가 채널에 메시지 전송 시 Delegate 되는 함수입니다.

DirectMsg_Response

다른 유저가 나에게 메시지 전송 시 Delegate 되는 함수입니다.

Notice_Response

Proud Console에서 공지사항 발송 시 Delegate 되는 함수입니다.

Channel_Join_Success

Channel Join 성공 시 Delegate 되는 함수입니다.

Channel_Join_Failed

Channel Join 실패 시 Delegate 되는 함수입니다.

Channel_Leave_Success

Channel Leave 성공 시 Delegate 되는 함수입니다.

Channel_Leave_Failed

Channel Leave 실패 시 Delegate 되는 함수입니다.

MsgTranslate_Success

(Beta) Translate 성공 시 Delegate 되는 함수입니다.

MsgTranslate_Failed

(Beta) Translate 실패 시 Delegate 되는 함수입니다.

MsgRecord_Success

(Beta) 과거 기록 가져오기 성공 시 Delegate 되는 함수입니다.

MsgRecord_Failed

(Beta) 과거 기록 가져오기 실패 시 Delegate 되는 함수입니다.

빌드하기

- Android

아래 링크를 참조하시기 바랍니다.

- iOS

iOS 빌드하기 를 참고하시기 바랍니다.

Last updated