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

制限されたプレイヤーとゲームのデータを管理者レコードに保存する

Last updated on February 4, 2026

注釈:本資料はAI技術を用いて翻訳されています。

概要

この記事では、以下の方法について説明します:

  • AccelByte Gaming Services (AGS) Admin Portal で管理者レコードにアクセスする
  • 管理者レコードを作成、変更、取得、削除する

前提条件

以下へのアクセスが必要です:

Admin Portal で管理者レコードを管理する

Admin Records ページにアクセスする

  1. Admin Portal のサイドバーで、Progression & Inventory > Cloud Save > Admin Records に移動します。

  2. Admin Records ページで、表示したいレコードタイプに応じて、Game Records または Player Records タブを開きます。

    Admin Records Management

新しい管理者レコードを作成する

プレイヤーまたはゲームデータを保存するための新しい管理者レコードを作成するには、以下の手順に従ってください:

  1. Admin Portal のサイドバーで、Progression & Inventory > Cloud Save > Admin Records に移動します。

  2. Admin Records ページで、レコードタイプに応じて、Game Records または Player Records タブを開きます。次に、+ Add record ボタンをクリックします。

    • Admin Game Records: データは特定のユーザー ID に関連付けられず、ゲーム全体のデータを保存するために使用できますが、管理者とゲームサーバーのみがアクセスできます。
    • Admin Player Records: データは特定のユーザー ID に関連付けられ、特定のユーザーデータを保存するために使用できますが、管理者とゲームサーバーのみがアクセスできます。
  3. Add Record フォームで、必要な情報を入力します:

    • Game Records

      • Key: Game Record キーを追加します。これはレコードの識別子です。
      • JSON Configuration: JSON 形式で保存したいデータを追加します。

      Image shows the Add Record form

    • Player Records

      • User ID: レコードに関連付けられるユーザーのユーザー ID を追加します。
      • Key: Player Record キーを追加します。これはレコードの識別子です。
      • JSON Configuration: JSON 形式で保存したいデータを追加します。

      Image shows the Player Records form

  4. Add をクリックしてレコードを作成します。新しいレコードがリストに追加されます。

管理者レコードを変更する

AGS Admin Portal では、データの修正、監査などの手動アクションを実行したい場合に、管理者レコードを変更できます。

管理者レコードを変更するには、以下の手順に従ってください:

  1. Admin Portal のサイドバーで、Progression & Inventory > Cloud Save > Admin Records に移動します。

  2. Admin Records ページで、レコードタイプに応じて、Game Records または Player Records タブを開きます。

    • ゲームレコードの場合、リストから変更したいレコードを見つけるか、検索オプションを使用してゲームレコードキーでレコードを検索します。Action メニューの下にあるレコードの View ボタンをクリックして、詳細ページを開きます。

      Image shows the View button of a record

    • プレイヤーレコードの場合、プレイヤーのメールアドレスまたはユーザー名を使用してレコードを検索します。Action メニューの下にあるレコードの View ボタンをクリックして、詳細ページを開きます。

      Image shows the search box for player records

  3. レコードの詳細ページで、フィールドまたはセクションの鉛筆または編集アイコンをクリックして、コンテンツを更新します。

    Image shows the Edit button on the Record Detail page

  4. 変更を保存します。

管理者レコードを削除する

AGS Admin Portal では、必要に応じて管理者レコードを削除できます。

管理者レコードを削除するには、以下の手順に従ってください:

  1. Admin Portal のサイドバーで、Progression & Inventory > Cloud Save > Admin Records に移動します。

  2. Admin Records ページで、レコードタイプに応じて、Game Records または Player Records タブを開きます。

    • ゲームレコードの場合、リストから変更したいレコードを見つけるか、検索オプションを使用してゲームレコードキーでレコードを検索します。Action メニューの下にあるレコードの Delete ボタンをクリックします。確認メッセージが表示されます。

      Image shows the Delete button for records

    • プレイヤーレコードの場合、プレイヤーのメールアドレスまたはユーザー名を使用してレコードを検索します。Action メニューの下にあるレコードの Delete ボタンをクリックします。確認メッセージが表示されます。

      Image shows the Edit button on the Record Detail page

  3. 確認メッセージで Delete をクリックします。レコードはレコードリストから即座に削除されます。

    Image shows the Delete Record pop-up

Server SDK で管理者レコードを管理する

Server SDK を使用すると、以下のことができます:

  • プレイヤーまたはゲームデータを保存するための新しい管理者レコードを作成する
  • 管理者レコードを取得する
  • 管理者レコードを変更する
  • 管理者レコードを削除する

