유저
유저 정보를 관리 하실 수 있는 기능을 제공 합니다. 아바타, 닉네임, 언어 정보, 메타 정보에 대해서 수정이 가능하며, 유저간의 차단 기능을 제공하고 있습니다.
설명
유저 정보에 대한 콜백 및 호출 함수, 정보 클래스입니다.
유저 정보
콜백 함수
// 채널에 접속 되어 있는 유저들 중 특정 유저의 정보가 변경 될 경우 오는 콜백 함수 입니다. 변경 된 유저 정보를 넘겨 줍니다.
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 엔드 포인트를 설정할 수 있습니다.
채팅 서버는 아래의 방식으로 HTTP 요청을 합니다.
차단 API
HTTP request
POST https://auth.mygame.com/block
Headers
Content-Type: application/json; charset=utf8
token: USER_TOKEN
Request body
Property name | Type | Value | Description |
---|---|---|---|
source | string | thebackend-chat-api | 요청한 서버 이름 (뒤끝의 채팅 서버) |
nickname | string | nickname | 차단 할 유저 닉네임 |
{
"source": "thebackend-chat-api",
"nickname" : "nickname",
}
Responses
형식에 맞는 응답을 반환하도록 구성하세요.
유저 정보는 string 형식의 nickname
과 uid
를 필수로 포함해야 합니다.
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 name | Type | Value | Description |
---|---|---|---|
source | string | thebackend-chat-api | 요청한 서버 이름 (뒤끝의 채팅 서버) |
uid | string | uid | 해제 할 유저 고유 값 |
nickname | string | nickname | 해제 할 유저 닉네임 |
{
"source": "thebackend-chat-api",
"nickname": "john doe",
"uid": "1234"
}
Responses
형식에 맞는 응답을 반환하도록 구성하세요.
유저 정보는 string 형식의 nickname
과 uid
를 필수로 포함해야 합니다.
uid
를 통해 유저를 구분하므로, uid
는 각 유저에게 부여된 고유 값이어야 합니다.
다음은 유저 해제 API에서 채팅 서버로 보내는 유저 정보 예시입니다.
Status: 200 OK
{
"nickname": "john doe",
"uid": "1234"
}