クイック スタート ランキング
このガイドでは、ランキング サービスの開発環境を設定する方法について説明します。 また、Web サイト ゲーム マネージャー からクイック ランキングを作成する方法についても説明します。
前提条件
PlayFab ランキング サービスを使用するには、PlayFab アカウントが必要です。 アカウントを作成する手順については、「認証」 を参照してください。
ランキングの作成
左側のメニューで [進行状況] を選択します。
上部のメニューから [ランキング] タブを選択します。
次に、[新しいランキング] ボタンに移動し、ランキング定義を作成します。
ここでは、ランキングのすべての側面を構成できます。 使用可能なパラメーターとランキングを作成する方法の詳細については、以下を参照してください。
最終結果は次のようになるはずです。
環境のセットアップ
ここでは、C# SDK を使用するための開発環境を設定する方法について説明しますが、ここで紹介する概念は他の SDK や単純な HTTP リクエストでも機能します。
TitleId と DeveloperSecretKey の設定
タイトル エンティティとして認証する場合は、DeveloperSecretKey が必要です。
PlayFabSettings.staticSettings.TitleId = ""; // Change this value to your own titleId from PlayFab Game Manager
PlayFabSettings.staticSettings.DeveloperSecretKey = ""; // Change this to your title's secret key from Game Manager
タイトルの作成と秘密鍵の取得
- https://playfab.com/ にログインします。
- タイトルを作成する
- 設定の [API 機能] セクションで [タイトル ID] を見つけます。
- 秘密鍵を生成する:
- タイトル ビューの左上にあるタイトル名の横にある歯車
- [タイトルの設定]
- シークレット キー
- 新しいシークレット キー
ゲーム マネージャー内で [秘密鍵] セクションを見つけたときの UI は次のようになります。
タイトルとしてログイン
書き込み操作の場合、ゲーム サーバーの TitleEntity を使用することをお勧めします。このメソッドは、すべてのリクエストで使用される AuthenticationContext
を返します。
public static async Task<PlayFabAuthenticationContext> LoginAsTitleEntity()
{
GetEntityTokenRequest request = new GetEntityTokenRequest()
{
Entity = new PlayFab.AuthenticationModels.EntityKey()
{
Id = PlayFabSettings.staticSettings.TitleId,
Type = "title",
},
};
PlayFabResult<GetEntityTokenResponse> entityTokenResult = await PlayFabAuthenticationAPI.GetEntityTokenAsync(request);
PlayFabAuthenticationContext authContext = new PlayFabAuthenticationContext
{
EntityToken = entityTokenResult.Result.EntityToken
};
return authContext;
}
プレイヤーとしてログイン (プレイヤーの作成)
このメソッドは、 title_player_account
型のエンティティを返す識別子に基づいてプレーヤーを作成します。 詳細情報: クイックスタート エンティティ
private static async Task<PlayFabAuthenticationContext> LoginAsPlayer(string customId = "GettingStartedGuide")
{
LoginWithCustomIDRequest request = new LoginWithCustomIDRequest { CustomId = customId, CreateAccount = true };
PlayFabResult<LoginResult> loginResult = await PlayFabClientAPI.LoginWithCustomIDAsync(request);
return loginResult.Result.AuthenticationContext;
}
エンティティの表示名プロパティを設定する
"Get Leaderboards API" の応答の一部として DisplayName
プロパティを使用できるようにするには、作成したエンティティごとに次のコードを実行して、エンティティをゲームのカスタム表示名にマップする必要があります。
private static async Task UpdateEntityDisplayName(PlayFabAuthenticationContext context, string customId)
{
SetDisplayNameRequest request = new SetDisplayNameRequest()
{
AuthenticationContext = context,
DisplayName = customId,
Entity = new PlayFab.ProfilesModels.EntityKey()
{
Id = context.EntityId,
Type = context.EntityType,
},
};
PlayFabResult<SetDisplayNameResponse> updateNameResult = await PlayFabProfilesAPI.SetDisplayNameAsync(request);
}