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

ユーザー統計データに追加データを保存する

Last updated on February 4, 2026

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

はじめに

統計データ機能を使用すると、プレイヤー関連の統計情報の追加データを保存できます。追加データは、追跡されている統計データに関する詳細を含めるために利用できます。たとえば、統計値自体と併せて、武器名、車両名、ゲームモード、その他の関連する詳細などのプレイヤーに関する一般情報を追跡するために使用できます。

このセクションでは、統計の追加データを利用する方法、更新する方法、および他のサービスとの統合について学習します。

前提条件

  • AccelByte Gaming Services (AGS) 管理者ポータルへのアクセス
  • 以下の権限を含む AccelByte Unreal または Unity SDK:
    • クライアント ID
    • クライアントシークレット
  • AccelByte 統計データ API ドキュメントへのアクセス

統計の追加データ更新動作

ユーザー統計データの追加データは、2つの方法で更新できます:

  • Always: このオプションを選択すると、ゲームクライアントまたはサーバーがプレイヤー統計データを更新するたびに、すべての関連サイクルの追加データを常に置き換えます。このオプションは、表示名などのプレイヤーの一般情報を追跡するのに適しています。

    この例は、表示名が変更され(Alex から Bob へ)、特定のサイクル(日次)の更新があることを示しています。すべての追加データも更新されます。

    状態全期間週次日次
    更新前3012 - Alex2600 - Alex2441 - Alex
    更新後3012 - Bob2600 - Bob2461 - Bob
  • On Updated: このオプションを選択すると、値の変更が受け入れられた場合にのみ追加データを更新します。MIN/MAX 戦略でプレイヤー統計データを更新する場合、値が現在のユーザーのポイントよりも大きいまたは小さい場合にのみ追加データが更新されます。サポートされている更新戦略の詳細については、プレイヤーとゲームのグローバル統計データの追跡を参照してください。このオプションは、ポイントが達成されたときにプレイヤーの属性を追跡する場合に適しています。

    この例は、プレイヤーが武器を Slingshot から Bow に変更し、特定のリーダーボードサイクル(日次)の新記録を達成したことを示しています。

    状態全期間週次日次
    更新前100 - Gun100 - Gun40 - Slingshot
    更新後100 - Gun100 - Gun90 - Bow
注記

デフォルトでは、作成するすべての統計設定は Always update additional data オプションを使用します。このオプションは管理者ポータルで指定できます。

統計設定で追加データ更新動作を設定する

AGS 管理者ポータルで統計設定を作成および更新できます。

新しい統計設定を作成する

新しい統計設定を作成するときに追加データ更新戦略を指定するには、以下の手順に従います:

  1. AGS 管理者ポータルで、ゲームの名前空間に移動します。

  2. サイドバーで、Progression & Inventory > Statistics > Configuration に移動します。Statistic Configuration ページが表示されます。

  3. Add Configuration ボタンをクリックします。Add New Configuration フォームが表示されます。

    Image shows the Statistic Configuration page

  4. フォームの必須フィールドに入力します。このフォームのフィールドの詳細については、ユーザーおよびグローバル統計設定の作成を参照してください。

  5. フォームを下にスクロールして、Advanced Configuration セクションを展開します。

    Advance Configuration section in Add New Configuration modal.

  6. 設定に適した Always または On Updated を選択して、Additional Data Update Strategy を定義します。

  7. Add ボタンをクリックして、新しい統計設定を保存します。

既存の統計設定を更新する

既存の統計設定の追加データ更新戦略を変更するには、以下の手順に従います:

  1. AGS 管理者ポータルで、ゲームの名前空間に移動します。

  2. サイドバーで、Progression & Inventory > Statistics > Configuration に移動します。Statistic Configuration ページが表示されます。

  3. リストから、更新する統計設定を見つけます。次に、対応する View ボタンをクリックします。Configuration Details ページが表示されます。

    Navigate to statistic configuration in the Admin Portal.

  4. Additional Data Update Strategy フィールドの鉛筆ボタンをクリックします。

  5. ドロップダウンから、Always または On Updated を選択して、統計設定の追加データ更新戦略を更新します。設定が更新されます。

    Open Additional Data Update Strategy field in Configuration Details