ゲームサーバー経由でプレイヤーまたはゲームデータを保存するための新しい管理者レコードを作成する

ゲームサーバーから何らかのアクションがトリガーされた後に動的に作成される管理者レコードを作成できます。この関数は、プレイヤーには制限されており、次のマッチでゲームサーバーが使用できる追加のマッチ情報を保存するために使用できます。

以下の方法で新しいレコードを作成してデータを保存できます:

管理者ゲームレコードを作成する

Unreal Engine
FServerApiClientPtr ServerApiClient = AccelByteOnlineSubsystemPtr->GetServerApiClient();

FString Key = "SomeCloudSaveKey";

FJsonObject DataJson;
const FString gameId = FGuid::NewGuid().ToString();
DataJson.SetStringField("gameId", gameId);
DataJson.SetStringField("region", TEXT("ID"));
DataJson.SetStringField("language", TEXT("en"));

TArray<FString> Tags = {TEXT("Tags1"), TEXT("Tags2"};

ServerApiClient->ServerCloudSave.CreateAdminGameRecord(Key
, DataJson
, THandler<FAccelByteModelsAdminGameRecord>::CreateLambda([](const FAccelByteModelsAdminGameRecord& Response)
{
// Do something if CreateAdminGameRecord succeeds
})
, FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
// Do something if CreateAdminGameRecord fails
})
, Tags);

一時的な管理者ゲームレコードを作成する

Unreal Engine
FServerApiClientPtr ServerApiClient = AccelByteOnlineSubsystemPtr->GetServerApiClient();

FString Key = "SomeCloudSaveKey";

FJsonObject DataJson;
const FString gameId = FGuid::NewGuid().ToString();
DataJson.SetStringField("gameId", gameId);
DataJson.SetStringField("region", TEXT("ID"));
DataJson.SetStringField("language", TEXT("en"));

TArray<FString> Tags = {TEXT("Tags1"), TEXT("Tags2"};

FTTLConfig TTLConfig{};
TTLConfig.Action = EAccelByteTTLConfigAction::DELETE_RECORD;
TTLConfig.Expires_At = FDateTime::UtcNow() + FTimespan(0, 0, 5); // Will delete this record in the next five seconds

ServerApiClient->ServerCloudSave.CreateAdminGameRecord(Key
, DataJson
, THandler<FAccelByteModelsAdminGameRecord>::CreateLambda([](const FAccelByteModelsAdminGameRecord& Response)
{
// Do something if CreateAdminGameRecord succeeds
})
, FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
// Do something if CreateAdminGameRecord fails
})
, Tags
, TTLConfig);

管理者プレイヤーレコードを作成する

Unreal Engine
FServerApiClientPtr ServerApiClient = AccelByteOnlineSubsystemPtr->GetServerApiClient();

FString UserId = "SomeUserId";
FString Key = "SomeCloudSaveKey";

FJsonObject DataJson;
const FString gameId = FGuid::NewGuid().ToString();
DataJson.SetStringField("gameId", gameId);
DataJson.SetStringField("region", TEXT("ID"));
DataJson.SetStringField("language", TEXT("en"));

ServerApiClient->ServerCloudSave.CreateAdminUserRecord(Key
, UserId
, DataJson
, THandler<FAccelByteModelsAdminUserRecord>::CreateLambda([](const FAccelByteModelsAdminUserRecord& Response)
{
// Do something if CreateAdminUserRecord succeeds
})
, FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
// Do something if CreateAdminUserRecord fails
}));

ゲームサーバーから管理者レコードを取得する

以下の方法でゲームサーバーから管理者レコードを取得できます:

キーで特定の管理者ゲームレコードを取得する

Unreal Engine
FServerApiClientPtr ServerApiClient = AccelByteOnlineSubsystemPtr->GetServerApiClient();

FString Key = "SomeCloudSaveKey";

ServerApiClient->ServerCloudSave.QueryAdminGameRecordsByKey(Key
, THandler<FAccelByteModelsAdminGameRecord>::CreateLambda([](const FAccelByteModelsAdminGameRecord& Response)
{
// Do something if QueryAdminGameRecordsByKey succeeds
})
, FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
// Do something if QueryAdminGameRecordsByKey fails
}));

キーで特定のユーザー ID の特定の管理者プレイヤーレコードを取得する

Unreal Engine
FServerApiClientPtr ServerApiClient = AccelByteOnlineSubsystemPtr->GetServerApiClient();

FString Key = "SomeCloudSaveKey";
FString UserId = "SomeUserId";

