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

Manage user accounts

Last updated on November 23, 2023

概要

ユーザーアカウントを使用して、ユーザーはプラットフォームにアクセスできます。これには、プレイヤーだけでなく、組織内の管理者ポータルにアクセスできるすべてのユーザーも含まれます。

ユーザーには管理者プレイヤーの 2 種類があります。管理者ユーザーとは、管理者ポータルへのアクセスを許可されているユーザーです。一方、プレイヤーができるのはゲームに直接アクセスすることだけです。管理者ポータルで管理者はプレイヤーアカウントを管理できます。

管理者としてログイン

管理者ポータルでアカウントを作成すると、自動的にゲーム管理者ロールが付与されます。このロールには、ゲームやプレイヤーに関連するすべてのことを管理できるように、サービス内に存在する特定のリソースへのアクセスを許可する権限が含まれています。ゲーム管理者ロールは変更できませんが、ユーザーアカウントの[Roles (ロール)]タブでロールに関する情報を表示できます。

account-management

管理者ポータルでアカウントを管理する

ユーザーの検索

1.管理者ポータルのゲームスタジオの名前空間で、[Users Management (ユーザー管理)]セクションを展開し、[Users (ユーザー)]をクリックします。

account-management

2.手元にあるユーザーのアカウント情報に対応する[Search User (ユーザーを検索)]パネルのドロップダウンメニューから検索フィルターを選択します。

account-management

テキストボックスにユーザーの認証情報を入力し、Enterを押して検索します。検索結果が表示されます。

account-management

注記

サードパーティのプラットフォーム認証情報を使用してプレイヤーを検索する場合、2 つの新しいドロップダウンメニューが表示されます。最初のドロップダウンメニューで、[Steam]や[Epic Games]など、プレイヤーが帰属するサードパーティ製プラットフォームを選択します。2 つ目のドロップダウンメニューで、利用可能な認証情報に応じて[Platform Display Name (プラットフォーム表示名)]または[Platform User ID (プラットフォームユーザー ID)]のいずれかを選択します。

管理者ユーザーの招待

ゲームの管理者ユーザーは、ゲーム内の同僚やコミュニティマネージャーを管理者ポータルにすぐに招待できます。下記の手順に従って、ユーザーを招待するためにメールアドレスを入力します。招待されたユーザーには、招待主と同じゲーム管理者ロールとゲームスタジオの名前空間が割り当てられます。

1.管理者ポータルで、[Users Management (ユーザー管理)]セクションを展開し、[Users (ユーザー)]を選択して、[Invite Admin (管理者を招待)]ボタンをクリックします。

account-management

2.[Invite Admin (管理者を招待)]ダイアログボックスが表示されます。招待したい人のメールアドレスを入力します。一度に複数の人を招待するには、EnterまたはTabを押すか、カンマを打ってメールアドレスを区切ります。

account-management

3.招待リンクを送信するには、[Invite (招待)]をクリックしてください。

4.招待されたユーザーは招待リンクを受け取ります。招待メールで、[Complete My Account (アカウント登録を完了)]をクリックして登録を完了してください。

備考

招待リンクは1週間後に期限切れになります。招待されたユーザーがその期間内に登録を完了しなかった場合は、新しい招待を送信する必要があります。

注記

ゲームスタジオにまだゲームタイトルがない場合、管理者ポータルの読み込みの前に、最初のユーザーはログインするとすぐにゲームタイトルを作成するよう求められます。

account-management

ユーザーのメールアドレスを変更する

以下の手順に従って、ユーザーのメールアドレスを変更できます(自身のメールアドレスを含む)。

1.管理者ポータルで[Users (ユーザー)]メニューを開き、検索バーに検索したいユーザーのメールアドレスまたは表示名を入力し、Enter を押して検索します。

ヒント

ユーザー検索では、あいまい検索が可能です。つまり、名前やメールアドレスの全体ではなく、プレイヤーの認証情報における最初の数文字を入力するだけで、探しているプレイヤーを見つけることができます。

2.検索結果が表示されます。探しているアカウントを見つけたら、アカウントリストの[Action (アクション)]列の[View (表示)]をクリックして開きます。

account-management

3.[User Overview (ユーザーの概要)]ウィンドウが表示され、ユーザーのアカウントデータを素早く確認できます。ユーザーのメールアドレスの下にある[Change (変更)]をクリックします。

account-management

4.ユーザーのメールアドレスを変更するには、まず本人確認を行う必要があります。表示される[Change User’s Email (ユーザーのメールアドレスを変更)]確認ボックスで、[Send Verification Code (認証コードを送信)]ボタンをクリックして、管理者ポータルのログインに使用したメールアドレスに認証コードを送信します。

account-management

