GetGuildInfoV4
public BackendReturnObject GetGuildInfoV4(string guildIndate);
파라미터
| Value | Type | Description |
|---|---|---|
| guildIndate | string | 정보를 받아올 길드의 indate |
설명
해당 guildIndate를 가진 길드의 정보를 조회합니다.
GetGuildInfoV3에서 변경된 점
- 반환값의 최상위 키가
guild에서result로 변경되었습니다. 반환값을 직접 파싱하는 경우 키 이름을 함께 수정해야 합니다. - 반환값이 일반 JSON으로 정규화되어 내려옵니다. 따라서
GetFlattenJSON()이 아닌GetReturnValuetoJSON()으로 바로 읽을 수 있습니다. - 뒤끝 콘솔에 길드 마스터 자동 교체 기준 일수가 설정된 경우,
masterLastLogin과inactivedMaster키가 추가됩니다. 자세한 내용은 길드 마스터 자동 교체 신청을 참고해 주세요. GetGuildInfoV3는 deprecated 되었습니다. 신규 개발은GetGuildInfoV4를 사용해 주세요.
Example
동기
Backend.Guild.GetGuildInfoV4("guildIndate");
비동기
Backend.Guild.GetGuildInfoV4("guildIndate", (callback) => {
// 이후 처리
});
SendQueue
SendQueue.Enqueue(Backend.Guild.GetGuildInfoV4, "guildIndate", (callback) => {
// 이후 처리
});
ReturnCase
Success cases
조회에 성공한 경우
statusCode : 200
message : Success
returnValue : GetReturnValuetoJSON 참조
Error cases
guildIndate가 존재하지 않는 경우
statusCode : 404
errorCode : NotFoundException
message : guild not found, guild을(를) 찾을 수 없습니다
GetReturnValuetoJSON
{
// 길드 정보
result:
{
// 길드의 inDate
inDate: "2019-04-12T07:38:16.522Z",
// 길드 명
guildName: "mumin",
// 길드원 수
memberCount: 5,
// 길드 굿즈 종류 수
goodsCount: 2,
// 오픈 길드 여부
isOpenGuild: false,
// 길드 마스터의 inDate
masterInDate: "2019-02-25T06:29:30.022Z",
// 길드 마스터 닉네임(닉네임을 생성하지 않은 마스터는 null)
masterNickname: "id24",
// 부 길드 마스터 리스트
viceMasterList:
[
{
// 부 길드 마스터 inDate
inDate: "2019-02-25T06:29:28.849Z",
// 부 길드 마스터 닉네임
nickname: "id23"
}
],
// 길드 메타 데이터
level: "silver",
// 즉시 가입 여부(SetRegistrationValueV3로 설정한 경우에만 존재)
_immediateRegistration: true,
// 국가 코드(등록하지 않은 경우 "null" 문자열이 내려옵니다)
_countryCode: "KR",
// 길드 마스터의 마지막 로그인 시각(길드 마스터 자동 교체 기준 일수가 설정된 경우에만 존재, 로그인 기록이 없으면 null)
masterLastLogin: "2026-08-10T12:30:00.000Z",
// 길드 마스터의 비활성 여부(길드 마스터 자동 교체 기준 일수가 설정된 경우에만 존재)
inactivedMaster: false,
// 이하 서버 내부 값(게임 로직에서 사용하지 마세요)
lowerGuildName: "mumin",
partition: "guild",
gamer_id: "0",
guildMemberRequestList: []
}
}
내부 값 주의
V4 응답은 서버 레코드를 정규화해 그대로 내려주므로 lowerGuildName, partition, gamer_id, guildMemberRequestList가 함께 포함됩니다. GetReturnValueByGuildItem()을 사용할 경우 이 키들이 길드 메타 데이터(customGuildInfo)에 섞여 들어오므로, 메타 데이터를 순회할 때 걸러 주세요.
_countryCode는 국가 코드를 등록하지 않은 길드에서 JSON null이 아닌 "null" 문자열로 내려옵니다.
Sample Code
public class GuildItem
{
public int memberCount;
public Dictionary<string, string> viceMasterList = new Dictionary<string, string>();
public string masterNickname;
public string inDate;
public string guildName;
public int goodsCount;
public bool _immediateRegistration;
public string _countryCode;
public string masterInDate;
public string masterLastLogin;
public bool? inactivedMaster;
public override string ToString()
{
string viceMasterString = string.Empty;
foreach(var li in viceMasterList)
{
viceMasterString += $"부 길드 마스터 : {li.Value}({li.Key})\n";
}
return $"memberCount : {memberCount}\n" +
$"masterNickname : {masterNickname}\n" +
$"inDate : {inDate}\n" +
$"guildName : {guildName}\n" +
$"goodsCount : {goodsCount}\n" +
$"_immediateRegistration : {_immediateRegistration}\n" +
$"_countryCode : {_countryCode}\n" +
$"masterInDate : {masterInDate}\n" +
$"masterLastLogin : {masterLastLogin ?? "null"}\n" +
$"inactivedMaster : {(inactivedMaster.HasValue ? inactivedMaster.Value.ToString() : "null")}\n" +
viceMasterString;
}
};
public void GetGuildInfoV4()
{
var bro = Backend.Guild.GetGuildInfoV4("2021-12-16T08:51:00.706Z");
if(!bro.IsSuccess())
return;
LitJson.JsonData json = bro.GetReturnValuetoJSON()["result"];
GuildItem guildItem = new GuildItem();
guildItem.memberCount = int.Parse(json["memberCount"].ToString());
guildItem.masterNickname = json["masterNickname"].ToString();
guildItem.inDate = json["inDate"].ToString();
guildItem.guildName = json["guildName"].ToString();
guildItem.goodsCount = int.Parse(json["goodsCount"].ToString());
if(json.ContainsKey("_immediateRegistration"))
{
guildItem._immediateRegistration = bool.Parse(json["_immediateRegistration"].ToString());
}
if(json.ContainsKey("_countryCode"))
{
guildItem._countryCode = json["_countryCode"].ToString();
}
guildItem.masterInDate = json["masterInDate"].ToString();
// 길드 마스터 자동 교체 기준 일수가 설정되지 않은 경우 두 키는 응답에 존재하지 않습니다.
if(json.ContainsKey("masterLastLogin") && json["masterLastLogin"] != null)
{
guildItem.masterLastLogin = json["masterLastLogin"].ToString();
}
if(json.ContainsKey("inactivedMaster") && json["inactivedMaster"] != null)
{
guildItem.inactivedMaster = bool.Parse(json["inactivedMaster"].ToString());
}
LitJson.JsonData viceListJson = json["viceMasterList"];
for(int j = 0; j < viceListJson.Count; j++)
{
guildItem.viceMasterList.Add(viceListJson[j]["inDate"].ToString(), viceListJson[j]["nickname"].ToString());
}
Debug.Log(guildItem.ToString());
}
Backend.NewFunctions.Guild.GetGuildInfoV4를 사용하면 위와 같이 직접 파싱하지 않고 SDK가 제공하는 타입으로 조회할 수 있습니다.
public void GetGuildInfoV4WithType()
{
var bro = Backend.NewFunctions.Guild.GetGuildInfoV4("2021-12-16T08:51:00.706Z");
if(!bro.IsSuccess())
return;
Debug.Log(bro.GetReturnValueByGuildItem().ToString());
}