본문으로 건너뛰기
버전: 1.2.0

설치 및 환경 구성

SDK 다운로드

뒤끝베이스 SDK 5.11.9 이상 안내

BackndChat-1.2.0 이상을 사용하실 경우에는 Backend SDK 버전이 5.11.9 이상이어야합니다.
채팅 기능만 사용할 경우에는 아래 SDK만 import 해주시기 바랍니다.(뒤끝 베이스는 로그인 기능 외 사용 불가)

1.1.0 이하 마이그레이션 안내

BackendChat-1.1.0 이하 버전에서 BackndChat-1.2.0 이상으로 업그레이드를 할 경우, Assets > TheBackend > BackendChat 폴더를 삭제해주시고, 다시 인스펙터에서 채팅 UUID를 설정해주세요.

또한 namespace가 BackendChat에서 BackndChat으로 변경되었으므로, using BackndChat; 으로 변경해주시기 바랍니다.

  • BackndChat-1.2.0.unitypackage [2024-06-25]
1.2.1 버전 이용 안내

뒤끝 베이스 SDK의 액세스 토큰이 재발급되었을 경우, 채팅 서버의 재접속이 실패하는 현상이 확인되어, 핫픽스가 진행되었습니다.
해당 오류의 수정 버전인 1.2.1 버전을 이용해 주시기 바랍니다.

Supported Platforms
  • Android, iOS, Windows, Mac(Editor), Linux

채팅 활성화 하기

콘솔에서 채팅을 활성화하는 방법은 다음과 같습니다.

1. 콘솔에 접속합니다.

2. 채팅 아래의 채널 또는 신고 및 제재 또는 설정을 클릭합니다.

설정 바로가기

image

3. 채팅 사용하기 버튼을 클릭합니다.

image

채팅 채널 생성 하기

콘솔에서 채팅 -> 채널에서 채팅 채널을 생성 하실 수 있습니다.

채널 바로가기

1. 채널을 클릭 합니다.

channel empty

2. 채널그룹 및 채널 생성하기

  1. 채널 그룹 옆 + 버튼을 클릭 합니다.

channel type

  1. 채널 그룹 이름 과 채널당 최대 인원을 입력 후 Fallback 채널을 선택 하고 다음 버튼을 클릭 합니다.

create open channel group

  1. 첫 번째 채널 이름을 입력 후 생성하기 버튼을 클릭 합니다.

create open channel

created open channel

설치 및 환경 구성

채팅 SDK를 다운로드하고 Unity에서 프로젝트를 구성하는 방법은 다음과 같습니다.

  1. Unity에서 Assets > Import Package > Custom Package... 메뉴를 차례대로 클릭해 주세요.
  2. 다운로드한 'BackndChat-x.x.x.unitypackage' 파일을 불러와 주세요.
  3. 패키지에 있는 모든 파일을 선택한 후 Import 버튼을 클릭해 주십시오.
  4. 프로젝트를 저장해 주십시오.

유니티 인증값 설정

유니티에서 채팅을 사용하기 위해서는 공통 서버 키와 채팅 서버 키를 설정해야합니다.

  1. 뒤끝 콘솔에서 채팅 > 설정 탭으로 이동합니다. 공통 서버 키를 복사합니다.

설정 바로가기

image

  1. 유니티 상단에 The Backend > Edit Settings를 클릭합니다. 생성된 인스펙터에서 Client App ID와 Signature Key를 입력합니다.

image

  1. 뒤끝 콘솔에서 채팅 > 설정 탭에 있는 채팅 서버 키(Chat UUID)를 복사합니다.

image

  1. 유니티 상단에 The Backend > Edit Chat Settings를 클릭합니다. 생성된 인스펙터에서 Chat UUID를 입력합니다.

image

SendLogReport

인스펙터에 존재하는 Send Log Report란 서버로 요청을 보낼 때 서버에 추가로 로그를 저장할지 결정하는 값입니다.
해당 로그를 통해 문제 발생 시, 뒤끝 측에서 원인 추적 및 분석이 가능합니다.

로그인 외 다른 뒤끝 함수 사용

