通过 Cloud Code JavaScript 脚本访问 Leaderboards
Refer to code samples that access Leaderboards with the Cloud Code JavaScript Software Development Kit.
阅读时间1 分钟最后更新于 4 天前
您可以使用 Cloud Code JavaScript Leaderboards SDK 访问 Leaderboards。Cloud Code SDK 文档门户提供了所有可用方法的相关文档。 以玩家调用 Cloud Code 脚本为例。通过以下脚本,可以提交玩家的分数,检索分数条目(包括排名)并检索排行榜中的最高分。 JavaScript:
通过 Cloud Code 也可以对玩家作用域终端进行管理级别的访问。这样,您可以通过一个 Cloud Code 脚本来更新多个玩家的分数或单个玩家(除调用 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 };};
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 };};