GS2-Ranking2 SDK for Game Engine API リファレンス

モデル

EzGlobalRankingData

グローバルランキング

必須デフォルト値の制限説明
rankingNamestring~ 128文字ランキング名
seasonlong~ 9223372036854775805シーズン
userIdstring~ 128文字ユーザーID
indexint~ 2147483646ランキングインデックス
rankint~ 2147483646ランキング順位
scorelong~ 9223372036854775805スコア
metadatastring~ 512文字メタデータ
updatedAtlong現在時刻最終更新日時 (UNIX時間 単位:ミリ秒)

EzGlobalRankingModel

グローバルランキングモデル

グローバルランキングは全てのプレイヤーを対象としたランキングを実現するためのモデルです。
上位1000位までのランキングを表示することができます。

GS2-Schedule の繰り返しイベントと関連づけると、繰り返し回数に応じてランキングをリセットすることができます。

必須デフォルト値の制限説明
globalRankingModelIdstring~ 1024文字グローバルランキングGRN
namestring~ 128文字ランキング名
metadatastring~ 1024文字メタデータ
rankingRewardsList<EzRankingReward>{entryPeriodEventId} != null~ 100 itemsランキング報酬リスト
entryPeriodEventIdstring~ 1024文字スコアの登録可能期間 GS2-Schedule イベントGRN
accessPeriodEventIdstring~ 1024文字ランキングデータへのアクセス可能期間 GS2-Schedule イベントGRN

EzGlobalRankingReceivedReward

グローバルランキング報酬受け取り履歴

必須デフォルト値の制限説明
rankingNamestring~ 128文字ランキング名
seasonlong~ 9223372036854775805シーズン
userIdstring~ 128文字ユーザーID
receivedAtlong現在時刻作成日時 (UNIX時間 単位:ミリ秒)

EzGlobalRankingScore

グローバルランキングスコア

必須デフォルト値の制限説明
rankingNamestring~ 128文字ランキング名
seasonlong~ 9223372036854775805シーズン
userIdstring~ 128文字ユーザーID
scorelong~ 9223372036854775805スコア
metadatastring~ 512文字メタデータ
updatedAtlong現在時刻最終更新日時 (UNIX時間 単位:ミリ秒)

EzClusterRankingData

クラスターランキング

必須デフォルト値の制限説明
rankingNamestring~ 128文字ランキング名
clusterNamestring~ 1024文字クラスター名
seasonlong~ 9223372036854775805シーズン
userIdstring~ 128文字ユーザーID
indexint~ 2147483646ランキングインデックス
rankint~ 2147483646ランキング順位
scorelong~ 9223372036854775805スコア
metadatastring~ 512文字メタデータ
updatedAtlong現在時刻最終更新日時 (UNIX時間 単位:ミリ秒)

EzClusterRankingModel

クラスターランキングモデル

クラスターランキングはギルドやギャザリング内のプレイヤーを対象としたランキングを実現するためのモデルです。
上位1000位までのランキングを表示することができます。

GS2-Schedule の繰り返しイベントと関連づけると、繰り返し回数に応じてランキングをリセットすることができます。

必須デフォルト値の制限説明
clusterRankingModelIdstring~ 1024文字クラスターランキングGRN
namestring~ 128文字ランキング名
metadatastring~ 1024文字メタデータ
clusterTypeenum {
    “Raw”,
    “Gs2Guild::Guild”,
    “Gs2Matchmaking::SeasonGathering”
}
~ 128文字クラスタータイプ
rankingRewardsList<EzRankingReward>{entryPeriodEventId} != null~ 100 itemsランキング報酬リスト
entryPeriodEventIdstring~ 1024文字スコアの登録可能期間 GS2-Schedule イベントGRN
accessPeriodEventIdstring~ 1024文字ランキングデータへのアクセス可能期間 GS2-Schedule イベントGRN

clusterType に指定する列挙型の定義

定義説明
Raw検証なし
Gs2Guild::GuildGS2-Guild ギルド
Gs2Matchmaking::SeasonGatheringGS2-Matchmaking シーズンギャザリング

EzClusterRankingReceivedReward

クラスターランキング報酬受け取り履歴

必須デフォルト値の制限説明
rankingNamestring~ 128文字ランキング名
clusterNamestring~ 1024文字クラスター名
seasonlong~ 9223372036854775805シーズン
userIdstring~ 128文字ユーザーID
receivedAtlong現在時刻作成日時 (UNIX時間 単位:ミリ秒)

EzClusterRankingScore

クラスターランキングスコア

必須デフォルト値の制限説明
rankingNamestring~ 128文字ランキング名
clusterNamestring~ 1024文字クラスター名
seasonlong~ 9223372036854775805シーズン
userIdstring~ 128文字ユーザーID
scorelong~ 9223372036854775805スコア
metadatastring~ 512文字メタデータ
updatedAtlong現在時刻最終更新日時 (UNIX時間 単位:ミリ秒)

EzSubscribeRankingData

購読ランキング

必須デフォルト値の制限説明
rankingNamestring~ 128文字ランキング名
seasonlong~ 9223372036854775805シーズン
userIdstring~ 128文字ユーザーID
indexint~ 2147483646ランキングインデックス
rankint~ 2147483646ランキング順位
scorelong~ 9223372036854775805スコア
metadatastring~ 512文字メタデータ
updatedAtlong現在時刻最終更新日時 (UNIX時間 単位:ミリ秒)

EzSubscribeRankingModel

購読ランキングモデル

購読した他プレイヤーのスコアを集計し、ランキングを作成するモデルです。

必須デフォルト値の制限説明
subscribeRankingModelIdstring~ 1024文字グローバルランキングGRN
namestring~ 128文字ランキング名
metadatastring~ 1024文字メタデータ
entryPeriodEventIdstring~ 1024文字スコアの登録可能期間 GS2-Schedule イベントGRN
accessPeriodEventIdstring~ 1024文字ランキングデータへのアクセス可能期間 GS2-Schedule イベントGRN

EzSubscribeRankingScore

購読ランキングスコア

