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

GetRankTableList

public BackendReturnObject GetRankTableList();

안내

구버전 랭킹은 해당 함수를 이용할 수 없습니다.

설명

뒤끝 콘솔에 생성한 모든 유저 랭킹을 리스트 형태로 리턴합니다.
해당 리스트에는 아래 정보가 포함되어 있습니다.

  • 랭킹 이름
  • 랭킹 uuid
  • 랭킹 주기
  • 랭킹 초기화 시 데이터 초기화 여부
  • 랭킹 정렬 방법
  • 랭킹에 사용한 테이블
  • 랭킹에 사용한 컬럼
  • 랭킹에 사용한 추가 항목

Example

동기

Backend.URank.User.GetRankTableList();

비동기

Backend.URank.User.GetRankTableList(callback=>
{
// 이후 처리
});

SendQueue

SendQueue.Enqueue(Backend.URank.User.GetRankTableList, callback => 
{
// 이후 처리
});

ReturnCase

Success cases

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

Error cases

랭킹이 없는 경우
statusCode : 404
errorCode : NotFoundException
message : rank not found, rank을(를) 찾을 수 없습니다

GetReturnValuetoJSON

{
"rows": [
{
// 랭크 타입. 유저랭킹의 경우 user
"rankType": {
"S": "user"
},
// 일회성 랭킹에서만 존재합니다.
// 랭킹 시작일
"rankStartDateAndTime": {
"S": "2021-03-14T15:00:00.000Z"
},
// 일회성 랭킹에서만 존재합니다.
// 랭킹 종료일
"rankEndDateAndTime": {
"S": "2021-03-15T05:00:00.000Z"
},
// 랭킹 기간
// day : 일간
// week : 주간
// month : 월간
// infinity : 누적 랭킹
// custom : 일회성 랭킹
"date": {
"S": "custom"
},
// 랭킹 uuid
"uuid": {
"S": "90c25d70-8535-11eb-b01b-af47a424fd52"
},
// 랭킹 정렬 방법
// desc : 내림차순
// asc : 오름차순
"order": {
"S": "desc"
},
// 랭킹 초기화 시 랭킹에 사용한 컬럼을 초기화할 것인지 여부
"isReset": {
"BOOL": false
},
// 랭킹의 이름
"title": {
"S": "유저랭킹"
},
// 랭킹에 사용한 테이블명
"table" : {
"S": "scoreTable"
},
// 랭킹 점수로 사용한 컬럼 명
"column" : {
"S":"score"
},
// 랭킹 추가 항목으로 사용한 컬럼 명(추가 항목을 등록한 경우에만 존재)
"extraDataColumn" : {
"S":"deck"
},
// 랭킹 추가 항목으로 사용한 컬럼의 데이터 타입(추가 항목을 등록한 경우에만 존재)
// https://developer.thebackend.io/unity3d/guide/BackendReturnObject/dataType/
"extraDataType" : {
"S":"M"
}
},
// and etc...
]
}

Sample Code

public class RankTableItem
{
public string rankType;
public string date;
public string uuid;
public string order;
public bool isReset;
public string title;
public string table;
public string column;

//일회성 랭킹에만 존재
public DateTime rankStartDateAndTime;
public DateTime rankEndDateAndTime;

//추가 항목이 있을 경우에만 존재
public string extraDataColumn;
public string extraDataType;

public override string ToString()
{
string str = $"rankType:{rankType}\n" +
$"date:{date}\n" +
$"uuid:{uuid}\n" +
$"order:{order}\n" +
$"isReset:{isReset}\n" +
$"title:{title}\n" +
$"table:{table}\n" +
$"column:{column}\n";

if(rankStartDateAndTime != DateTime.MinValue)
{
str += $"rankStartDateAndTime:{rankStartDateAndTime}\n" +
$"rankEndDateAndTime:{rankEndDateAndTime}\n";
}

if(extraDataColumn != null)
{
str += $"extraDataColumn:{extraDataColumn}\n" +
$"extraDataType:{extraDataType}\n";
}

return str;
}
}
public void GetRankTableListTest()
{
List<RankTableItem> rankTableItemList = new List<RankTableItem>();

BackendReturnObject bro = Backend.URank.User.GetRankTableList();

if(bro.IsSuccess())
{
LitJson.JsonData rankTableListJson = bro.FlattenRows();

for(int i = 0; i < rankTableListJson.Count; i++)
{
RankTableItem rankTableItem = new RankTableItem();


rankTableItem.rankType = rankTableListJson[i]["rankType"].ToString();
rankTableItem.date = rankTableListJson[i]["date"].ToString();
rankTableItem.uuid = rankTableListJson[i]["uuid"].ToString();
rankTableItem.order = rankTableListJson[i]["order"].ToString();
rankTableItem.isReset = rankTableListJson[i]["isReset"].ToString() == "true" ? true : false;
rankTableItem.title = rankTableListJson[i]["title"].ToString();
rankTableItem.table = rankTableListJson[i]["table"].ToString();
rankTableItem.column = rankTableListJson[i]["column"].ToString();

if(rankTableListJson[i].ContainsKey("rankStartDateAndTime"))
{
rankTableItem.rankStartDateAndTime = DateTime.Parse(rankTableListJson[i]["rankStartDateAndTime"].ToString());
rankTableItem.rankEndDateAndTime = DateTime.Parse(rankTableListJson[i]["rankEndDateAndTime"].ToString());
}

if(rankTableListJson[i].ContainsKey("extraDataColumn"))
{
rankTableItem.extraDataColumn = rankTableListJson[i]["extraDataColumn"].ToString();
rankTableItem.extraDataType = rankTableListJson[i]["extraDataType"].ToString();
}

rankTableItemList.Add(rankTableItem);
Debug.Log(rankTableItem.ToString());
}
}
}