FBInstant.getLeaderboardAsync
From GiderosMobile
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Available since: Gideros 2018.3
Class: * Initialisation and Core
Description
Fetch a specific leaderboard belonging to this Instant Game.
FBInstant.getLeaderboardAsync(name,callback)
Parameters
name: (string) The name of the leaderboard. Each leaderboard for an Instant Game must have its own distinct name.
callback: (function) A function that will be called with two arguments: Result with the matching leaderboard, rejecting if one is not found. An error code if the function failed.
Examples
Example
FBInstant.getLeaderboardAsync("my_aweome_leaderboard", function(result,error)
print("getLeaderboardAsync result:",result)
end)
<br/>
Example 2
FBInstant.getLeaderboardAsync("my_aweome_leaderboard", function(result,error)
print("name",result:getName()) -- should display 'my__awesome_leaderboard'
print("context id",result:getContextID()) -- eg 12345678 or null if not tied to a context
result:getEntryCountAsync( function (result,error) -- Fetches the total number of player entries in the leaderboard.
if result then
print("Count",result)
end
end)
--Update the player's score. If the player has an existing score, the old score will only be replaced if the new score is better than it.
-- NOTE: If the leaderboard is associated with a specific context, the game must be in that context to set a score for the player.
result:setScoreAsync(level,FBInstant.player.getName(),function(self,result,entry)
if result then
print("score ok",entry)
for key,val in pairs(entry.entry) do
print(key,val)
end
end
end)
-- Retrieves the leaderboard's entry for the current player, or null if the player has not set one yet.
result:getPlayerEntryAsync( function (self,result,entry)
if entry and entry.entry then -- important you check this as it may not exist...
for key,val in pairs(entry.entry) do
print(key,val)
if key=="player" then
for key2,val2 in pairs(val) do
print(" ",key2,val2)
end
end
end
end
end)
-- Retrieve a set of leaderboard entries, ordered by score ranking in the leaderboard.
-- parameter: count number The number of entries to attempt to fetch from the leaderboard. Defaults to 10 if not specified. Up to a maximum of 100 entries may be fetched per query.
-- parameter: offset number The offset from the top of the leaderboard that entries will be fetched from.
result:getEntriesAsync(10,0,function(self,result,entries)
print(self,result,entries)
for loop=1,#entries do
local e=entries[loop].entry
print("at entry",loop)
for key,val in pairs(e) do
print(key,val)
if key=="player" then
for key2,val2 in pairs(val) do
print(" ",key2,val2)
end
end
end
end
end)
-- Most useful of all:
-- Retrieve a set of connected player leaderboard entries, ordered by score ranking in the leaderboard.
-- parameter: count number The number of entries to attempt to fetch from the leaderboard. Defaults to 10 if not specified. Up to a maximum of 100 entries may be fetched per query.
-- parameter: offset number The offset from the top of the leaderboard that entries will be fetched from.
result:getConnectedPlayerEntriesAsync(10,0,function(self,result,entries)
print(self,result,entries)
for loop=1,#entries do
local e=entries[loop].entry
print("at entry",loop)
for key,val in pairs(e) do
print(key,val)
if key=="player" then
for key2,val2 in pairs(val) do
print(" ",key2,val2)
end
end
end
end
end)
end)
<br/>
Example 3 - global leaderboard
FBInstant.getLeaderboardAsync("my_aweome_leaderboard",function (e,error)
print("global leaderboard event",e)
if e then
for key,value in pairs(e) do
print(key,value)
end
else
print("global leaderboard error",error)
end
end)
<br/>
Example 4 - group leaderboard
fbContextId=FBInstant.context.getID()
if fbContextId~="null" then
print("context",fbContextId)
FBInstant.getLeaderboardAsync("Highest Level Achievers."..fbContextId,function (e,error)
print("group leaderboard event",e)
print("group leaderboard error",error)
end)
else
print("You may have tried to access a context high score in solo mode!")
end
<br/>
- FBInstant.canCreateShortcutAsync
- FBInstant.checkCanPlayerMatchAsync
- FBInstant.createShortcutAsync
- FBInstant.getEntryPointAsync
- FBInstant.getEntryPointData
- FBInstant.getInterstitialAdAsync
- FBInstant.getLeaderboardAsync
- FBInstant.getLocale
- FBInstant.getPlatform
- FBInstant.getRewardedVideoAsync
- FBInstant.getSDKVersion
- FBInstant.getSupportedAPIs
- FBInstant.logEvent
- FBInstant.matchPlayerAsync
- FBInstant.onPause
- FBInstant.quit
- FBInstant.setLoadingProgress
- FBInstant.setSessionData
- FBInstant.shareAsync
- FBInstant.startGameAsync
- FBInstant.switchGameAsync
- FBInstant.updateAsync