必須デフォルト値の制限説明
rankingNamestring~ 128文字ランキング名
seasonlong~ 9223372036854775805シーズン
userIdstring~ 128文字ユーザーID
scorelong~ 9223372036854775805スコア
metadatastring~ 512文字メタデータ
updatedAtlong現在時刻最終更新日時 (UNIX時間 単位:ミリ秒)

EzRankingReward

ランキング報酬モデル

スコアの登録期間が設定されたランキングで、登録期間外で参照期間内の時に受け取れる報酬を設定します。
繰り返し設定が有効な場合、直近に期間を終えたランキングが報酬の受け取り対象となります。

必須デフォルト値の制限説明
thresholdRankint1 ~ 1001順位閾値
metadatastring~ 1024文字メタデータ
acquireActionsList<EzAcquireAction>[]~ 100 itemsランキング報酬リスト

EzAcquireAction

入手アクション

必須デフォルト値の制限説明
actionenum {
"Gs2AdReward:AcquirePointByUserId",
"Gs2Dictionary:AddEntriesByUserId",
"Gs2Enchant:ReDrawBalanceParameterStatusByUserId",
"Gs2Enchant:SetBalanceParameterStatusByUserId",
"Gs2Enchant:ReDrawRarityParameterStatusByUserId",
"Gs2Enchant:AddRarityParameterStatusByUserId",
"Gs2Enchant:SetRarityParameterStatusByUserId",
"Gs2Enhance:DirectEnhanceByUserId",
"Gs2Enhance:UnleashByUserId",
"Gs2Enhance:CreateProgressByUserId",
"Gs2Exchange:ExchangeByUserId",
"Gs2Exchange:IncrementalExchangeByUserId",
"Gs2Exchange:CreateAwaitByUserId",
"Gs2Exchange:AcquireForceByUserId",
"Gs2Exchange:SkipByUserId",
"Gs2Experience:AddExperienceByUserId",
"Gs2Experience:SetExperienceByUserId",
"Gs2Experience:AddRankCapByUserId",
"Gs2Experience:SetRankCapByUserId",
"Gs2Experience:MultiplyAcquireActionsByUserId",
"Gs2Formation:AddMoldCapacityByUserId",
"Gs2Formation:SetMoldCapacityByUserId",
"Gs2Formation:AcquireActionsToFormProperties",
"Gs2Formation:SetFormByUserId",
"Gs2Formation:AcquireActionsToPropertyFormProperties",
"Gs2Friend:UpdateProfileByUserId",
"Gs2Grade:AddGradeByUserId",
"Gs2Grade:ApplyRankCapByUserId",
"Gs2Grade:MultiplyAcquireActionsByUserId",
"Gs2Guild:IncreaseMaximumCurrentMaximumMemberCountByGuildName",
"Gs2Guild:SetMaximumCurrentMaximumMemberCountByGuildName",
"Gs2Idle:IncreaseMaximumIdleMinutesByUserId",
"Gs2Idle:SetMaximumIdleMinutesByUserId",
"Gs2Idle:ReceiveByUserId",
"Gs2Inbox:SendMessageByUserId",
"Gs2Inventory:AddCapacityByUserId",
"Gs2Inventory:SetCapacityByUserId",
"Gs2Inventory:AcquireItemSetByUserId",
"Gs2Inventory:AcquireItemSetWithGradeByUserId",
"Gs2Inventory:AddReferenceOfByUserId",
"Gs2Inventory:DeleteReferenceOfByUserId",
"Gs2Inventory:AcquireSimpleItemsByUserId",
"Gs2Inventory:SetSimpleItemsByUserId",
"Gs2Inventory:AcquireBigItemByUserId",
"Gs2Inventory:SetBigItemByUserId",
"Gs2JobQueue:PushByUserId",
"Gs2Limit:CountDownByUserId",
"Gs2Limit:DeleteCounterByUserId",
"Gs2LoginReward:DeleteReceiveStatusByUserId",
"Gs2LoginReward:UnmarkReceivedByUserId",
"Gs2Lottery:DrawByUserId",
"Gs2Lottery:ResetBoxByUserId",
"Gs2Mission:RevertReceiveByUserId",
"Gs2Mission:IncreaseCounterByUserId",
"Gs2Mission:SetCounterByUserId",
"Gs2Money:DepositByUserId",
"Gs2Money:RevertRecordReceipt",
"Gs2Money2:DepositByUserId",
"Gs2Quest:CreateProgressByUserId",
"Gs2Schedule:TriggerByUserId",
"Gs2Script:InvokeScript",
"Gs2SerialKey:RevertUseByUserId",
"Gs2SerialKey:IssueOnce",
"Gs2Showcase:DecrementPurchaseCountByUserId",
"Gs2Showcase:ForceReDrawByUserId",
"Gs2SkillTree:MarkReleaseByUserId",
"Gs2Stamina:RecoverStaminaByUserId",
"Gs2Stamina:RaiseMaxValueByUserId",
"Gs2Stamina:SetMaxValueByUserId",
"Gs2Stamina:SetRecoverIntervalByUserId",
"Gs2Stamina:SetRecoverValueByUserId",
"Gs2StateMachine:StartStateMachineByUserId",
}
~ 128文字入手アクションで実行するアクションの種類
requeststring~ 1048576文字リクエストのJSON

EzConfig

コンフィグ設定

トランザクションの変数に適用する設定値

必須デフォルト値の制限説明
keystring~ 64文字名前
valuestring~ 51200文字

EzSubscribeUser

購読情報

必須デフォルト値の制限説明
rankingNamestring~ 128文字ランキング名
userIdstring~ 128文字ユーザーID
targetUserIdstring~ 128文字購読対象ユーザID

EzVerifyActionResult

検証アクションの実行結果

必須デフォルト値の制限説明
actionenum {
}
~ 128文字検証アクションで実行するアクションの種類
verifyRequeststring~ 1048576文字リクエストのJSON
statusCodeint~ 999ステータスコード
verifyResultstring~ 1048576文字結果内容

action に指定する列挙型の定義

定義説明

EzConsumeActionResult

消費アクションの実行結果

