본문으로 건너뛰기
버전: SDK-5.11.4

GetGroupChannelList

public BackendReturnObject GetGroupChannelList(string groupName);

파라미터

ValueTypeDescription
groupNamestring검색할 채널 그룹의 이름

설명

그룹명을 통해 해당 그룹의 채팅 채널의 정보들을 불러옵니다.
채팅 채널 그룹은 뒤끝 콘솔 > 뒤끝챗 > 채팅 그룹 관리에서 미리 생성해야 하며 콘솔에서 생성한 채널 그룹을 불러올 수 있습니다.

30초동안 유저가 존재하지 않는 채널은 자동으로 삭제가 됩니다.
채널 리스트를 조회한 후, 유저가 없는 채널을 30초 이상의 시간이 지난 뒤에 접속을 시도할 경우 이미 삭제된 채널이기에 에러가 발생합니다.
이 경우에는 다시 채널 리스트 조회 함수를 호출하여 접속 가능한 채널을 생성해주세요.

Example

동기

Backend.Chat.GetGroupChannelList(string groupName);

비동기

Backend.Chat.GetGroupChannelList(string groupName, (callback) =>
{
// 이후 처리
});

SendQueue

SendQueue.Enqueue(Backend.Chat.GetGroupChannelList, string groupName, (callback) =>
{
// 이후 처리
});

ReturnCase

Success cases

조회에 성공한 경우
statusCode : 200
message : Success
returnValue : GetReturnValuetoJSON 참조

Error cases

groupName이 비어있을 경우
statusCode : 404
errorCode : NotFoundException
message : Resource not found, Resource을(를) 찾을 수 없습니다

해당 그룹명이 존재하지 않는 경우
statusCode : 404
errorCode : NotFoundException
message : Not found 그룹명 group. not found, Not found 그룹명 group.을(를) 찾을 수 없습니다

채팅 서비스가 비활성화 상태인 경우
statusCode : 412
errorCode : PreconditionFailed
message : chat server is not available 사전 조건을 만족하지 않습니다

GetReturnValuetoJSON

{
"groupName":"운영자전용",
"rows": [{
"groupName": "운영자전용",
"alias": "버그피드백채널",
"inDate": "2021-01-13T01:14:30.263Z",
"maxUserCount": 200,
"joinedUserCount": 10,
"serverAddress": "ec2-3-36-74-178.ap-northeast-2.compute.amazonaws.com",
"serverPort": 50000
},
{
"groupName": string,
"alias": string,
"inDate": string,
"maxUserCount": number,
"joinedUserCount": number,
"serverAddress": string,
"serverPort": number
}, ...]
}

Sample Code

public class ChatGroup
{
public string groupName;
public string alias;
public string inDate;
public int maxUserCount;
public int joinedUserCount;
public string serverAddress;
public ushort serverPort;

public override string ToString()
{
return $"groupName : {groupName}\n" +
$"alias : {alias}\n" +
$"inDate : {inDate}\n" +
$"maxUserCount : {maxUserCount}\n" +
$"joinedUserCount : {joinedUserCount}\n" +
$"serverAddress : {serverAddress}\n" +
$"serverPort : {serverPort}\n";
}
}
public void GetGroupChannelList()
{
string publicGroupName = "PublicAuto";

var callback = Backend.Chat.GetGroupChannelList(publicGroupName);

if(!callback.IsSuccess())
{
Debug.LogError($"{publicGroupName} 채팅 채널 불러오기 실패 : {callback.ToString()}");
return;
}

LitJson.JsonData groupListJson = callback.FlattenRows();

List<ChatGroup> publicGroupsList = new List<ChatGroup>();

for(int i = 0; i < groupListJson.Count; i++)
{
ChatGroup chatGroup = new ChatGroup();

chatGroup.groupName = groupListJson[i]["groupName"].ToString();
chatGroup.alias = groupListJson[i]["alias"].ToString();
chatGroup.inDate = groupListJson[i]["inDate"].ToString();
chatGroup.maxUserCount = int.Parse(groupListJson[i]["maxUserCount"].ToString());
chatGroup.joinedUserCount = int.Parse(groupListJson[i]["joinedUserCount"].ToString());
chatGroup.serverAddress = groupListJson[i]["serverAddress"].ToString();
chatGroup.serverPort = ushort.Parse(groupListJson[i]["serverPort"].ToString());

publicGroupsList.Add(chatGroup);
}

string str = "Backend.Chat.GetGroupChannelList : \n";
foreach(var li in publicGroupsList)
{
str += li.ToString() + "\n";
}
Debug.Log(str);
}