Skip to main content
Version: 5.15.0

GetRankList

public BackendReturnObject GetRankList(string rankUuid);
public BackendReturnObject GetRankList(string rankUuid, int limit);
public BackendReturnObject GetRankList(string rankUuid, int limit, int offset);

Grouped leaderboard unavailable

The URank ranking method can only look up NULL groups in grouped leaderboards.
If you want to check leaderboards according to groups, use the Leaderboard method.

Parameters

ValueTypeDescriptionDefault
rankUuidstringuuid of the ranking to look up-
limitintNumber of rank holders to look up (1 - 50)10
offsetintStarting point of the ranking to look up (0 or more)0

The rankUuid value can be checked using the following methods:

Description

Looks up the list of rank holders registered in the ranking using a uuid value.

In the case of joint ranks, gamer_ids (member numbers) are sorted lexicographically according to the set rank-sorting criteria (ascending/descending order).

Example

Synchronous

// Look up the 1st - 10th rank holders in the rankUuid ranking
Backend.URank.User.GetRankList("rankUuid");
// Look up the 1st - 50th rank holders in the rankUuid ranking
Backend.URank.User.GetRankList("rankUuid", 50);
// Look up the 11th - 20th rank holders in the rankUuid ranking
Backend.URank.User.GetRankList("rankUuid", 10, 10);

Asynchronous

// Look up the 1st - 10th rank holders in the rankUuid ranking
Backend.URank.User.GetRankList("rankUuid", callback=> {
// Post-process
});
// Look up the 1st - 50th rank holders in the rankUuid ranking
Backend.URank.User.GetRankList("rankUuid", 50, callback=> {
// Post-process
});
// Look up the 11th - 20th rank holders in the rankUuid ranking
Backend.URank.User.GetRankList("rankUuid", 10, 10, callback=> {
// Post-process
});

SendQueue

// Look up the 1st - 10th rank holders in the rankUuid ranking
SendQueue.Enqueue(Backend.URank.User.GetRankList, "rankUuid", callback=> {
// Post-process
});
// Look up the 1st - 50th rank holders in the rankUuid ranking
SendQueue.Enqueue(Backend.URank.User.GetRankList, "rankUuid", 50, callback=> {
// Post-process
});
// Look up the 11th - 20th rank holders in the rankUuid ranking
SendQueue.Enqueue(Backend.URank.User.GetRankList, "rankUuid", 10, 10, callback=> {
// Post-process
});

ReturnCase

Success cases

When the lookup is successful
statusCode : 200
message : Success
returnValue : refer to GetReturnValuetoJSON

When the lookup is successful but the rank holder is not in the lookup range
statusCode : 200
message : Success
returnValue : {"rows":[]}

Error cases

When the uuid is null or string.Empty
statusCode : 400
errorCode : ValidationException
message : rankUuid is null or empty

When the uuid does not exist
statusCode : 404
errorCode : NotFoundException
message : rank not found, rank cannot be found

GetReturnValuetoJSON

{
"rows": [
{
// Gamer inDate of the user
"gamerInDate": {
"S": "2021-03-11T06:38:46.817Z"
},
// User's nickname
"nickname": {
"S": "Nicknames"
},
// Additional field
// Name and value of the column are displayed.
// 'extraScore' if the column name of the additional field is 'extraScore'
"extraScore": {
"N": "4577"
},
// Score
// Column names are unified as 'score'.
// It will be called 'score' even if the column name of the ranking field is 'power.'
"score": {
"N": "199"
},
// offset
"index": {
"N": 0
},
// User's ranking
"rank": {
"N": 1
}
},
// and etc...
],
// Total number of rank holders registered in the ranking
"totalCount":100
}

Sample Code

public class RankItem
{
public string gamerInDate;
public string nickname;
public string score;
public string index;
public string rank;
public string extraData = string.Empty;
public string extraName = string.Empty;
public string totalCount;

public override string ToString()
{
string str = $"UserinDate:{gamerInDate}\nNickname:{nickname}\nScore:{score}\nSort:{index}\nRank:{rank}\nTotal:{totalCount}\n";
if(extraName != string.Empty)
{
str += $"{extraName}:{extraData}\n";
}
return str;
}
}
public void GetMyRankTest()
{
string userUuid = "81272320-8c40-112b-b174-d9233f6bd0e8";

int limit = 100;

List<RankItem> rankItemList = new List<RankItem>();

BackendReturnObject bro = Backend.URank.User.GetRankList(userUuid, limit);

if(bro.IsSuccess())
{
LitJson.JsonData rankListJson = bro.GetFlattenJSON();

string extraName = string.Empty;

for(int i = 0; i < rankListJson["rows"].Count; i++)
{
RankItem rankItem = new RankItem();

rankItem.gamerInDate = rankListJson["rows"][i]["gamerInDate"].ToString();
rankItem.nickname = rankListJson["rows"][i]["nickname"].ToString();
rankItem.score = rankListJson["rows"][i]["score"].ToString();
rankItem.index = rankListJson["rows"][i]["index"].ToString();
rankItem.rank = rankListJson["rows"][i]["rank"].ToString();
rankItem.totalCount = rankListJson["totalCount"].ToString();

if(rankListJson["rows"][i].ContainsKey(rankItem.extraName))
{
rankItem.extraData = rankListJson["rows"][i][rankItem.extraName].ToString();
}

rankItemList.Add(rankItem);
Debug.Log(rankItem.ToString());
}
}
}