メインコンテンツまでスキップ

Displaying a Specific Players Ranking Using the Leaderboard v1 (Legacy)

Last updated on December 6, 2023

概要

リーダーボードサービスでは、リーダーボードを表示してプレイヤーのランキングに関する情報を提示することで、プレイヤー間に競争的な雰囲気を作り出すことができます。

目標

このセクションでは、SDK を使用してリーダーボードを取得する方法、または特定のプレイヤーのランキングのみを取得する方法を説明します。

前提条件

  • AccelByte 管理者ポータルにアクセスできる。
  • Unreal 用または Unity 用 AccelByte SDK にアクセスできる。
  • AccelByte リーダーボード API ドキュメント にアクセスして詳細を参照できる。

リーダーボードのランキングを表示

リーダーボードのランキングを表示するには、リーダーボードのデータを取得する必要があります。リーダーボードの特定のライフサイクル (毎日、毎週、毎月など) のデータが返されます。また、データの取得対象とするプレイヤーの数に制限を指定することもできます (トップ 10、トップ 50 など)。また、複数ページにリーダーボードを表示する場合は、オフセットを指定して、次の 10 件、次の 50 件などを取得できます。

次の関数を使用すると、リーダーボードのランキングを取得できます。

Unreal SDK - リーダーボードのランキングを取得

FString LeaderboardCode = FString("SomeLeaderboardCode");
EAccelByteLeaderboardTimeFrame TimeFrame = EAccelByteLeaderboardTimeFrame::ALL_TIME;
int32 Offset = 0;
int32 Limit = 99;

FRegistry::Leaderboard.GetRankings(LeaderboardCode, TimeFrame, Offset, Limit, THandler<FAccelByteModelsLeaderboardRankingResult>::CreateLambda([](const FAccelByteModelsLeaderboardRankingResult& Result)
{
// Do something if GetRankings has been successful
}), FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
// Do something if GetRankings has an error
UE_LOG(LogTemp, Log, TEXT("Error GetRankings, Error Code: %d Error Message: %s"), ErrorCode, *ErrorMessage);
}));

プレイヤーのランキングを表示

特定のプレイヤーのランクを表示したり、強調したりできます。

次の関数を使用すると、ユーザー ID を使用して特定のプレイヤーのランキングを取得できます。

Unreal SDK - 特定のプレイヤーのランキングを取得

FString UserId = FString("SomeUserId");
FString LeaderboardCode = FString("SomeLeaderboardCode");


FRegistry::Leaderboard.GetUserRanking(UserId, LeaderboardCode, THandler<FAccelByteModelsUserRankingData>::CreateLambda([](const FAccelByteModelsUserRankingData& Result)
{
// Do something if GetUserRanking has been successful
}), FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
// Do something if GetUserRanking has an error
UE_LOG(LogTemp, Log, TEXT("Error GetUserRanking, Error Code: %d Error Meessage: %s"), ErrorCode, *ErrorMessage);
}));