必須デフォルト値の制限説明
actionenum {
}
~ 128文字消費アクションで実行するアクションの種類
consumeRequeststring~ 1048576文字リクエストのJSON
statusCodeint~ 999ステータスコード
consumeResultstring~ 1048576文字結果内容

action に指定する列挙型の定義

定義説明

EzAcquireActionResult

入手アクションの実行結果

必須デフォルト値の制限説明
actionenum {
}
~ 128文字入手アクションで実行するアクションの種類
acquireRequeststring~ 1048576文字リクエストのJSON
statusCodeint~ 999ステータスコード
acquireResultstring~ 1048576文字結果内容

action に指定する列挙型の定義

定義説明

EzTransactionResult

トランザクション実行結果

サーバーサイドでのトランザクションの自動実行機能を利用して実行されたトランザクションの実行結果

必須デフォルト値の制限説明
transactionIdstring36 ~ 36文字トランザクションID
verifyResultsList<EzVerifyActionResult>~ 10 items検証アクションの実行結果リスト
consumeResultsList<EzConsumeActionResult>~ 10 items消費アクションの実行結果リスト
acquireResultsList<EzAcquireActionResult>~ 100 items入手アクションの実行結果リスト

メソッド

getGlobalRankingRank

グローバルランキングを取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
seasonlong~ 9223372036854775805シーズン
accessTokenstring~ 128文字ユーザーID

Result

説明
itemEzGlobalRankingDataグローバルランキング

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).GlobalRankingModel(
        rankingName: "ranking-0001"
    ).GlobalRankingSeason(
        season: null
    ).GlobalRankingData(
        userId: "user-0001"
    );
    var result = await domain.GetGlobalRankingRankAsync(
    );
    var item = await result.ModelAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).GlobalRankingModel(
        rankingName: "ranking-0001"
    ).GlobalRankingSeason(
        season: null
    ).GlobalRankingData(
        userId: "user-0001"
    );
    var future = domain.GetGlobalRankingRankFuture(
    );
    yield return future;
    if (future.Error != null)
    {
        onError.Invoke(future.Error, null);
        yield break;
    }
    var future2 = future.Result.ModelFuture();
    yield return future2;
    if (future2.Error != null)
    {
        onError.Invoke(future2.Error, null);
        yield break;
    }
    var result = future2.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->GlobalRankingModel(
        "ranking-0001" // rankingName
    )->GlobalRankingSeason(
        nullptr // season
    )->GlobalRankingData(
        "user-0001" // userId
    );
    const auto Future = Domain->GetGlobalRankingRank(
    );
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }

    // obtain changed values / result values
    const auto Future2 = Future->GetTask().Result()->Model();
    Future2->StartSynchronousTask();
    if (Future2->GetTask().IsError())
    {
        return Future2->GetTask().Error();
    }
    const auto Result = Future2->GetTask().Result();

listGlobalRankings

グローバルランキングの一覧を取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
seasonlong~ 9223372036854775805シーズン
accessTokenstring~ 128文字ユーザーID
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<EzGlobalRankingData>グローバルランキングのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).GlobalRankingModel(
        rankingName: "ranking-0001"
    ).GlobalRankingSeason(
        season: null
    );
    var items = await domain.GlobalRankingsAsync(
    ).ToListAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).GlobalRankingModel(
        rankingName: "ranking-0001"
    ).GlobalRankingSeason(
        season: null
    );
    var it = domain.GlobalRankings(
    );
    List<EzGlobalRankingData> items = new List<EzGlobalRankingData>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->GlobalRankingModel(
        "ranking-0001" // rankingName
    )->GlobalRankingSeason(
        nullptr // season
    );
    const auto It = Domain->GlobalRankings(
    );
    TArray<Gs2::UE5::Ranking2::Model::FEzGlobalRankingDataPtr> Result;
    for (auto Item : *It)
    {
        if (Item.IsError())
        {
            return false;
        }
        Result.Add(Item.Current());
    }

getGlobalRankingModel

グローバルランキングモデルを取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名

Result

