채널
채널 입장, 채널 퇴장을 구현할 수 있고, 새로운 유저가 들어오거나 나갈 때 콜백을 이용할 수 있습니다.
콘솔에서 유저의 국가(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, PlayerInfo player) { }
// 채널에서 유자가 나갈 경우 오는 콜백 함수 입니다. 유저 정보를 넘겨 줍니다.
public void OnLeaveChannelPlayer(string channelGroup, string channelName, UInt64 channelNumber, PlayerInfo player) { }
호출 함수
// 프라이빗 채널 타입 만 SDK에서 채널을 생성 하실 수 있습니다.
// 다른 채널 타입은 콘솔을 이용해 주시길 바랍니다.
// 프라이빗 채널을 생성 하는 함수 입니다. 채널 그룹, 채널 번호, 채널 이름, 최대 인원, 비밀번호을 넣어서 보내 줍니다.
// 비밀번호를 넣지 않을 경우 공개 채널로 생성 됩니다.
// 채널 번호를 0으로 보낼 경우 서버에서 자동으로 채널 번호를 부여 합니다.
ChatClient.SendCreatePrivateChannel(string channelGroup, UInt64 channelNumber = 0, string channelName = "default", uint maxCount = 50, string password = "")
// 오픈 채널 타입의 채널 입장 함수 입니다. 채널 그룹, 채널 이름을 넣어서 보내 줍니다.
ChatClient.SendJoinOpenChannel(string channelGroup, string channelName)
// 프라이빗 채널 타입의 채널 입장 함수 입니다. 채널 그룹, 채널 번호를 넣어서 보내 줍니다.
ChatClient.SendJoinPrivateChannel(string channelGroup, ulong channelNumber, string password = "")
// 채널에서 나가는 함수 입니다. 채널 그룹, 채널 이름, 채널 번호를 넣어서 보내 줍니다.
ChatClient.SendLeaveChannel(string channelGroup, string channelName, UInt64 channelNumber = 0)
// 뒤끝 베이스 길드 기능을 사용하고 계신 경우에만 사용 가능한 길드 채널 관련 함수 입니다.
// 길드 채널 입장 함수 입니다.
ChatClient.SendJoinGuildChannel();
// 길드 채널에서 나가는 함수 입니다.
ChatClient.SendLeaveGuildChannel();
예를 들어 길드 생성(CreateGuildV3) 후 아래의 코드를 호출 해 주셔야 합니다.
ChatClient.SendJoinGuildChannel();
길드 탈퇴(WithdrawGuildV3) 후에는 아래의 코드를 호출 해 주셔야 합니다.
ChatClient.SendLeaveGuildChannel();
또한, 길드 가입 수락 처리를 실시간 알림으로 처리 하신 경우 OnApprovedGuildJoin 콜백이 올 경우에도 길드 채팅 채널 입장 함수를 호출 해 주셔야 합니다. 함수를 호출 하시면 자동으로 가입 된 길드의 길드 채팅 채널로 입장 됩니다.
만일 따로 로직 처리를 해 주시지 않으실 경우 유저가 재 접속 전까지는 길드 채팅을 이용 하실 수 없습니다.
길드를 생성 시 아래의 코드를 입력 하세요. 단, guild
는 자동 채널 생성 기능에서 사용하고 있는 예약어이기 때문에, guild
가 아닌 다른 채널 그룹 이름을 사용해야 합니다. 생성이 완료 되면 자동으로 채널에 접속 합니다.
ChatClient.SendCreatePrivateChannel("guilds", 1, "guildname", 100, "");
이후에 재접속 후에는 아래의 함수를 호출 해 주셔야 길드 채널에 접속 하실 수 있습니다.
ChatClient.SendJoinPrivateChannel("guilds", 1);
길드원의 경우 즉시 가입, 또는 가입 수락 시 콜백이 구현 된 경우에도 위의 함수를 호출 해 주시면 됩니다.
길드원이 탈퇴 및 추방 콜백이 구현 된 경우는 아래의 함수를 호출 해 주셔야 길드 채널에서 나가집니다.
ChatClient.SendLeaveChannel("guilds", "guildname", 1);
정보 클래스
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>();
}
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>();
}