HIKI Tech Blog

yhikishimaのブログ。ゆるくUE4やUnity、web開発の記事を書いてます。

【UE4】Playfabでサーバー構築 vol.2 プロフィールを取得

1. はじめに

【UE5】Playfabでサーバー構築 vol.1 - HIKI Tech Blog

こちらの記事の続きでPlayFabでサーバー構築してみた。

今回はプレイヤープロフィールの取得と更新。

2. プレイヤープロフィールの取得

  • PlayFabにサインインしてプレイヤーの項目を選択。

疋島康成

  • 「検索」のボタンを押すとプレイヤーの一覧が表示されるので、ログインしたユーザーを選択。

  • 「概要」を選択

  • 表示名(DisplayName)を入力する項目があるので、適当な内容を入れる。

疋島康成

  • UE5に戻り、以下のようにユーザープロフィール取得の処理を追加
## PlayFabManager.h

void GetPlayerProfile();

## PlayFabManager.cpp

void UPlayFabManager::GetPlayerProfile()
{
  PlayFab::ClientModels::FGetPlayerProfileRequest Request;
  Request.PlayFabId = PlayFabId; // Login時に取得したPlayFabId

  // プレイヤプロフィールの取得
  clientAPI->GetPlayerProfile(
    Request,
    PlayFab::UPlayFabClientAPI::FGetPlayerProfileDelegate::CreateLambda([=]
      (const PlayFab::ClientModels::FGetPlayerProfileResult Result)
      {
        // Success
        UE_LOG(LogTemp, Log, TEXT("UPlayFabManager GetPlayerProfile DisplayName : %s"), *Result.PlayerProfile->DisplayName);
      }),
    PlayFab::FPlayFabErrorDelegate::CreateLambda([=]
      (const PlayFab::FPlayFabCppError& ErrorResult)
      {
        // Error
        UE_LOG(LogTemp, Log, TEXT("UPlayFabManager GetPlayerProfile is error"));
      })
    );
}
  • ログイン処理の後にGetPlayerProfile() を追加してビルド。起動してログイン後に以下のログが表示されれば成功!

疋島康成

3. プレイヤープロフィールの更新

  • 以下の処理を追加。
## PlayFabManager.h

void UpdateDisplayName();

## PlayFabManager.cpp

void UPlayFabManager::UpdateDisplayName()
{
  PlayFab::ClientModels::FUpdateUserTitleDisplayNameRequest Request;
  Request.DisplayName = TEXT("Hoge");
  clientAPI->UpdateUserTitleDisplayName(
    Request,
    PlayFab::UPlayFabClientAPI::FUpdateUserTitleDisplayNameDelegate::CreateLambda([=]
      (const PlayFab::ClientModels::FUpdateUserTitleDisplayNameResult Result)
      {
        // Success
        UE_LOG(LogTemp, Log, TEXT("UPlayFabManager UpdatePlayerDisplay DisplayName : %s"), *Result.DisplayName);
      }),
      PlayFab::FPlayFabErrorDelegate::CreateLambda([=]
        (const PlayFab::FPlayFabCppError& ErrorResult)
        {
          // Error
          UE_LOG(LogTemp, Log, TEXT("UPlayFabManager UpdateDisplayName is error"));
        })
      );
}

  • 上記処理をログイン後に呼んで、以下のログが表示されれば成功。

疋島康成

  • PlayFabのダッシュボードの概要にて表示名の更新を確認。

疋島康成

以上。次は他のデータの更新や取得もしてみる。

参考

Unreal Engine クイックスタート - PlayFab | Microsoft Docs

【UE4 × Playfab】データの書き込み/読み取りを行う - ひさめのあんりある日記

【PlayFab】プレイヤー名(DisplayName)を登録・更新【Unity】 | Makihiroのdevlog