説明
itemEzGlobalRankingModelグローバルランキングモデル

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).GlobalRankingModel(
        rankingName: "ranking-0001"
    );
    var item = await domain.ModelAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).GlobalRankingModel(
        rankingName: "ranking-0001"
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->GlobalRankingModel(
        "ranking-0001" // rankingName
    );
    const auto Future = Domain->Model();
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).GlobalRankingModel(
        rankingName: "ranking-0001"
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.Subscribe(
        value => {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    domain.Unsubscribe(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).GlobalRankingModel(
        rankingName: "ranking-0001"
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->GlobalRankingModel(
        "ranking-0001" // rankingName
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->Subscribe(
        [](TSharedPtr<Gs2::Ranking2::Model::FGlobalRankingModel> value) {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    Domain->Unsubscribe(CallbackId);

listGlobalRankingModels

グローバルランキングモデルの一覧を取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名

Result

説明
itemsList<EzGlobalRankingModel>グローバルランキングモデルのリスト

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: null
    );
    var items = await domain.GlobalRankingModelsAsync(
    ).ToListAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: null
    );
    var it = domain.GlobalRankingModels(
    );
    List<EzGlobalRankingModel> items = new List<EzGlobalRankingModel>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        nullptr // namespaceName
    );
    const auto It = Domain->GlobalRankingModels(
    );
    TArray<Gs2::UE5::Ranking2::Model::FEzGlobalRankingModelPtr> Result;
    for (auto Item : *It)
    {
        if (Item.IsError())
        {
            return false;
        }
        Result.Add(Item.Current());
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: null
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.SubscribeGlobalRankingModels(
        () => {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    domain.UnsubscribeGlobalRankingModels(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: null
    );
    var it = domain.GlobalRankingModels(
    );
    List<EzGlobalRankingModel> items = new List<EzGlobalRankingModel>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        nullptr // namespaceName
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->SubscribeGlobalRankingModels(
        []() {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    Domain->UnsubscribeGlobalRankingModels(CallbackId);

getGlobalRankingReceivedReward

グローバルランキングの報酬受け取り状況を取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
seasonlong~ 9223372036854775805シーズン
accessTokenstring~ 128文字ユーザーID

Result

説明
itemEzGlobalRankingReceivedRewardグローバルランキング報酬受け取り履歴

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).GlobalRankingReceivedReward(
        rankingName: "ranking-0001",
        season: 0
    );
    var item = await domain.ModelAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).GlobalRankingReceivedReward(
        rankingName: "ranking-0001",
        season: 0
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->GlobalRankingReceivedReward(
        "ranking-0001", // rankingName
        0 // season
    );
    const auto Future = Domain->Model();
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).GlobalRankingReceivedReward(
        rankingName: "ranking-0001",
        season: 0
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.Subscribe(
        value => {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    domain.Unsubscribe(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).GlobalRankingReceivedReward(
        rankingName: "ranking-0001",
        season: 0
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->GlobalRankingReceivedReward(
        "ranking-0001", // rankingName
        0 // season
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->Subscribe(
        [](TSharedPtr<Gs2::Ranking2::Model::FGlobalRankingReceivedReward> value) {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    Domain->Unsubscribe(CallbackId);

listGlobalRankingReceivedRewards

グローバルランキングの報酬受け取り状況一覧を取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
seasonlong~ 9223372036854775805シーズン
accessTokenstring~ 128文字ユーザーID
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<EzGlobalRankingReceivedReward>グローバルランキング報酬受け取り履歴のリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var items = await domain.GlobalRankingReceivedRewardsAsync(
        rankingName: "ranking-0001",
        season: 0L
    ).ToListAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var it = domain.GlobalRankingReceivedRewards(
        rankingName: "ranking-0001",
        season: 0L
    );
    List<EzGlobalRankingReceivedReward> items = new List<EzGlobalRankingReceivedReward>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    );
    const auto It = Domain->GlobalRankingReceivedRewards(
        "ranking-0001", // rankingName
        0L // season
    );
    TArray<Gs2::UE5::Ranking2::Model::FEzGlobalRankingReceivedRewardPtr> Result;
    for (auto Item : *It)
    {
        if (Item.IsError())
        {
            return false;
        }
        Result.Add(Item.Current());
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.SubscribeGlobalRankingReceivedRewards(
        () => {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    domain.UnsubscribeGlobalRankingReceivedRewards(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var it = domain.GlobalRankingReceivedRewards(
        rankingName: "ranking-0001",
        season: 0L
    );
    List<EzGlobalRankingReceivedReward> items = new List<EzGlobalRankingReceivedReward>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->SubscribeGlobalRankingReceivedRewards(
        []() {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    Domain->UnsubscribeGlobalRankingReceivedRewards(CallbackId);

getGlobalRankingScore

グローバルランキングスコアを取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
seasonlong~ 9223372036854775805シーズン
accessTokenstring~ 128文字ユーザーID

Result

説明
itemEzGlobalRankingScoreグローバルランキングスコア

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).GlobalRankingScore(
        rankingName: "ranking-0001",
        season: 0
    );
    var item = await domain.ModelAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).GlobalRankingScore(
        rankingName: "ranking-0001",
        season: 0
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->GlobalRankingScore(
        "ranking-0001", // rankingName
        0 // season
    );
    const auto Future = Domain->Model();
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).GlobalRankingScore(
        rankingName: "ranking-0001",
        season: 0
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.Subscribe(
        value => {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    domain.Unsubscribe(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).GlobalRankingScore(
        rankingName: "ranking-0001",
        season: 0
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->GlobalRankingScore(
        "ranking-0001", // rankingName
        0 // season
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->Subscribe(
        [](TSharedPtr<Gs2::Ranking2::Model::FGlobalRankingScore> value) {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    Domain->Unsubscribe(CallbackId);

listGlobalRankingScores

グローバルランキングスコアの一覧を取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
accessTokenstring~ 128文字ユーザーID
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<EzGlobalRankingScore>グローバルランキングスコアのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var items = await domain.GlobalRankingScoresAsync(
        rankingName: "ranking-0001"
    ).ToListAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var it = domain.GlobalRankingScores(
        rankingName: "ranking-0001"
    );
    List<EzGlobalRankingScore> items = new List<EzGlobalRankingScore>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    );
    const auto It = Domain->GlobalRankingScores(
        "ranking-0001" // rankingName
    );
    TArray<Gs2::UE5::Ranking2::Model::FEzGlobalRankingScorePtr> Result;
    for (auto Item : *It)
    {
        if (Item.IsError())
        {
            return false;
        }
        Result.Add(Item.Current());
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.SubscribeGlobalRankingScores(
        () => {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    domain.UnsubscribeGlobalRankingScores(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var it = domain.GlobalRankingScores(
        rankingName: "ranking-0001"
    );
    List<EzGlobalRankingScore> items = new List<EzGlobalRankingScore>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->SubscribeGlobalRankingScores(
        []() {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    Domain->UnsubscribeGlobalRankingScores(CallbackId);

putGlobalRanking

グローバルランキングスコアを登録

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
accessTokenstring~ 128文字ユーザーID
scorelong~ 9223372036854775805スコア
metadatastring~ 512文字メタデータ

Result

説明
itemEzGlobalRankingScore登録したグローバルランキングスコア

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var result = await domain.PutGlobalRankingAsync(
        rankingName: "ranking-0001",
        score: 100L,
        metadata: null
    );
    var item = await result.ModelAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var future = domain.PutGlobalRankingFuture(
        rankingName: "ranking-0001",
        score: 100L,
        metadata: null
    );
    yield return future;
    if (future.Error != null)
    {
        onError.Invoke(future.Error, null);
        yield break;
    }
    var future2 = future.Result.ModelFuture();
    yield return future2;
    if (future2.Error != null)
    {
        onError.Invoke(future2.Error, null);
        yield break;
    }
    var result = future2.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    );
    const auto Future = Domain->PutGlobalRanking(
        "ranking-0001", // rankingName
        100L // score
        // metadata
    );
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }

    // obtain changed values / result values
    const auto Future2 = Future->GetTask().Result()->Model();
    Future2->StartSynchronousTask();
    if (Future2->GetTask().IsError())
    {
        return Future2->GetTask().Error();
    }
    const auto Result = Future2->GetTask().Result();

getClusterRankingRank

クラスターランキングを取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
clusterNamestring~ 1024文字クラスター名
seasonlong~ 9223372036854775805シーズン
accessTokenstring~ 128文字ユーザーID

Result

説明
itemEzClusterRankingDataクラスターランキング

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).ClusterRankingModel(
        rankingName: "ranking-0001"
    ).ClusterRankingSeason(
        clusterName: "cluster-0001",
        season: null
    ).ClusterRankingData(
        userId: "user-0001"
    );
    var result = await domain.GetClusterRankingRankAsync(
    );
    var item = await result.ModelAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).ClusterRankingModel(
        rankingName: "ranking-0001"
    ).ClusterRankingSeason(
        clusterName: "cluster-0001",
        season: null
    ).ClusterRankingData(
        userId: "user-0001"
    );
    var future = domain.GetClusterRankingRankFuture(
    );
    yield return future;
    if (future.Error != null)
    {
        onError.Invoke(future.Error, null);
        yield break;
    }
    var future2 = future.Result.ModelFuture();
    yield return future2;
    if (future2.Error != null)
    {
        onError.Invoke(future2.Error, null);
        yield break;
    }
    var result = future2.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->ClusterRankingModel(
        "ranking-0001" // rankingName
    )->ClusterRankingSeason(
        "cluster-0001", // clusterName
        nullptr // season
    )->ClusterRankingData(
        "user-0001" // userId
    );
    const auto Future = Domain->GetClusterRankingRank(
    );
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }

    // obtain changed values / result values
    const auto Future2 = Future->GetTask().Result()->Model();
    Future2->StartSynchronousTask();
    if (Future2->GetTask().IsError())
    {
        return Future2->GetTask().Error();
    }
    const auto Result = Future2->GetTask().Result();

listClusterRankings

クラスターランキングの一覧を取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
clusterNamestring~ 1024文字クラスター名
seasonlong~ 9223372036854775805シーズン
accessTokenstring~ 128文字ユーザーID
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<EzClusterRankingData>クラスターランキングのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).ClusterRankingModel(
        rankingName: "ranking-0001"
    ).ClusterRankingSeason(
        clusterName: "cluster-0001",
        season: null
    );
    var items = await domain.ClusterRankingsAsync(
    ).ToListAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).ClusterRankingModel(
        rankingName: "ranking-0001"
    ).ClusterRankingSeason(
        clusterName: "cluster-0001",
        season: null
    );
    var it = domain.ClusterRankings(
    );
    List<EzClusterRankingData> items = new List<EzClusterRankingData>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->ClusterRankingModel(
        "ranking-0001" // rankingName
    )->ClusterRankingSeason(
        "cluster-0001", // clusterName
        nullptr // season
    );
    const auto It = Domain->ClusterRankings(
    );
    TArray<Gs2::UE5::Ranking2::Model::FEzClusterRankingDataPtr> Result;
    for (auto Item : *It)
    {
        if (Item.IsError())
        {
            return false;
        }
        Result.Add(Item.Current());
    }

getClusterRankingModel

クラスターランキングモデルを取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名

Result

説明
itemEzClusterRankingModelクラスターランキングモデル

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).ClusterRankingModel(
        rankingName: "ranking-0001"
    );
    var item = await domain.ModelAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).ClusterRankingModel(
        rankingName: "ranking-0001"
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->ClusterRankingModel(
        "ranking-0001" // rankingName
    );
    const auto Future = Domain->Model();
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).ClusterRankingModel(
        rankingName: "ranking-0001"
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.Subscribe(
        value => {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    domain.Unsubscribe(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).ClusterRankingModel(
        rankingName: "ranking-0001"
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->ClusterRankingModel(
        "ranking-0001" // rankingName
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->Subscribe(
        [](TSharedPtr<Gs2::Ranking2::Model::FClusterRankingModel> value) {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    Domain->Unsubscribe(CallbackId);

listClusterRankingModels

クラスターランキングモデルの一覧を取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名

Result

説明
itemsList<EzClusterRankingModel>クラスターランキングモデルのリスト

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: null
    );
    var items = await domain.ClusterRankingModelsAsync(
    ).ToListAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: null
    );
    var it = domain.ClusterRankingModels(
    );
    List<EzClusterRankingModel> items = new List<EzClusterRankingModel>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        nullptr // namespaceName
    );
    const auto It = Domain->ClusterRankingModels(
    );
    TArray<Gs2::UE5::Ranking2::Model::FEzClusterRankingModelPtr> Result;
    for (auto Item : *It)
    {
        if (Item.IsError())
        {
            return false;
        }
        Result.Add(Item.Current());
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: null
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.SubscribeClusterRankingModels(
        () => {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    domain.UnsubscribeClusterRankingModels(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: null
    );
    var it = domain.ClusterRankingModels(
    );
    List<EzClusterRankingModel> items = new List<EzClusterRankingModel>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        nullptr // namespaceName
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->SubscribeClusterRankingModels(
        []() {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    Domain->UnsubscribeClusterRankingModels(CallbackId);

getClusterRankingReceivedReward

クラスターランキングの報酬受け取り状況を取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
clusterNamestring~ 1024文字クラスター名
seasonlong~ 9223372036854775805シーズン
accessTokenstring~ 128文字ユーザーID

Result

説明
itemEzClusterRankingReceivedRewardクラスターランキング報酬受け取り履歴

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).ClusterRankingReceivedReward(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        season: 0
    );
    var item = await domain.ModelAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).ClusterRankingReceivedReward(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        season: 0
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->ClusterRankingReceivedReward(
        "ranking-0001", // rankingName
        "cluster-0001", // clusterName
        0 // season
    );
    const auto Future = Domain->Model();
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).ClusterRankingReceivedReward(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        season: 0
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.Subscribe(
        value => {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    domain.Unsubscribe(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).ClusterRankingReceivedReward(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        season: 0
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->ClusterRankingReceivedReward(
        "ranking-0001", // rankingName
        "cluster-0001", // clusterName
        0 // season
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->Subscribe(
        [](TSharedPtr<Gs2::Ranking2::Model::FClusterRankingReceivedReward> value) {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    Domain->Unsubscribe(CallbackId);

listClusterRankingReceivedRewards

クラスターランキングの報酬受け取り状況一覧を取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
clusterNamestring~ 1024文字クラスター名
seasonlong~ 9223372036854775805シーズン
accessTokenstring~ 128文字ユーザーID
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<EzClusterRankingReceivedReward>クラスターランキング報酬受け取り履歴のリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var items = await domain.ClusterRankingReceivedRewardsAsync(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        season: 0L
    ).ToListAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var it = domain.ClusterRankingReceivedRewards(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        season: 0L
    );
    List<EzClusterRankingReceivedReward> items = new List<EzClusterRankingReceivedReward>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    );
    const auto It = Domain->ClusterRankingReceivedRewards(
        "ranking-0001", // rankingName
        "cluster-0001", // clusterName
        0L // season
    );
    TArray<Gs2::UE5::Ranking2::Model::FEzClusterRankingReceivedRewardPtr> Result;
    for (auto Item : *It)
    {
        if (Item.IsError())
        {
            return false;
        }
        Result.Add(Item.Current());
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.SubscribeClusterRankingReceivedRewards(
        () => {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    domain.UnsubscribeClusterRankingReceivedRewards(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var it = domain.ClusterRankingReceivedRewards(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        season: 0L
    );
    List<EzClusterRankingReceivedReward> items = new List<EzClusterRankingReceivedReward>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->SubscribeClusterRankingReceivedRewards(
        []() {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    Domain->UnsubscribeClusterRankingReceivedRewards(CallbackId);

getClusterRankingScore

クラスターランキングスコアを取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
clusterNamestring~ 1024文字クラスター名
seasonlong~ 9223372036854775805シーズン
accessTokenstring~ 128文字ユーザーID

Result

説明
itemEzClusterRankingScoreクラスターランキングスコア

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).ClusterRankingScore(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        season: 0
    );
    var item = await domain.ModelAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).ClusterRankingScore(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        season: 0
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->ClusterRankingScore(
        "ranking-0001", // rankingName
        "cluster-0001", // clusterName
        0 // season
    );
    const auto Future = Domain->Model();
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).ClusterRankingScore(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        season: 0
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.Subscribe(
        value => {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    domain.Unsubscribe(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).ClusterRankingScore(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        season: 0
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->ClusterRankingScore(
        "ranking-0001", // rankingName
        "cluster-0001", // clusterName
        0 // season
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->Subscribe(
        [](TSharedPtr<Gs2::Ranking2::Model::FClusterRankingScore> value) {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    Domain->Unsubscribe(CallbackId);

listClusterRankingScores

クラスターランキングスコアの一覧を取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
clusterNamestring~ 1024文字クラスター名
seasonlong~ 9223372036854775805シーズン
accessTokenstring~ 128文字ユーザーID
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<EzClusterRankingScore>クラスターランキングスコアのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var items = await domain.ClusterRankingScoresAsync(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        season: 0L
    ).ToListAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var it = domain.ClusterRankingScores(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        season: 0L
    );
    List<EzClusterRankingScore> items = new List<EzClusterRankingScore>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    );
    const auto It = Domain->ClusterRankingScores(
        "ranking-0001", // rankingName
        "cluster-0001", // clusterName
        0L // season
    );
    TArray<Gs2::UE5::Ranking2::Model::FEzClusterRankingScorePtr> Result;
    for (auto Item : *It)
    {
        if (Item.IsError())
        {
            return false;
        }
        Result.Add(Item.Current());
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.SubscribeClusterRankingScores(
        () => {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    domain.UnsubscribeClusterRankingScores(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var it = domain.ClusterRankingScores(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        season: 0L
    );
    List<EzClusterRankingScore> items = new List<EzClusterRankingScore>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->SubscribeClusterRankingScores(
        []() {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    Domain->UnsubscribeClusterRankingScores(CallbackId);

putClusterRanking

クラスターランキングスコアを登録

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
clusterNamestring~ 1024文字クラスター名
accessTokenstring~ 128文字ユーザーID
scorelong~ 9223372036854775805スコア
metadatastring~ 512文字メタデータ

Result

説明
itemEzClusterRankingScore登録したクラスターランキングスコア

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var result = await domain.PutClusterRankingAsync(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        score: 100L,
        metadata: null
    );
    var item = await result.ModelAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var future = domain.PutClusterRankingFuture(
        rankingName: "ranking-0001",
        clusterName: "cluster-0001",
        score: 100L,
        metadata: null
    );
    yield return future;
    if (future.Error != null)
    {
        onError.Invoke(future.Error, null);
        yield break;
    }
    var future2 = future.Result.ModelFuture();
    yield return future2;
    if (future2.Error != null)
    {
        onError.Invoke(future2.Error, null);
        yield break;
    }
    var result = future2.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    );
    const auto Future = Domain->PutClusterRanking(
        "ranking-0001", // rankingName
        "cluster-0001", // clusterName
        100L // score
        // metadata
    );
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }

    // obtain changed values / result values
    const auto Future2 = Future->GetTask().Result()->Model();
    Future2->StartSynchronousTask();
    if (Future2->GetTask().IsError())
    {
        return Future2->GetTask().Error();
    }
    const auto Result = Future2->GetTask().Result();

getSubscribe

購読ユーザーを取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
accessTokenstring~ 128文字ユーザーID
targetUserIdstring~ 128文字購読対象のユーザーID

Result

説明
itemEzSubscribeUser購読対象のユーザーID

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).Subscribe(
        rankingName: "ranking-0001"
    ).SubscribeUser(
        targetUserId: "user-0002"
    );
    var result = await domain.GetSubscribeAsync(
    );
    var item = await result.ModelAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).Subscribe(
        rankingName: "ranking-0001"
    ).SubscribeUser(
        targetUserId: "user-0002"
    );
    var future = domain.GetSubscribeFuture(
    );
    yield return future;
    if (future.Error != null)
    {
        onError.Invoke(future.Error, null);
        yield break;
    }
    var future2 = future.Result.ModelFuture();
    yield return future2;
    if (future2.Error != null)
    {
        onError.Invoke(future2.Error, null);
        yield break;
    }
    var result = future2.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->Subscribe(
        "ranking-0001" // rankingName
    )->SubscribeUser(
        "user-0002" // targetUserId
    );
    const auto Future = Domain->GetSubscribe(
    );
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }

    // obtain changed values / result values
    const auto Future2 = Future->GetTask().Result()->Model();
    Future2->StartSynchronousTask();
    if (Future2->GetTask().IsError())
    {
        return Future2->GetTask().Error();
    }
    const auto Result = Future2->GetTask().Result();

listSubscribes

購読ユーザーの一覧を取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
accessTokenstring~ 128文字ユーザーID
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<EzSubscribeUser>購読対象のユーザーIDのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var items = await domain.SubscribesAsync(
        rankingName: "ranking-0001"
    ).ToListAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var it = domain.Subscribes(
        rankingName: "ranking-0001"
    );
    List<EzSubscribeUser> items = new List<EzSubscribeUser>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    );
    const auto It = Domain->Subscribes(
        "ranking-0001" // rankingName
    );
    TArray<Gs2::UE5::Ranking2::Model::FEzSubscribeUserPtr> Result;
    for (auto Item : *It)
    {
        if (Item.IsError())
        {
            return false;
        }
        Result.Add(Item.Current());
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.SubscribeSubscribes(
        () => {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    domain.UnsubscribeSubscribes(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    );
    var it = domain.Subscribes(
        rankingName: "ranking-0001"
    );
    List<EzSubscribeUser> items = new List<EzSubscribeUser>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->SubscribeSubscribes(
        []() {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    Domain->UnsubscribeSubscribes(CallbackId);

getSubscribeRankingRank

購読ランキングを取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
seasonlong~ 9223372036854775805シーズン
accessTokenstring~ 128文字ユーザーID

Result

説明
itemEzSubscribeRankingData購読ランキング

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).SubscribeRankingSeason(
        rankingName: "ranking-0001",
        season: null
    ).SubscribeRankingData(
        scorerUserId: null
    );
    var result = await domain.GetSubscribeRankingRankAsync(
    );
    var item = await result.ModelAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).SubscribeRankingSeason(
        rankingName: "ranking-0001",
        season: null
    ).SubscribeRankingData(
        scorerUserId: null
    );
    var future = domain.GetSubscribeRankingRankFuture(
    );
    yield return future;
    if (future.Error != null)
    {
        onError.Invoke(future.Error, null);
        yield break;
    }
    var future2 = future.Result.ModelFuture();
    yield return future2;
    if (future2.Error != null)
    {
        onError.Invoke(future2.Error, null);
        yield break;
    }
    var result = future2.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->SubscribeRankingSeason(
        "ranking-0001", // rankingName
        nullptr // season
    )->SubscribeRankingData(
        nullptr // scorerUserId
    );
    const auto Future = Domain->GetSubscribeRankingRank(
    );
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }

    // obtain changed values / result values
    const auto Future2 = Future->GetTask().Result()->Model();
    Future2->StartSynchronousTask();
    if (Future2->GetTask().IsError())
    {
        return Future2->GetTask().Error();
    }
    const auto Result = Future2->GetTask().Result();

listSubscribeRankings

購読ランキングの一覧を取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
seasonlong~ 9223372036854775805シーズン
accessTokenstring~ 128文字ユーザーID
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<EzSubscribeRankingData>購読ランキングのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).SubscribeRankingSeason(
        rankingName: "ranking-0001",
        season: null
    );
    var items = await domain.SubscribeRankingsAsync(
    ).ToListAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).SubscribeRankingSeason(
        rankingName: "ranking-0001",
        season: null
    );
    var it = domain.SubscribeRankings(
    );
    List<EzSubscribeRankingData> items = new List<EzSubscribeRankingData>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->SubscribeRankingSeason(
        "ranking-0001", // rankingName
        nullptr // season
    );
    const auto It = Domain->SubscribeRankings(
    );
    TArray<Gs2::UE5::Ranking2::Model::FEzSubscribeRankingDataPtr> Result;
    for (auto Item : *It)
    {
        if (Item.IsError())
        {
            return false;
        }
        Result.Add(Item.Current());
    }

getSubscribeRankingModel

購読ランキングモデルを取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名

Result

説明
itemEzSubscribeRankingModel購読ランキングモデル

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).SubscribeRankingModel(
        rankingName: "ranking-0001"
    );
    var item = await domain.ModelAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).SubscribeRankingModel(
        rankingName: "ranking-0001"
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->SubscribeRankingModel(
        "ranking-0001" // rankingName
    );
    const auto Future = Domain->Model();
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).SubscribeRankingModel(
        rankingName: "ranking-0001"
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.Subscribe(
        value => {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    domain.Unsubscribe(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).SubscribeRankingModel(
        rankingName: "ranking-0001"
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->SubscribeRankingModel(
        "ranking-0001" // rankingName
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->Subscribe(
        [](TSharedPtr<Gs2::Ranking2::Model::FSubscribeRankingModel> value) {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    Domain->Unsubscribe(CallbackId);

listSubscribeRankingModels

購読ランキングモデルの一覧を取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名

Result

説明
itemsList<EzSubscribeRankingModel>購読ランキングモデルのリスト

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: null
    );
    var items = await domain.SubscribeRankingModelsAsync(
    ).ToListAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: null
    );
    var it = domain.SubscribeRankingModels(
    );
    List<EzSubscribeRankingModel> items = new List<EzSubscribeRankingModel>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        nullptr // namespaceName
    );
    const auto It = Domain->SubscribeRankingModels(
    );
    TArray<Gs2::UE5::Ranking2::Model::FEzSubscribeRankingModelPtr> Result;
    for (auto Item : *It)
    {
        if (Item.IsError())
        {
            return false;
        }
        Result.Add(Item.Current());
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: null
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.SubscribeSubscribeRankingModels(
        () => {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    domain.UnsubscribeSubscribeRankingModels(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: null
    );
    var it = domain.SubscribeRankingModels(
    );
    List<EzSubscribeRankingModel> items = new List<EzSubscribeRankingModel>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        nullptr // namespaceName
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->SubscribeSubscribeRankingModels(
        []() {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    Domain->UnsubscribeSubscribeRankingModels(CallbackId);

getSubscribeRankingScore

購読ランキングスコアを取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
seasonlong~ 9223372036854775805シーズン
accessTokenstring~ 128文字ユーザーID

Result

説明
itemEzSubscribeRankingScore購読ランキングスコア

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).SubscribeRankingSeason(
        rankingName: "ranking-0001",
        season: 0
    ).SubscribeRankingScore(
    );
    var item = await domain.ModelAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).SubscribeRankingSeason(
        rankingName: "ranking-0001",
        season: 0
    ).SubscribeRankingScore(
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->SubscribeRankingSeason(
        "ranking-0001", // rankingName
        0 // season
    )->SubscribeRankingScore(
    );
    const auto Future = Domain->Model();
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).SubscribeRankingSeason(
        rankingName: "ranking-0001",
        season: 0
    ).SubscribeRankingScore(
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.Subscribe(
        value => {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    domain.Unsubscribe(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).SubscribeRankingSeason(
        rankingName: "ranking-0001",
        season: 0
    ).SubscribeRankingScore(
    );
    var future = domain.ModelFuture();
    yield return future;
    var item = future.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->SubscribeRankingSeason(
        "ranking-0001", // rankingName
        0 // season
    )->SubscribeRankingScore(
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->Subscribe(
        [](TSharedPtr<Gs2::Ranking2::Model::FSubscribeRankingScore> value) {
            // 値が変化した時に呼び出される
            // value には変更後の値が渡ってくる
        }
    );

    // イベントハンドリングを停止
    Domain->Unsubscribe(CallbackId);

listSubscribeRankingScores

購読ランキングスコアの一覧を取得

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
accessTokenstring~ 128文字ユーザーID
pageTokenstring~ 1024文字データの取得を開始する位置を指定するトークン
limitint301 ~ 1000データの取得件数

Result

説明
itemsList<EzSubscribeRankingScore>購読ランキングスコアのリスト
nextPageTokenstringリストの続きを取得するためのページトークン

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).SubscribeRankingSeason(
        rankingName: "ranking-0001",
        season: 0
    );
    var items = await domain.SubscribeRankingScoresAsync(
    ).ToListAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).SubscribeRankingSeason(
        rankingName: "ranking-0001",
        season: 0
    );
    var it = domain.SubscribeRankingScores(
    );
    List<EzSubscribeRankingScore> items = new List<EzSubscribeRankingScore>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->SubscribeRankingSeason(
        "ranking-0001", // rankingName
        0 // season
    );
    const auto It = Domain->SubscribeRankingScores(
    );
    TArray<Gs2::UE5::Ranking2::Model::FEzSubscribeRankingScorePtr> Result;
    for (auto Item : *It)
    {
        if (Item.IsError())
        {
            return false;
        }
        Result.Add(Item.Current());
    }
値の変更イベントハンドリング
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).SubscribeRankingSeason(
        rankingName: "ranking-0001",
        season: 0
    );
    
    // イベントハンドリングを開始
    var callbackId = domain.SubscribeSubscribeRankingScores(
        () => {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    domain.UnsubscribeSubscribeRankingScores(callbackId);
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).SubscribeRankingSeason(
        rankingName: "ranking-0001",
        season: 0
    );
    var it = domain.SubscribeRankingScores(
    );
    List<EzSubscribeRankingScore> items = new List<EzSubscribeRankingScore>();
    while (it.HasNext())
    {
        yield return it.Next();
        if (it.Error != null)
        {
            onError.Invoke(it.Error, null);
            break;
        }
        if (it.Current != null)
        {
            items.Add(it.Current);
        }
        else
        {
            break;
        }
    }
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->SubscribeRankingSeason(
        "ranking-0001", // rankingName
        0 // season
    );
    
    // イベントハンドリングを開始
    const auto CallbackId = Domain->SubscribeSubscribeRankingScores(
        []() {
            // リストの要素が変化した時に呼び出される
        }
    );

    // イベントハンドリングを停止
    Domain->UnsubscribeSubscribeRankingScores(CallbackId);

putSubscribeRanking

購読ランキングスコアを登録

Request

必須デフォルト値の制限説明
namespaceNamestring~ 128文字ネームスペース名
rankingNamestring~ 128文字ランキング名
accessTokenstring~ 128文字ユーザーID
scorelong~ 9223372036854775805スコア
metadatastring~ 512文字メタデータ

Result

説明
itemEzSubscribeRankingScore登録した購読ランキングスコア

実装例

    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).SubscribeRankingSeason(
        rankingName: "ranking-0001",
        season: 0
    );
    var result = await domain.PutSubscribeRankingAsync(
        score: 100L,
        metadata: null
    );
    var item = await result.ModelAsync();
    var domain = gs2.Ranking2.Namespace(
        namespaceName: "namespace-0001"
    ).Me(
        gameSession: GameSession
    ).SubscribeRankingSeason(
        rankingName: "ranking-0001",
        season: 0
    );
    var future = domain.PutSubscribeRankingFuture(
        score: 100L,
        metadata: null
    );
    yield return future;
    if (future.Error != null)
    {
        onError.Invoke(future.Error, null);
        yield break;
    }
    var future2 = future.Result.ModelFuture();
    yield return future2;
    if (future2.Error != null)
    {
        onError.Invoke(future2.Error, null);
        yield break;
    }
    var result = future2.Result;
    const auto Domain = Gs2->Ranking2->Namespace(
        "namespace-0001" // namespaceName
    )->Me(
        GameSession
    )->SubscribeRankingSeason(
        "ranking-0001", // rankingName
        0 // season
    );
    const auto Future = Domain->PutSubscribeRanking(
        100L // score
        // metadata
    );
    Future->StartSynchronousTask();
    if (Future->GetTask().IsError())
    {
        return false;
    }

    // obtain changed values / result values
    const auto Future2 = Future->GetTask().Result()->Model();
    Future2->StartSynchronousTask();
    if (Future2->GetTask().IsError())
    {
        return Future2->GetTask().Error();
    }
    const auto Result = Future2->GetTask().Result();