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

モデル

EzGlobalRankingData

グローバルランキング

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

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作成日時

EzGlobalRankingScore

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

必須デフォルト値の制限説明
rankingNamestring~ 128文字ランキング名
seasonlong~ 9223372036854775805シーズン
userIdstring~ 128文字ユーザーID
scorelong~ 9223372036854775805スコア
metadatastring~ 512文字メタデータ
updatedAtlong最終更新日時

EzClusterRankingData

クラスターランキング

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

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

EzClusterRankingReceivedReward

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

必須デフォルト値の制限説明
rankingNamestring~ 128文字ランキング名
clusterNamestring~ 1024文字クラスター名
seasonlong~ 9223372036854775805シーズン
userIdstring~ 128文字ユーザーID
receivedAtlong作成日時

EzClusterRankingScore

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

必須デフォルト値の制限説明
rankingNamestring~ 128文字ランキング名
clusterNamestring~ 1024文字クラスター名
seasonlong~ 9223372036854775805シーズン
userIdstring~ 128文字ユーザーID
scorelong~ 9223372036854775805スコア
metadatastring~ 512文字メタデータ
updatedAtlong最終更新日時

EzSubscribeRankingData

クラスターランキング

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

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最終更新日時

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:UnlockIncrementalExchangeByUserId",
"Gs2Exchange:CreateAwaitByUserId",
"Gs2Exchange:SkipByUserId",
"Gs2Experience:AddExperienceByUserId",
"Gs2Experience:SetExperienceByUserId",
"Gs2Experience:AddRankCapByUserId",
"Gs2Experience:SetRankCapByUserId",
"Gs2Experience:MultiplyAcquireActionsByUserId",
"Gs2Formation:AddMoldCapacityByUserId",
"Gs2Formation:SetMoldCapacityByUserId",
"Gs2Formation:AcquireActionsToFormProperties",
"Gs2Formation:SetFormByUserId",
"Gs2Formation:AcquireActionsToPropertyFormProperties",
"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",
"Gs2SerialKey:RevertUseByUserId",
"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

メソッド

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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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.Model();
    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();