追加データを使用してプレイヤー統計データを更新する

ゲームクライアントとゲームサーバーからプレイヤー統計データを更新できます。

ゲームクライアントから更新

この更新機能はゲームクライアントから直接呼び出すことができ、ゲームサーバーを利用しないシングルプレイヤーやピアツーピアマルチプレイヤーなどの非競争的なジャンルに適しています。

FApiClientPtr ApiClient = AccelByteOnlineSubsystemPtr->GetApiClient();

FString AdditionalKey = "";
TArray<TSharedPtr<FJsonValue>> JsonArray;
JsonArray.Add(MakeShareable(new FJsonValueString("sword")));

FJsonObjectWrapper AdditionalData;
AdditionalData.JsonObject = MakeShared<FJsonObject>();
AdditionalData.JsonObject->SetStringField("characterName", "hero");
AdditionalData.JsonObject->SetArrayField("weapons", JsonArray);

FAccelByteModelsUpdateUserStatItemWithStatCode UserStatItem1{};
UserStatItem1.StatCode = " Your 2nd stat code ";
UserStatItem1.UpdateStrategy = EAccelByteStatisticUpdateStrategy::INCREMENT;
UserStatItem1.Value = 50.0f;
UserStatItem1.AdditionalData = AdditionalData;

TArray<FAccelByteModelsUpdateUserStatItemWithStatCode> BulkUpdateUserStatItems = { UserStatItem1 };

ApiClient->Statistic.BulkUpdateUserStatItemsValue(AdditionalKey
, BulkUpdateUserStatItems
, THandler<TArray<FAccelByteModelsUpdateUserStatItemsResponse>>::CreateLambda([](TArray<FAccelByteModelsUpdateUserStatItemsResponse> Result)
{
// Do something if BulkUpdateUserStatItemsValue is successful
})
, FErrorHandler::CreateLambda([](int32 ErrorCode, FString ErrorMessage)
{
// Do something if BulkUpdateUserStatItemsValue has an error
}));

ゲームサーバーから更新

サーバー主導型の統計データは、マルチプレイヤー競技ゲーム、またはゲーム用に専用ゲームサーバーが実行されている場合に適しています。これは、以下のケースに適用できます:

  • マッチ終了時に、専用サーバーから ELO またはマッチメイキングレーティング(MMR)スコアを維持する
  • オンライン MMO キャラクターの統計データを追跡する

サーバー SDK 機能を使用するには、ゲームエンジンに適したコードを使用します。

FServerApiClientPtr ApiServer = AccelByteOnlineSubsystemPtr->GetServerApiClient();

FString AdditionalKey = "";
FString UserId = " Your User Id";

TArray<TSharedPtr<FJsonValue>> JsonArray;
JsonArray.Add(MakeShareable(new FJsonValueString("sword")));

FJsonObjectWrapper AdditionalData;
AdditionalData.JsonObject = MakeShared<FJsonObject>();
AdditionalData.JsonObject->SetStringField("characterName", "hero");
AdditionalData.JsonObject->SetArrayField("weapons", JsonArray);

FAccelByteModelsUpdateUserStatItemWithStatCode UserStatItem1{};
UserStatItem1.StatCode = " Your 2nd stat code ";
UserStatItem1.UpdateStrategy = EAccelByteStatisticUpdateStrategy::INCREMENT;
UserStatItem1.Value = 50.0f;
UserStatItem1.AdditionalData = AdditionalData;

TArray<FAccelByteModelsUpdateUserStatItemWithStatCode> BulkUpdateUserStatItems = { UserStatItem1 };

ApiServer->ServerStatistic.BulkUpdateUserStatItemValue(UserId
, AdditionalKey
, BulkUpdateUserStatItems
, THandler<TArray<FAccelByteModelsUpdateUserStatItemsResponse>>::CreateLambda([](TArray<FAccelByteModelsUpdateUserStatItemsResponse> Result)
{
// Do something if BulkUpdateUserStatItemValue is successful
})
, FErrorHandler::CreateLambda([](int32 ErrorCode, FString ErrorMessage)
{
// Do something if BulkUpdateUserStatItemValue has an error
}));