5.[Change User’s Email (ユーザーのメールアドレスを変更)]確認ボックスが変化し、2 つのフィールドが表示されます。メールアドレスに届いた認証コードを[Verify your identity (本人確認)]フィールドに入力し、[Set new email address for the user (ユーザーの新しいメールアドレスを設定)]フィールドにユーザーの新しいメールアドレスを入力します。完了したら、[Confirm (確認)]をクリックします。

account-management

6.[User Overview (ユーザーの概要)]ページにリダイレクトされます。ユーザーは、古いメールアドレスで認証メッセージを受け取ります。ユーザーが更新を確認すると、メールアドレスが自動的に変更されます。

ユーザーのイベントログの表示

ユーザーイベントログには、ポータルにログインしたり、個人データをダウンロードしたりなど、ユーザーが行ったあらゆる変更やアクションの履歴が表示されます。

1.管理者ポータルで[Users (ユーザー)]メニューを開き、検索バーに検索したいユーザーのメールアドレスまたは表示名を入力し、Enter を押して検索します。

ヒント

ユーザー検索では、あいまい検索が可能です。つまり、名前やメールアドレスの全体ではなく、プレイヤーの認証情報における最初の数文字を入力するだけで、探しているプレイヤーを見つけることができます。

2.検索結果が表示されます。一覧からアカウントを見つけたら、アカウントリストの[Action (アクション)]列の[View (表示)]をクリックします。

account-management

3.[User Overview (ユーザーの概要)]ウィンドウが表示され、ユーザーのアカウントデータの概要を確認できます。[Logs (ログ)]タブを選択します。

4.[Logs (ログ)]タブには、ユーザーログのリスト、ユーザーログが属する名前空間、各ログが作成された時刻が表示されます。ログを作成時刻または名前空間で並べ替えて、特定のログを見つけやすくできます。

account-management

5.ログを開くには、そのログの[Action (アクション)]列で[View (表示)]をクリックします。

6.[Event Log Details (イベントログの詳細)]ウィンドウが表示されます。ここで、ログの内容を確認できます。

account-management

ユーザーの編集履歴の表示

アカウント履歴機能を使用すると、ユーザーがアカウントデータに加えた変更を確認できます。利用可能な情報には、ユーザーの[Display Name (表示名)]、[Email Address (メールアドレス)]、[Password (パスワード)]、[Date of Birth (生年月日)]に対して行われた変更などがあります。

1.管理者ポータルで[Users (ユーザー)]メニューを開き、検索バーに検索したいユーザーのメールアドレスまたは表示名を入力し、Enter を押して検索します。

ヒント

ユーザー検索では、あいまい検索が可能です。つまり、名前やメールアドレスの全体ではなく、プレイヤーの認証情報における最初の数文字を入力するだけで、探しているプレイヤーを見つけることができます。

2.検索結果が表示されます。一覧からアカウントを見つけたら、アカウントリストの[Action (アクション)]列の[View (表示)]をクリックします。

account-management

3.[User Overview (ユーザーの概要)]ウィンドウが表示され、ユーザーのアカウントデータの概要を確認できます。右側の[View account history (アカウント履歴を表示)]をクリックします。

account-management

4.履歴を取得する期間の[Start (開始日)]と[End Date (終了日)]を入力します。以下の例では、2020-07-272020-08-04 を入力して、その期間内にユーザーが[Display Name (表示名)]に加えた変更を確認しています。[Email Address (メールアドレス)]、[Password (パスワード)]、[Date of Birth (生年月日)]といった他のフィールドの編集履歴も表示できます。

account-management

SDK を使用したアカウントの実装

ゲーム内プレイヤー登録

この関数を使用すると、プレイヤーはゲーム内でアカウントに登録できます。

const FString OriginalEmail = TEXT("originalEmail@example.com");
const FString Username = TEXT("JohnDoe");
const FString Password = TEXT("password");
const FString DisplayName = TEXT("testName");
const FString Country = TEXT("US");
const FString DateOfBirth = TEXT("2000-12-20");
bool bUserAccountCreated = false;

FRegistry::User.Registerv2(OriginalEmail, Username, Password, DisplayName, Country, DateOfBirth,
THandler<FUserData>::CreateLambda([&bUserAccountCreated](const FUserData& Result)
{
UE_LOG(LogAccelByteUserTest, Display, TEXT("Success."));
bUserAccountCreated = true;
}),
FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
UE_LOG(LogAccelByteUserTest, Error, TEXT("Error. Code: %d, Reason: %s"), ErrorCode, *ErrorMessage)
}));
備考

入力したフィールドが次のルールに従っていることを確認してください。

[Username (ユーザー名)]:

  • 3 文字以上 48 文字以下。
  • 英数字、アンダースコア、ダッシュのみ使用できます。
  • スペースは使用できません。
  • 最初と最後が英数字である必要があります。

