文档

支持

通过 Cloud Code JavaScript 脚本访问 Leaderboards

Refer to code samples that access Leaderboards with the Cloud Code JavaScript Software Development Kit.
阅读时间1 分钟最后更新于 20 天前

您可以使用 Cloud Code JavaScript Leaderboards SDK 访问 Leaderboards。Cloud Code SDK 文档门户提供了所有可用方法的相关文档。 以玩家调用 Cloud Code 脚本为例。通过以下脚本,可以提交玩家的分数,检索分数条目(包括排名)并检索排行榜中的最高分。 JavaScript:
const { LeaderboardsApi } = require("@unity-services/leaderboards-1.1");module.exports = async ({ params, context, logger }) => { // Retrieve the playerId and accessToken from the context // allows you to ensure requests are scoped to the player // who invoked the Cloud Code script. const { projectId, playerId, accessToken } = context; const { leaderboardId, score } = params; // Initializing the LeaderboardsApi using the accessToken // ensures the requests are made as the player who invoked the // Cloud Code script. const leaderboardsApi = new LeaderboardsApi({ accessToken}); const addScoreResult = await leaderboardsApi.addLeaderboardPlayerScore(projectId, leaderboardId, playerId, { score: score }); const getScoreResult = await leaderboardsApi.getLeaderboardPlayerScore(projectId, leaderboardId, playerId); const getScoresResult = await leaderboardsApi.getLeaderboardScores(projectId, leaderboardId); return { addScoreResultStatus: addScoreResult.status, getScoreResult: getScoreResult.data, getScoresResult: getScoresResult.data };};
通过 Cloud Code 也可以对玩家作用域终端进行管理级别的访问。这样,您可以通过一个 Cloud Code 脚本来更新多个玩家的分数或单个玩家(除调用 Cloud Code 脚本的玩家之外)的分数。 JavaScript:
const { LeaderboardsApi } = require("@unity-services/leaderboards-1.1");module.exports = async ({ params, context, logger }) => { const { projectId } = context; // The below playerId comes from your input parameters. This can // be any player that you wish. const { leaderboardId, playerId, score } = params; // Initialize the LeaderboardsApi using the context allows // for admin-level access to Leaderboards endpoints. const leaderboardsApi = new LeaderboardsApi(context); const addScoreResult = await leaderboardsApi.addLeaderboardPlayerScore(projectId, leaderboardId, playerId, { score: score }); const getScoreResult = await leaderboardsApi.getLeaderboardPlayerScore(projectId, leaderboardId, playerId); const getScoresResult = await leaderboardsApi.getLeaderboardScores(projectId, leaderboardId); return { addScoreResultStatus: addScoreResult.status, getScoreResult: getScoreResult.data, getScoresResult: getScoresResult.data };};

其他资源