本文档展示了如何快速接入排行榜功能。
首先通过控制台创建一个世界排行榜:
world
点击完成后,我们在控制台看到一个已经创建好的排行榜。
接下来我们在客户端调用相关接口来更新用户的分数。在客户端接入排行榜需要安装存储 SDK 模块,在这篇文档中,为了简单,我们使用 CDN 的方式引入存储 SDK。在同一目录下,创建两个文件 index.html 和 leaderboard-quick-start.js。
index.html
leaderboard-quick-start.js
index.html 中的代码如下:
<html> <head> <title>LeanCloud Leaderboard Quick Start Demo</title> </head> <body> <!-- 引入存储 SDK --> <script src="//code.bdstatic.com/npm/leancloud-storage@4.15.0/dist/av-min.js"></script> </body> </html>
接下来在 leaderboard-quick-start.js 中初始化应用:
AV.init({ appId: '{{appid}}', appKey: '{{appkey}}' });
注:其他 SDK 安装方式,请参考 JavaScript SDK 安装指南
这里在客户端模拟注册两个玩家 A 和 B 并更新自己的成绩。首先运行以下代码注册玩家 A 并更新排行榜中的成绩:
// 注册时输入玩家 A 的用户名及密码 AV.User.signUp('playerA', 'passwordA') .then(function(user) { // 更新当前用户在 world 排行榜中的成绩 var statisticValue = Math.random() * 100; return AV.Leaderboard.updateStatistics(AV.User.current(), { 'world' : statisticValue }) }) .then(function() { // 成绩更新成功 }) .catch(console.error);
接下来换玩家 B 登录并更新成绩,将以上代码中 AV.User.signUp 的参数换成玩家 B 的用户名 playerB 和密码 passwordB 后再次运行代码,运行成功后排行榜中也就有了玩家 B 的成绩。
AV.User.signUp
playerB
passwordB
接下来我们获取排行榜中前 10 的名次,由于当前排行榜中只有 2 个玩家,所以结果是这两个玩家的数据。
const leaderboard = AV.Leaderboard.createWithoutData('world'); leaderboard.getResults({ limit: 10, includeUserKeys: ['username'], //展示结果时同时展示玩家的用户名,需要在云引擎中使用 masterKey 权限。 }) .then(function(results) { console.log(results); }) .catch(console.error)
更详细的使用方式,请参考 JavaScript 排行榜开发指南。
排行榜快速入门 · JavaScript
本文档展示了如何快速接入排行榜功能。
创建排行榜
首先通过控制台创建一个世界排行榜:
world
。点击完成后,我们在控制台看到一个已经创建好的排行榜。
SDK 安装
接下来我们在客户端调用相关接口来更新用户的分数。在客户端接入排行榜需要安装存储 SDK 模块,在这篇文档中,为了简单,我们使用 CDN 的方式引入存储 SDK。在同一目录下,创建两个文件
index.html
和leaderboard-quick-start.js
。index.html
中的代码如下:接下来在
leaderboard-quick-start.js
中初始化应用:注:其他 SDK 安装方式,请参考 JavaScript SDK 安装指南
更新成绩
这里在客户端模拟注册两个玩家 A 和 B 并更新自己的成绩。首先运行以下代码注册玩家 A 并更新排行榜中的成绩:
接下来换玩家 B 登录并更新成绩,将以上代码中
AV.User.signUp
的参数换成玩家 B 的用户名playerB
和密码passwordB
后再次运行代码,运行成功后排行榜中也就有了玩家 B 的成绩。获取名次
接下来我们获取排行榜中前 10 的名次,由于当前排行榜中只有 2 个玩家,所以结果是这两个玩家的数据。
使用指南
更详细的使用方式,请参考 JavaScript 排行榜开发指南。