A leaderboard which can contain scores and information about participating users. Accessible through the LeaderboardModule asset.

// GET LEADERBOARD API 
var leaderboardCreateOptions = Leaderboard.CreateOptions();
leaderboardCreateOptions.name = "jumpscore";
leaderboardCreateOptions.ttlSeconds = 64000;
leaderboardCreateOptions.orderingType = Leaderboard.OrderingType.Descending;

leaderboardModule.getLeaderboard(leaderboardCreateOptions, addLeaderboardSC, addLeaderboardFC);

function addLeaderboardSC(leaderboard) {
print("name: " + leaderboard.getLeaderboardId) ;
print("ttl: " + leaderboard.ttlSeconds);
print("order: " + leaderboard.orderingType);
}

function addLeaderboardFC(message) {
print(message);
}

// SUBMIT SCORE
leaderboard.submitScore(100, submitScoreSC, submitScoreFC);

function submitScoreSC(leaderboardUserInfo) {
printLeaderboardInfo(leaderboardUserInfo);
}
function getLeaderboardInfoFC(message) {
print(message);
}
function printLeaderboardInfo(info) {
var user = info.snapchatUser;
if (user.displayName != "") { // Unavailable for global user
print("displayName: " + user.displayName);
}
if (user.username != "") { // Unavailable for global user
print("username: " + user.userName);
}

print("Score: " + info.score);
print("Percentile rank: " + info.globalPercentileRank);
}

// GET LEADERBOARD INFO
var options = Leaderboard.RetrievalOptions();
options.usersType = Leaderboard.UsersType.Global;
options.usersLimit = 2;
leaderboard.getLeaderboardInfo(options, getLeaderboardInfoSC, getLeaderboardInfoFC);

function getLeaderboardInfoSC(others, currentUserLeaderboardInfo) {
printLeaderboardInfo(currentUserLeaderboardInfo);
for(var i = 0; i < others.length; i++) {
printLeaderboardInfo(others[i]);
}
}
function getLeaderboardInfoFC(message) {
print(message);
}
interface Leaderboard {
    name: string;
    orderingType: OrderingType;
    ttlSeconds: number;
    getLeaderboardInfo(options: RetrievalOptions, successCallback: ((othersInfo: UserRecord[], currentUserInfo?: UserRecord) => void), failureCallback: ((status: number) => void)): void;
    getTypeName(): string;
    isOfType(type: string): boolean;
    isSame(other: ScriptObject): boolean;
    submitScore(score: number, successCallback: ((currentUserInfo: UserRecord) => void), failureCallback: ((status: number) => void)): void;
}

Hierarchy (view full)

Properties

name: string

The name of the leaderboard.

orderingType: OrderingType

How the leaderboard should be ordered.

ttlSeconds: number

How long the leaderboard should last.

Methods

  • Get information about the leaderboard, such as who is on it.

    Parameters

    • options: RetrievalOptions
    • successCallback: ((othersInfo: UserRecord[], currentUserInfo?: UserRecord) => void)
        • (othersInfo, currentUserInfo?): void
        • Parameters

          Returns void

    • failureCallback: ((status: number) => void)
        • (status): void
        • Parameters

          • status: number

          Returns void

    Returns void

  • Returns true if the object matches or derives from the passed in type.

    Parameters

    • type: string

    Returns boolean

  • Returns true if this object is the same as other. Useful for checking if two references point to the same thing.

    Parameters

    Returns boolean

  • Submit a score to the leaderboard.

    Parameters

    • score: number
    • successCallback: ((currentUserInfo: UserRecord) => void)
        • (currentUserInfo): void
        • Parameters

          Returns void

    • failureCallback: ((status: number) => void)
        • (status): void
        • Parameters

          • status: number

          Returns void

    Returns void