본문으로 건너뛰기
버전: Chat-0.4.0

채널

채널 입장, 채널 퇴장을 구현할 수 있고, 새로운 유저가 들어오거나 나갈 때 콜백을 이용할 수 있습니다.

콘솔에서 유저의 국가(country), 언어(language), 국가 코드(countrycode), 또는 길드(guild)를 통해 채널 그룹을 설정했다면, 유저가 채팅 서버에 접속할 때 해당 속성에 따라 자동으로 채널에 입장합니다. 자동 채널 그룹을 설정하려면 콘솔 가이드 문서를 확인하세요.

주의

language, country, countrycode, guild, whisper 는 채널 그룹 이름으로 사용할 수 없습니다. 채널 자동 생성 기능에서 사용되는 예약어입니다.

설명

채널에 관련된 콜백 및 호출 함수, 정보 클래스입니다.

콜백 함수

// 채널 입장 시 오는 콜백 함수 입니다. 채널 정보를 넘겨 줍니다.
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) { }

호출 함수

// 프라이빗 채널 타입 만 SDK에서 채널을 생성 하실 수 있습니다.
// 다른 채널 타입은 콘솔을 이용해 주시길 바랍니다.

// 프라이빗 채널을 생성 하는 함수 입니다. 채널 그룹, 채널 번호, 채널 이름, 최대 인원, 비밀번호을 넣어서 보내 줍니다.
// 비밀번호를 넣지 않을 경우 공개 채널로 생성 됩니다.
// 채널 번호를 0으로 보낼 경우 서버에서 자동으로 채널 번호를 부여 합니다.
ChatClient.SendCreatePrivateChannel(string channelGroup, UInt64 channelNumber = 0, string channelName = "default", uint maxCount = 50, string password = "")

// 채널에 입장 함수 입니다. 채널 그룹, 채널 이름, 채널 번호, 비밀번호을 넣어서 보내 줍니다.
ChatClient.SendJoinChannel(string channelGroup, string channelName, UInt64 channelNumber = 0, string password = "")

// 채널에 나가는 함수 입니다. 채널 그룹, 채널 이름, 채널 번호를 넣어서 보내 줍니다.
ChatClient.SendLeaveChannel(string channelGroup, string channelName, UInt64 channelNumber = 0)
베이스의 길드 기능을 사용 하고 계실 경우 신규 길드의 길드 채팅 채널 입장 및 나가기 로직을 따로 구현 하셔야 합니다.

예를 들어 길드 생성(CreateGuildV3) 후 아래의 코드를 호출 해 주셔야 합니다.

ChatClient.SendJoinChannel("guild", "guild");

길드 탈퇴(WithdrawGuildV3) 후에는 아래의 코드를 호출 해 주셔야 합니다.

ChatClient.SendLeaveChannel("guild", "guild");

또한, 길드 가입 수락 처리를 실시간 알림으로 처리 하신 경우 OnApprovedGuildJoin 콜백이 올 경우에도 길드 채팅 채널 입장 함수를 호출 해 주셔야 합니다. 함수를 호출 하시면 자동으로 가입 된 길드의 길드 채팅 채널로 입장 됩니다.

만일 따로 로직 처리를 해 주시지 않으실 경우 유저가 재 접속 전까지는 길드 채팅을 이용 하실 수 없습니다.

채팅 SDK 단독으로 사용하여 길드 채널을 사용하시기 위해서는 아래의 방법으로 구현 하셔야 합니다.

길드를 생성 시 아래의 코드를 입력 하세요. 단, guild는 자동 채널 생성 기능에서 사용하고 있는 예약어이기 때문에, guild가 아닌 다른 채널 그룹 이름을 사용해야 합니다. 생성이 완료 되면 자동으로 채널에 접속 합니다.

ChatClient.SendCreatePrivateChannel("guilds", 1, "guildname", 100, "");

이후에 재접속 후에는 아래의 함수를 호출 해 주셔야 길드 채널에 접속 하실 수 있습니다.

ChatClient.SendJoinChannel("guilds", "guildname", 1);

길드원의 경우 즉시 가입, 또는 가입 수락 시 콜백이 구현 된 경우에도 위의 함수를 호출 해 주시면 됩니다.

길드원이 탈퇴 및 추방 콜백이 구현 된 경우는 아래의 함수를 호출 해 주셔야 길드 채널에서 나가집니다.

ChatClient.SendLeaveChannel("guilds", "guildname", 1);

정보 클래스

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

// 플레이어 아바타 이름
public string Avatar = string.Empty;
}
public class ChannelInfo
{
// 채널 그룹 이름
public string ChannelGroup = string.Empty;

// 채널 이름
public string ChannelName = string.Empty;

// 채널 번호
public UInt64 ChannelNumber = 0;

// 채널 최대 인원
public uint MaxCount = 0;

// 현재 접속 중인 플레이어 정보
public Dictionary<string, PlayerInfo> Players = new Dictionary<string, PlayerInfo>();

// 채팅 메세지 리스트
public List<MessageInfo> Messages = new List<MessageInfo>();
}