채팅 SDK에 포함되어 있는 베이스 SDK(Backend.dll)는 회원가입/로그인 기능만 포함되어 있습니다.

  • 이미 베이스 SDK를 사용하고 있는 경우에는 SDK import 시, Backend.dll을 제외해 주세요.
    단, SDK 5.11.1 미만 버전을 사용하고 있다면 5.11.1 이상 버전으로 업데이트해 주세요.
  • 로그인 기능 외 베이스 기능을 사용하고자 할 경우, BackendChat SDK를 import 한 이후에, 5.11.1 이상 버전의 베이스 SDK를 import 하여 Backend.dll을 덮어씌워주세요.

뒤끝 베이스 로그인

설명

채팅의 유저 관리 기능을 사용하기 위해서는 아래의 방법으로 회원 가입/로그인을 구현 하셔야 합니다.

Example

using BackEnd;
using UnityEngine;

public class LoginManager : MonoBehaviour
{
public InputField Username = null;

public InputField Password = null;

void Start()
{
Backend.Initialize(true);
}

void Login()
{
var returnObject = Backend.BMember.CustomLogin(Username.text, Password.text);
if (false == returnObject.IsSuccess())
{
Debug.Log("CustomLogin Fail");

returnObject = Backend.BMember.CustomSignUp(Username.text, Password.text);
if (false == returnObject.IsSuccess())
{
Debug.Log("CustomSignUp Fail");
return;
}

returnObject = Backend.BMember.CustomLogin(Username.text, Password.text);
if (false == returnObject.IsSuccess())
{
Debug.Log("CustomLogin Fail");
return;
}

// 닉네임 업데이트 - 닉네임이 없을 경우 채팅 접속이 불가능 합니다.
Backend.BMember.UpdateNickname(Username.text);
}
}
}

Chat Client

설명

변경사항과 메시지를 받기 위해서 어플리케이션에 콜백으로 사용되고 있는 일부 메소드를 구현해야 합니다. IChatClientListener 인터페이스로 정의되어 있습니다.

특징

저희 채팅 SDK의 특징 중 자동 재 연결 프로세스가 있습니다. 유저의 네트워크가 변경 되거나 리스가 발생 할 경우 자동으로 재 연결 프로세스가 실행 됩니다. 자동 재 연결 프로세스가 존재 하여 ChatClient 를 할당 후 클라이언트 종료 처리 시 Dispose 처리만 해 주신다면 따로 관리 하실 필요가 없습니다.

Example

public class UIChatManager : MonoBehaviour, BackEndChat.IChatClientListener
{
private BackndChat.ChatClient ChatClient = null;

void Start()
{
ChatClient = new ChatClient(this, new ChatClientArguments
{
Avatar = "default"
});

// 인스펙터를 설정하지 않았을 경우, 아래와 같이 Chat UUID (xxxx-xxxx-xxxxxx-xxxxxxx)를 등록할 수 있습니다.
/*
ChatClient = new ChatClient(this, new ChatClientArguments
{
UUID = "xxxx-xxxx-xxxxxx-xxxxxxx",
Avatar = "default",
});
*/

// 커스텀 인증 서버를 사용 하실 경우, 아래와 같이 토큰을 등록할 수 있습니다.
/*
ChatClient = new ChatClient(this, new ChatClientArguments
{
UUID = "xxxx-xxxx-xxxxxx-xxxxxxx",
Avatar = "default",
CustomAccessToken = USER_TOKEN
});
*/
}

void Update()
{
ChatClient?.Update();
}

public void OnJoinChannel(ChannelInfo channelInfo) { }

public void OnLeaveChannel(ChannelInfo channelInfo) { }

public void OnJoinChannelPlayer(string channelGroup, string channelName, UInt64 channelNumber, string gamerName, string avatar) { }

public void OnLeaveChannelPlayer(string channelGroup, string channelName, UInt64 channelNumber, string gamerName, string avatar) { }

public void OnChatMessage(MessageInfo messageInfo) { }

public void OnWhisperMessage(WhisperMessageInfo messageInfo) { }

public void OnTranslateMessage(List<MessageInfo> messages) { }

public void OnHideMessage(MessageInfo messageInfo) { }

public void OnDeleteMessage(MessageInfo messageInfo) { }

public void OnSuccess(SUCCESS_MESSAGE success, object param)
{
switch(success)
{
default:
break;
}
}

public void OnError(ERROR_MESSAGE error, object param)
{
switch(error)
{
default:
break;
}
}

private void OnApplicationQuit()
{
ChatClient?.Dispose();
}
}