View as Markdown

Leaderboards

Read more about the Leaderboards system in Hiro here.

The methods below require Hiro 1.33 or later. If you are on an earlier version, see Hiro 1.32 and earlier.

Get all leaderboards #

List all available leaderboards.

1
2
3
4
var request = LeaderboardListRequest();

var leaderboardList = await hiro.leaderboardList(session!, request);
print(leaderboardList);

Filter by category:

1
2
3
4
5
var request = LeaderboardListRequest();
request.categories = ["Tournament"];

var leaderboardList = await hiro.leaderboardList(session!, request);
print(leaderboardList);

Get a leaderboard #

Get a specified leaderboard by ID.

1
2
3
4
5
var request = LeaderboardGet();
request.id = "GalacticChampions";

var leaderboard = await hiro.leaderboardGet(session!, request);
print(leaderboard);

Submit a score #

Submit a score to a leaderboard.

1
2
3
4
5
6
7
var request = LeaderboardUpdate();
request.id = "GalacticChampions";
request.score = 1500;
request.subscore = 0;

var leaderboardScore = await hiro.leaderboardUpdate(session!, request);
print(leaderboardScore);

List scores #

List scores on a leaderboard. Pass ownerIds to retrieve scores for specific owners.

1
2
3
4
5
6
7
var request = LeaderboardScoresListRequest();
request.id = "GalacticChampions";
request.ownerIds = ["userId1", "userId2"];
request.limit = 100;

var scoreList = await hiro.leaderboardScoresList(session!, request);
print(scoreList);

Filter by region:

1
2
3
4
5
6
7
var request = LeaderboardScoresListRequest();
request.id = "GalacticChampions";
request.region = "EU";
request.limit = 100;

var scoreList = await hiro.leaderboardScoresList(session!, request);
print(scoreList);

List scores around owner #

List scores centred around a specific owner.

1
2
3
4
5
6
7
var request = LeaderboardScoresListAroundOwnerRequest();
request.id = "GalacticChampions";
request.ownerId = session!.userId;
request.limit = 10;

var scoreList = await hiro.leaderboardScoresListAroundOwner(session!, request);
print(scoreList);

Hiro 1.32 and earlier #

Prior to Hiro 1.33, leaderboardsConfigGet was the only way to retrieve available leaderboards, returning a LeaderboardConfigList with basic configuration data. This method is deprecated in Hiro 1.33 and later. Use leaderboardList instead.

1
2
var leaderboard_config_list = await hiro.leaderboardsConfigGet(session!);
print(leaderboard_config_list);