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

유저

유저 정보를 관리 하실 수 있는 기능을 제공 합니다. 아바타, 닉네임, 언어 정보, 메타 정보에 대해서 수정이 가능하며, 유저간의 차단 기능을 제공하고 있습니다.

설명

유저 정보에 대한 콜백 및 호출 함수, 정보 클래스입니다.

유저 정보

콜백 함수

// 채널에 접속 되어 있는 유저들 중 특정 유저의 정보가 변경 될 경우 오는 콜백 함수 입니다. 변경 된 유저 정보를 넘겨 줍니다.
public void OnUpdatePlayerInfo(string channelGroup, string channelName, ulong channelNumber, PlayerInfo player) { }

// 채팅 서버에 접속 되어 있는 유저들 중 특정 유저의 닉네임이 변경 시 오는 콜백 함수 입니다. 변경 전, 후의 유저 닉네임을 넘겨 줍니다.
public void OnChangeGamerName(string oldGamerName, string newGamerName) { }

호출 함수

// 자신의 아바타 정보를 변경 하는 함수 입니다. 변경 할 아바타 정보를 넣어서 보내 줍니다.
ChatClient.UpdateAvatar(string avatar)

// 자신의 닉네임을 변경 하는 함수 입니다. 변경 할 닉네임을 넣어서 보내 줍니다.
ChatClient.UpdateNickname(string nickname)

// 자신의 언어 정보를 변경 하는 함수 입니다. 변경 할 언어 정보를 넣어서 보내 줍니다.
ChatClient.UpdateLanguage(string language)

// 자신의 메타 정보를 변경 하는 함수 입니다. 모든 메타 정보를 넣어서 보내 줍니다. (정보를 덮어쓰기를 합니다.)
ChatClient.UpdateMetadata(Dictionary<string, string> metadata)

설명

유저간의 차단 기능에 대한 호출 함수 입니다.

유저 간 차단

호출 함수

// 현재 차단 한 유저의 닉네임 리스트를 얻어 옵니다.
List<string> blockedPlayers = ChatClient.GetBlockGamers();
// 유저 차단 함수 입니다. 차단 할 유저의 닉네임을 넣어서 보내 줍니다.
ChatClient.SendAddBlockGamer(string gamerName)

// 유저 차단 해제 함수 입니다. 해제 할 유저의 닉네임을 넣어서 보내 줍니다.
ChatClient.SendRemoveBlockGamer(string gamerName);

정보 클래스

public class PlayerInfo
{
// 플레이어 이름
public string GamerName = string.Empty;

// 플레이어 아바타 이름
public string Avatar = string.Empty;

// 플레이어 언어 정보
public string Language = string.Empty;

// 플레이어 메타 정보
public Dictionary<string, string> Metadata = new Dictionary<string, string>();
}

커스텀 인증 사용 시 유저 간 차단

커스텀 인증을 사용하고 계시다면 연결하고자 하는 유저 간 차단 / 해제 엔드 포인트를 뒤끝 콘솔에서 설정하여야 합니다.

커스텀 인증 사용 시 유저 간 차단 API 설정

콘솔의 채팅 > 설정 메뉴에서 유저 간 차단 / 해제 API 엔드 포인트를 설정할 수 있습니다.

custom auth

채팅 서버는 아래의 방식으로 HTTP 요청을 합니다.

차단 API

HTTP request
POST https://auth.mygame.com/block
Headers
Content-Type: application/json; charset=utf8
token: USER_TOKEN
Request body
Property nameTypeValueDescription
sourcestringthebackend-chat-api요청한 서버 이름 (뒤끝의 채팅 서버)
nicknamestringnickname차단 할 유저 닉네임
{
"source": "thebackend-chat-api",
"nickname" : "nickname",
}
Responses

형식에 맞는 응답을 반환하도록 구성하세요.
유저 정보는 string 형식의 nicknameuid를 필수로 포함해야 합니다.
uid를 통해 유저를 구분하므로, uid는 각 유저에게 부여된 고유 값이어야 합니다.

다음은 유저 차단 API에서 채팅 서버로 보내는 유저 정보 예시입니다.

Status: 200 OK
{
"nickname": "john doe",
"uid": "1234"
}

해제 API

HTTP request
DELETE https://auth.mygame.com/block
Headers
Content-Type: application/json; charset=utf8
token: USER_TOKEN
Request body
Property nameTypeValueDescription
sourcestringthebackend-chat-api요청한 서버 이름 (뒤끝의 채팅 서버)
uidstringuid해제 할 유저 고유 값
nicknamestringnickname해제 할 유저 닉네임
{
"source": "thebackend-chat-api",
"nickname": "john doe",
"uid": "1234"
}
Responses

형식에 맞는 응답을 반환하도록 구성하세요.
유저 정보는 string 형식의 nicknameuid를 필수로 포함해야 합니다.
uid를 통해 유저를 구분하므로, uid는 각 유저에게 부여된 고유 값이어야 합니다.

다음은 유저 해제 API에서 채팅 서버로 보내는 유저 정보 예시입니다.

Status: 200 OK
{
"nickname": "john doe",
"uid": "1234"
}