ServerApiClient->ServerCloudSave.QueryAdminUserRecordsByKey(Key
, UserId
, THandler<FAccelByteModelsAdminUserRecord>::CreateLambda([](const FAccelByteModelsAdminUserRecord& Response)
{
// Do something if QueryAdminUserRecordsByKey succeeds
})
, FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
// Do something if QueryAdminUserRecordsByKey fails
}));

ゲームサーバーから管理者レコードを変更する

ゲームサーバーから管理者レコード内のデータを変更または更新するには、以下の手順に従ってください:

管理者ゲームレコードを変更する

Unreal Engine
FServerApiClientPtr ServerApiClient = AccelByteOnlineSubsystemPtr->GetServerApiClient();

FString Key = "SomeCloudSaveKey";

FJsonObject DataJson;
const FString gameId = FGuid::NewGuid().ToString();
DataJson.SetStringField("gameId", gameId);
DataJson.SetStringField("region", TEXT("ES"));
DataJson.SetStringField("language", TEXT("es"));

ServerApiClient->ServerCloudSave.ReplaceAdminGameRecord(Key
, DataJson
, THandler<FAccelByteModelsAdminGameRecord>::CreateLambda([](const FAccelByteModelsAdminGameRecord& Response)
{
// Do something if ReplaceAdminGameRecord succeeds
})
, FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
// Do something if ReplaceAdminGameRecord fails
}));

管理者ゲームレコードを一時的なものに変更する

Unreal Engine
FServerApiClientPtr ServerApiClient = AccelByteOnlineSubsystemPtr->GetServerApiClient();

FString Key = "SomeCloudSaveKey";

FJsonObject DataJson;
const FString gameId = FGuid::NewGuid().ToString();
DataJson.SetStringField("gameId", gameId);
DataJson.SetStringField("region", TEXT("ES"));
DataJson.SetStringField("language", TEXT("es"));

FTTLConfig TTLConfig{};
TTLConfig.Action = EAccelByteTTLConfigAction::DELETE_RECORD;
TTLConfig.Expires_At = FDateTime::UtcNow() + FTimespan(0, 0, 5); // Will delete this record in the next five seconds

ServerApiClient->ServerCloudSave.ReplaceAdminGameRecord(Key
, DataJson
, THandler<FAccelByteModelsAdminGameRecord>::CreateLambda([](const FAccelByteModelsAdminGameRecord& Response)
{
// Do something if ReplaceAdminGameRecord succeeds
})
, FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
// Do something if ReplaceAdminGameRecord fails
})
, TTLConfig);

管理者プレイヤーレコードを変更する

Unreal Engine
FServerApiClientPtr ServerApiClient = AccelByteOnlineSubsystemPtr->GetServerApiClient();

FString Key = "SomeCloudSaveKey";
FString UserId = "SomeUserId";

FJsonObject DataJson;
const FString gameId = FGuid::NewGuid().ToString();
DataJson.SetStringField("gameId", gameId);
DataJson.SetStringField("region", TEXT("ES"));
DataJson.SetStringField("language", TEXT("es"));

ServerApiClient->ServerCloudSave.ReplaceAdminUserRecord(Key
, UserId
, DataJson
, THandler<FAccelByteModelsAdminUserRecord>::CreateLambda([](const FAccelByteModelsAdminUserRecord& Response)
{
// Do something if ReplaceAdminUserRecord succeeds
})
, FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
// Do something if ReplaceAdminUserRecord fails
}));

ゲームサーバーから管理者レコードを削除する

ゲームサーバーから管理者レコードを削除するには、以下の手順に従ってください:

管理者ゲームレコードを削除する

Unreal Engine
FServerApiClientPtr ServerApiClient = AccelByteOnlineSubsystemPtr->GetServerApiClient();

FString Key = "SomeCloudSaveKey";

ServerApiClient->ServerCloudSave.DeleteAdminGameRecord(Key
, FVoidHandler::CreateLambda([]()
{
// Do something if DeleteAdminGameRecord succeeds
})
, FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
// Do something if DeleteAdminGameRecord fails
}));

管理者プレイヤーレコードを削除する

Unreal Engine
FServerApiClientPtr ServerApiClient = AccelByteOnlineSubsystemPtr->GetServerApiClient();

FString Key = "SomeCloudSaveKey";
FString UserId = "SomeUserId";

ServerApiClient->ServerCloudSave.DeleteAdminUserRecord(Key
, UserId
, FVoidHandler::CreateLambda([]()
{
// Do something if DeleteAdminUserRecord succeeds
})
, FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
{
// Do something if DeleteAdminUserRecord fails
}));