[Password (パスワード)]:

  • 8 文字以上 32 文字以下。
  • 大文字、小文字、数字、特殊文字の 4 種類の文字から少なくとも 3 種類を含んでいる必要があります。
  • 同じ文字を連続して使用できるのは 2 文字までです。

[Display name (表示名)]:

  • 8 文字以上 32 文字以下。
  • 大文字、小文字、スペース、特殊文字のみ使用できます。
  • 最初と最後が英数字である必要があります。

[Email address (メールアドレス)]:

  • 3 文字以上 256 文字以下。
  • 英数字、'@'、'.'、'_'、'-'、'+'、'&'、'*'のみ使用できます。
  • 最初と最後が英数字である必要があります。

プレイヤーが登録を検証する

この関数により、プレイヤーはアカウント登録を検証できます。これは、アカウントにログインする前に行う必要があります。

const FString VerificationCode = TEXT("verification-code-from-email");

FRegistry::User.Verify(VerificationCode, FVoidHandler::CreateLambda([&bVerifyUserSuccessful]()
{
UE_LOG(LogAccelByteUserTest, Display, TEXT("Success."));
}),
FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
UE_LOG(LogAccelByteUserTest, Error, TEXT("Error. Code: %d, Reason: %s"), ErrorCode, *ErrorMessage)
}));

プレイヤーがヘッドレスアカウントをアップグレードする

この関数は、ヘッドレスアカウントをメールアドレスとパスワードにリンクすることでヘッドレスアカウントをアップグレードします。

const FString OriginalEmail = TEXT("originalEmail@example.com");
const FString Password = TEXT("Password1");

FAccountUserData userData;
FRegistry::User.Upgrade(OriginalEmail, Password,
THandler<FAccountUserData>::CreateLambda([&](const FAccountUserData& Result)
{
userData = Result;
UE_LOG(LogAccelByteUserTest, Display, TEXT("Success."));
}),
FErrorHandler::CreateLambda([&](int32 ErrorCode, const FString& ErrorMessage)
{
UE_LOG(LogAccelByteUserTest, Error, TEXT("Error. Code: %d, Reason: %s"), ErrorCode, *ErrorMessage);
}));

//log out
FRegistry::User.ForgetAllCredentials();
### 二要素認証を有効にせずに、プレイヤーがユーザー名とパスワードを使用してログインする この関数を使用すると、プレイヤーは認証済みのアカウントを使用してゲームにログインできます。
const FString OriginalEmail = TEXT("originalEmail@example.com");
const FString Password = TEXT("Password1");
bool bUserLoggedIn = false;

FRegistry::User.LoginWithUsername(OriginalEmail, Password,
FVoidHandler::CreateLambda([&bUserLoggedIn]()
{
UE_LOG(LogAccelByteUserTest, Display, TEXT("Success."));
bUserLoggedIn = true;
}),
FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
UE_LOG(LogTemp, Error, TEXT("Error. Code: %d, Reason: %s"), ErrorCode, *ErrorMessage)
}));

現在サインインしているユーザーのアカウントデータの取得

ユーザーデータを取得すると、ログインしているプレイヤーのすべての個人データを取得できます。

bool bGetDataSuccessful = false;
FAccountUserData GetDataResult;
FRegistry::User.GetData(
THandler<FAccountUserData>::CreateLambda([&](const FAccountUserData& Result)
{
UE_LOG(LogAccelByteUserTest, Log, TEXT("Success"));
bGetDataSuccessful = true;
GetDataResult = Result;
}),
FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
UE_LOG(LogAccelByteUserTest, Fatal, TEXT("Error. Code: %d, Reason: %s"), ErrorCode, *ErrorMessage)
}));

ユーザーデータを一括で取得する

次の関数を使用して目的のプレイヤーのユーザー ID を送信することで、公開プレイヤーデータを取得できます。公開プレイヤーデータには、プレイヤーのアバターの[AvatarUrl (アバター URL)]、[DisplayName (表示名)]、[UserId (ユーザー ID)]が含まれます。

TArray<FString> UserIds = {"userId1", "userId2", "userId3"};
bool bBulkUserInfoSuccess = false;
FListBulkUserInfo BulkUserInfoResult;

FRegistry::User.BulkGetUserInfo(UserIds, THandler<FListBulkUserInfo>::CreateLambda([&bBulkUserInfoSuccess, &BulkUserInfoResult](const FListBulkUserInfo& Result)
{
/* do something when succeed */
BulkUserInfoResult = Result;
bBulkUserInfoSuccess = true;
}),FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
/* do something when failed */
UE_LOG(LogAccelByteUserTest, Error, TEXT("Error. Code: %d, Reason: %s"), ErrorCode, *ErrorMessage)
}));

関連するコンセプト

  • プレイヤーがサードパーティログインを使用できるようにする方法については、認証ドキュメントを参照してください。