NAV Navbar
Python Java GS2-Formation
 

GS2-Mission

ミッション機能を提供するサービスです。

ミッション機能は「n回 クエストをクリアする」「n体のキャラクターを入手する」のような条件を設定し、達成することで報酬が得られる仕組みです。 これを実現するために ”ミッションの条件設定” ”カウンターの購読” ”カウンターの上昇” という仕組みを使います。

ミッションの条件設定とは、ミッションが達成されたことになるカウンターの閾値を設定するものです。

カウンターの購読とは、ミッションの対象となるカウンターの設定です。 1つのカウンターは複数のミッションから購読することができ、ミッションごとに異なるリセットタイミングを設定できます。 たとえば、「クエストを通算1000回クリアした」というミッションと、「クエストを今日10回クリアした」というデイリーミッションを作りたい場合、 クエストをクリアするごとにカウントアップされる1つのカウンターを両方のミッションから購読し、前者には 'リセットなし' 、後者には '毎日' のリセットタイミングを設定することで、1回のカウンター操作で複数の条件のミッションを処理することができます。

カウンターの上昇 は文字通りカウンターを上昇させる操作で、例えばクエストをクリアしたときにクエストのクリア回数のカウンター上昇を報酬に含めて使用します。

ミッションには2つの期間を設定できます。 1つ目はカウンターを操作できる期間で、カウンターを上昇させるのをイベント開催期間に限定するようなケースで使用します。 2つ目はミッション達成報酬の受け取り可能期間で、イベントが終わった後もしばらくミッションの報酬だけは受け取れるようにしたい場合は2つの期間を別に設定して使用します。 期間の指定には GS2-Schedule のイベントを関連付けます。

GS2-Mission のデータ構造は以下です。

モデル

CurrentMissionMaster

現在有効なミッション

エクスポートしたマスターデータを、現在有効なミッションとしてインポートして使用します。

パラメータ データ型 必須 説明
namespaceId string true ネームスペース
settings string true マスターデータ

Counter

カウンター

リセットタイミングごとのカウンターの値を保持します。

パラメータ データ型 必須 説明
counterId string true カウンター
userId string false ユーザーID
name string false カウンター名
values list[ScopedValue] true
createdAt long true 作成日時
updatedAt long true 最終更新日時

ResponseCache

レスポンスキャッシュ

パラメータ データ型 必須 説明
region string false
ownerId string true オーナーID
responseCacheId string true レスポンスキャッシュ のGRN
requestHash string false
result string true APIの応答内容

Complete

達成状況

ミッションの達成状況

パラメータ データ型 必須 説明
completeId string true 達成状況
userId string false ユーザーID
missionGroupName string true ミッショングループ名
completedMissionTaskNames list[string] true 達成済みのタスク名リスト
receivedMissionTaskNames list[string] true 報酬の受け取り済みのタスク名リスト
createdAt long true 作成日時
updatedAt long true 最終更新日時

CounterModel

カウンターの種類

パラメータ データ型 必須 説明
counterId string true カウンターの種類
name string true カウンター名
metadata string false メタデータ
scopes list[CounterScopeModel] true カウンターのリセットタイミング
challengePeriodEventId string false カウントアップ可能な期間を指定するイベントマスター のGRN

GitHubCheckoutSetting

GitHubからリソースをチェックアウトしてくる設定

パラメータ データ型 必須 説明
apiKeyId string true リソースの取得に使用するGitHub のAPIキー のGRN
repositoryName string true リポジトリ名
sourcePath string true ソースコードのファイルパス
referenceType string true コードの取得元
commitHash string true コミットハッシュ
branchName string true ブランチ名
tagName string true タグ名

MissionGroupModelMaster

ミッショングループマスター

デイリーミッション・ウィークリーミッション、イベントミッションなど、ミッションをグループ分けするのに使用します。 エクスポートしたマスターデータを、現在有効なミッションとしてインポートして使用します。

パラメータ データ型 必須 説明
missionGroupId string true ミッショングループマスター
name string true ミッショングループ名
metadata string false メタデータ
description string false ミッショングループの説明
completeNotificationNamespaceId string false ミッションを達成したときの通知先ネームスペース のGRN
createdAt long true 作成日時
updatedAt long true 最終更新日時

MissionTaskModelMaster

ミッションタスクマスター

ミッションの内容を定義。達成条件や達成報酬を設定します。 エクスポートしたマスターデータを、現在有効なミッションとしてインポートして使用します。

パラメータ データ型 必須 説明
missionTaskId string true ミッションタスクマスター
name string true タスク名
metadata string false メタデータ
description string false ミッションタスクの説明
counterName string true カウンター名
resetType string true リセットタイミング
targetValue long true 目標値
completeAcquireActions list[AcquireAction] true ミッション達成時の報酬
challengePeriodEventId string false 達成報酬の受け取り可能な期間を指定するイベントマスター のGRN
premiseMissionTaskName string false このタスクに挑戦するために達成しておく必要のあるタスクの名前
createdAt long true 作成日時
updatedAt long true 最終更新日時

NotificationSetting

プッシュ通知設定

パラメータ データ型 必須 説明
gatewayNamespaceId string false プッシュ通知に使用する GS2-Gateway のネームスペース のGRN
enableTransferMobileNotification boolean false モバイルプッシュ通知へ転送するか
sound string false モバイルプッシュ通知で使用するサウンドファイル名

Namespace

ネームスペース

ミッショングループとカウンターを束ねる要素。

パラメータ データ型 必須 説明
namespaceId string true ネームスペース
ownerId string true オーナーID
name string true ネームスペース名
description string false ネームスペースの説明
missionCompleteTriggerScriptId string false ミッション達成時 に実行されるスクリプト のGRN
missionCompleteDoneTriggerScriptId string false ミッション達成完了時 に実行されるスクリプト のGRN
missionCompleteDoneTriggerQueueNamespaceId string false ミッション達成完了時 にジョブが登録されるネームスペース のGRN
counterIncrementTriggerScriptId string false カウンター上昇時 に実行されるスクリプト のGRN
counterIncrementDoneTriggerScriptId string false カウンター上昇完了時 に実行されるスクリプト のGRN
counterIncrementDoneTriggerQueueNamespaceId string false カウンター上昇完了時 にジョブが登録されるネームスペース のGRN
receiveRewardsTriggerScriptId string false 報酬受け取り時 に実行されるスクリプト のGRN
receiveRewardsDoneTriggerScriptId string false 報酬受け取り完了時 に実行されるスクリプト のGRN
receiveRewardsDoneTriggerQueueNamespaceId string false 報酬受け取り完了時 にジョブが登録されるネームスペース のGRN
queueNamespaceId string true 報酬付与処理をジョブとして追加するキューネームスペース のGRN
keyId string true 報酬付与処理のスタンプシートで使用する暗号鍵GRN
completeNotification NotificationSetting false ミッションのタスクを達成したときのプッシュ通知
logSetting LogSetting false ログの出力設定
createdAt long true 作成日時
updatedAt long true 最終更新日時

ScopedValue

リセットタイミングまでの期間のカウンター値

パラメータ データ型 必須 説明
resetType string true リセットタイミング
value long true カウント
updatedAt long true 最終更新日時

LogSetting

ロギング通知設定

パラメータ データ型 必須 説明
loggingNamespaceId string false ログの記録に使用する GS2-Log のネームスペース のGRN

Config

設定値

パラメータ データ型 必須 説明
key string false 名前
value string false

MissionTaskModel

ミッションタスク

ミッションの内容を定義。達成条件や達成報酬を設定します。

パラメータ データ型 必須 説明
missionTaskId string true ミッションタスク
name string true タスク名
metadata string false メタデータ
counterName string true カウンター名
resetType string true リセットタイミング
targetValue long true 目標値
completeAcquireActions list[AcquireAction] false ミッション達成時の報酬
challengePeriodEventId string false 達成報酬の受け取り可能な期間を指定するイベントマスター のGRN
premiseMissionTaskName string false このタスクに挑戦するために達成しておく必要のあるタスクの名前

CounterModelMaster

カウンターの種類マスター

ミッションの達成判定に使用するカウンターに関するマスターデータ。 このモデルはマスターデータを管理するもので、最終的にはエクスポートして利用します。

パラメータ データ型 必須 説明
counterId string true カウンターの種類マスター
name string true カウンター名
metadata string false メタデータ
description string false カウンターの種類マスターの説明
scopes list[CounterScopeModel] true カウンターのリセットタイミング
challengePeriodEventId string false カウントアップ可能な期間を指定するイベントマスター のGRN
createdAt long true 作成日時
updatedAt long true 最終更新日時

AcquireAction

入手アクション

パラメータ データ型 必須 説明
action string true スタンプシートで実行するアクションの種類
request string true 入手リクエストのJSON

MissionGroupModel

ミッショングループ

デイリーミッション・ウィークリーミッション、イベントミッションなど、ミッションをグループ分けするのに使用します。

パラメータ データ型 必須 説明
missionGroupId string true ミッショングループ
name string true グループ名
metadata string false メタデータ
tasks list[MissionTaskModel] false タスクリスト
completeNotificationNamespaceId string false ミッションを達成したときの通知先ネームスペース のGRN

CounterScopeModel

カウンターのリセットタイミング

パラメータ データ型 必須 説明
resetType string true リセットタイミング
resetDayOfMonth integer true リセットをする日にち
resetDayOfWeek string true リセットする曜日
resetHour integer true リセット時刻

初期化処理

HTTPプロトコル クライアントの初期化 同期処理

import gs2_core_client.model.*
import gs2_mission_client.rest.*

session = Gs2RestSession(
    region=Region.AP_NORTHEAST_1,
    credential=BasicGs2Credential(
        client_id='your client id',
        client_secret='your client secret',
    ),
)
session.connect()
client = Gs2MissionRestClient(session)
import io.gs2.core.model.Region
import io.gs2.core.model.BasicGs2Credential
import io.gs2.core.rest.Gs2RestSession
import io.gs2.mission.rest.Gs2MissionRestClient

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
)
session.connect()
Gs2MissionRestClient client = new Gs2MissionRestClient(session)
初期化処理は不要です

HTTPプロトコル クライアントの初期化 非同期処理

import gs2_core_client.model.*
import gs2_mission_client.rest.*

session = Gs2RestSession(
    region=Region.AP_NORTHEAST_1,
    credential=BasicGs2Credential(
        client_id='your client id',
        client_secret='your client secret',
    ),
)

def complete(result: AsyncResult[None]):
    client = Gs2MissionRestClient(session)

session.connect_async(
    complete,
)
import io.gs2.core.model.Region
import io.gs2.core.model.BasicGs2Credential
import io.gs2.core.rest.Gs2RestSession
import io.gs2.mission.rest.Gs2MissionRestClient

Gs2RestSession session = new Gs2RestSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
)

session.connect_async(
    (result) => {
        Gs2MissionRestClient client = new Gs2MissionRestClient(session)
    }
)
初期化処理は不要です

WebSocketプロトコル クライアントの初期化 同期処理

import gs2_core_client.model.*
import gs2_mission_client.web_socket.*

session = Gs2WebSocketSession(
    region=Region.AP_NORTHEAST_1,
    credential=BasicGs2Credential(
        client_id='your client id',
        client_secret='your client secret',
    ),
)
session.connect()
client = Gs2MissionWebSocketClient(session)
import io.gs2.core.model.Region
import io.gs2.core.model.BasicGs2Credential
import io.gs2.core.webSocket.Gs2WebSocketSession
import io.gs2.mission.webSocket.Gs2MissionWebSocketClient

Gs2WebSocketSession session = new Gs2WebSocketSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
)

session.connect()
Gs2MissionWebSocketClient client = new Gs2MissionWebSocketClient(session)
初期化処理は不要です

WebSocketプロトコル クライアントの初期化 非同期処理

import gs2_core_client.model.*
import gs2_mission_client.web_socket.*

session = Gs2WebSocketSession(
    region=Region.AP_NORTHEAST_1,
    credential=BasicGs2Credential(
        client_id='your client id',
        client_secret='your client secret',
    ),
)

def complete(result: AsyncResult[None]):
    client = Gs2MissionWebSocketClient(session)

session.connect_async(
    complete,
)
import io.gs2.core.model.Region
import io.gs2.core.model.BasicGs2Credential
import io.gs2.core.webSocket.Gs2WebSocketSession
import io.gs2.mission.webSocket.Gs2MissionWebSocketClient

Gs2WebSocketSession session = new Gs2WebSocketSession(
    Region.AP_NORTHEAST_1,
    new BasicGs2Credential(
        'your client id',
        'your client secret'
    )
)

session.connect_async(
    (result) => {
        Gs2MissionWebSocketClient client = new Gs2MissionWebSocketClient(session)
    }
)
初期化処理は不要です

GS2-Mission は HTTPプロトコル と WebSocketプロトコル の2種類のプロトコルをサポートしています。

HTTPプロトコル と WebSocketプロトコル の違いは以下に示すとおりです。

HTTP WebSocket
接続方式 都度接続 常時接続
応答性能 優れている
API制限 なし 大容量のデータをやりとりするAPIには使用不可(主にマスターデータ系処理)
利用料金 WebSocketと同一 HTTPと同一

終了処理

HTTPプロトコル クライアントの終了処理

session.disconnect()
session.disconnect();
終了処理は不要です

WebSocketプロトコル クライアントの終了処理

session.disconnect()
session.disconnect();
終了処理は不要です

session オブジェクトの切断処理を行って終了処理を行います。 同一 session オブジェクトを複数の異なる Client オブジェクトに渡すことができます。

メソッド

complete

同期処理

from gs2_mission_client.request import CompleteRequest
from gs2_mission_client.result import CompleteResult

result = client.complete(
    CompleteRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.CompleteRequest
import io.gs2.mission.result.CompleteResult

result = client.complete(
    CompleteRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import CompleteRequest
from gs2_mission_client.result import CompleteResult

def callback(async_result: AsyncResult[CompleteResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.complete_async(
    CompleteRequest()\
    callback
)
import io.gs2.mission.request.CompleteRequest
import io.gs2.mission.result.CompleteResult

result = client.complete(
    CompleteRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ミッション達成報酬を受領するためのスタンプシートを発行

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true ミッショングループ名
missionTaskName string true タスク名
config list[Config] false スタンプシートの変数に適用する設定値
パラメータ データ型 説明
stampSheet string ミッションの達成報酬を受領するスタンプシート

completeByUserId

同期処理

from gs2_mission_client.request import CompleteByUserIdRequest
from gs2_mission_client.result import CompleteByUserIdResult

result = client.complete_by_user_id(
    CompleteByUserIdRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.CompleteByUserIdRequest
import io.gs2.mission.result.CompleteByUserIdResult

result = client.completeByUserId(
    CompleteByUserIdRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import CompleteByUserIdRequest
from gs2_mission_client.result import CompleteByUserIdResult

def callback(async_result: AsyncResult[CompleteByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.complete_by_user_id_async(
    CompleteByUserIdRequest()\
    callback
)
import io.gs2.mission.request.CompleteByUserIdRequest
import io.gs2.mission.result.CompleteByUserIdResult

result = client.completeByUserId(
    CompleteByUserIdRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

達成状況を新規作成

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true ミッショングループ名
missionTaskName string true タスク名
userId string false ユーザーID
config list[Config] false スタンプシートの変数に適用する設定値
パラメータ データ型 説明
stampSheet string ミッションの達成報酬を受領するスタンプシート

createCounterModelMaster

同期処理

from gs2_mission_client.request import CreateCounterModelMasterRequest
from gs2_mission_client.result import CreateCounterModelMasterResult

result = client.create_counter_model_master(
    CreateCounterModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_name('counter-0001')\
        .with_scopes([
Object("CounterScopeModel", {"resetType": 'notReset'})
])
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.CreateCounterModelMasterRequest
import io.gs2.mission.result.CreateCounterModelMasterResult

result = client.createCounterModelMaster(
    CreateCounterModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withName("counter-0001")
        .withScopes(new [] {
Object("CounterScopeModel", {"resetType": "notReset"})
})
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import CreateCounterModelMasterRequest
from gs2_mission_client.result import CreateCounterModelMasterResult

def callback(async_result: AsyncResult[CreateCounterModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.create_counter_model_master_async(
    CreateCounterModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_name('counter-0001')\
        .with_scopes([
Object("CounterScopeModel", {"resetType": 'notReset'})
]),
    callback
)
import io.gs2.mission.request.CreateCounterModelMasterRequest
import io.gs2.mission.result.CreateCounterModelMasterResult

result = client.createCounterModelMaster(
    CreateCounterModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withName("counter-0001")
        .withScopes(new [] {
Object("CounterScopeModel", {"resetType": "notReset"})
}),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)
Type: GS2::Mission::CounterModelMaster
Properties:
  NamespaceName: String
  Name: String
  Metadata: Optional[String]
  Description: Optional[String]
  Scopes:
    -
      ResetType: String
      ResetDayOfMonth: Integer
      ResetDayOfWeek: String
      ResetHour: Integer
    -
      ResetType: String
      ResetDayOfMonth: Integer
      ResetDayOfWeek: String
      ResetHour: Integer
  ChallengePeriodEventId: Optional[String]

カウンターの種類マスターを新規作成

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
name string true カウンター名
metadata string false メタデータ
description string false カウンターの種類マスターの説明
scopes list[CounterScopeModel] true カウンターのリセットタイミング
challengePeriodEventId string false カウントアップ可能な期間を指定するイベントマスター のGRN
パラメータ データ型 説明
item CounterModelMaster 作成したカウンターの種類マスター

createMissionGroupModelMaster

同期処理

from gs2_mission_client.request import CreateMissionGroupModelMasterRequest
from gs2_mission_client.result import CreateMissionGroupModelMasterResult

result = client.create_mission_group_model_master(
    CreateMissionGroupModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_name('mission-group-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.CreateMissionGroupModelMasterRequest
import io.gs2.mission.result.CreateMissionGroupModelMasterResult

result = client.createMissionGroupModelMaster(
    CreateMissionGroupModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withName("mission-group-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import CreateMissionGroupModelMasterRequest
from gs2_mission_client.result import CreateMissionGroupModelMasterResult

def callback(async_result: AsyncResult[CreateMissionGroupModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.create_mission_group_model_master_async(
    CreateMissionGroupModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_name('mission-group-0001'),
    callback
)
import io.gs2.mission.request.CreateMissionGroupModelMasterRequest
import io.gs2.mission.result.CreateMissionGroupModelMasterResult

result = client.createMissionGroupModelMaster(
    CreateMissionGroupModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withName("mission-group-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)
Type: GS2::Mission::MissionGroupModelMaster
Properties:
  NamespaceName: String
  Name: String
  Metadata: Optional[String]
  Description: Optional[String]
  CompleteNotificationNamespaceId: Optional[String]

ミッショングループマスターを新規作成

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
name string true ミッショングループ名
metadata string false メタデータ
description string false ミッショングループの説明
completeNotificationNamespaceId string false ミッションを達成したときの通知先ネームスペース のGRN
パラメータ データ型 説明
item MissionGroupModelMaster 作成したミッショングループマスター

createMissionTaskModelMaster

同期処理

from gs2_mission_client.request import CreateMissionTaskModelMasterRequest
from gs2_mission_client.result import CreateMissionTaskModelMasterResult

result = client.create_mission_task_model_master(
    CreateMissionTaskModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001')\
        .with_name('mission-task-0001')\
        .with_counter_name('counter-0001')\
        .with_reset_type('notReset')\
        .with_target_value(10)\
        .with_complete_acquire_actions([
Object("AcquireAction", {"action": 'Gs2Experience:AddExperienceByUserId', "request": 'Gs2Experience:AddExperienceByUserId-request1'})
])
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.CreateMissionTaskModelMasterRequest
import io.gs2.mission.result.CreateMissionTaskModelMasterResult

result = client.createMissionTaskModelMaster(
    CreateMissionTaskModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001")
        .withName("mission-task-0001")
        .withCounterName("counter-0001")
        .withResetType("notReset")
        .withTargetValue(10l)
        .withCompleteAcquireActions(new [] {
Object("AcquireAction", {"action": "Gs2Experience:AddExperienceByUserId", "request": "Gs2Experience:AddExperienceByUserId-request1"})
})
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import CreateMissionTaskModelMasterRequest
from gs2_mission_client.result import CreateMissionTaskModelMasterResult

def callback(async_result: AsyncResult[CreateMissionTaskModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.create_mission_task_model_master_async(
    CreateMissionTaskModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001')\
        .with_name('mission-task-0001')\
        .with_counter_name('counter-0001')\
        .with_reset_type('notReset')\
        .with_target_value(10)\
        .with_complete_acquire_actions([
Object("AcquireAction", {"action": 'Gs2Experience:AddExperienceByUserId', "request": 'Gs2Experience:AddExperienceByUserId-request1'})
]),
    callback
)
import io.gs2.mission.request.CreateMissionTaskModelMasterRequest
import io.gs2.mission.result.CreateMissionTaskModelMasterResult

result = client.createMissionTaskModelMaster(
    CreateMissionTaskModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001")
        .withName("mission-task-0001")
        .withCounterName("counter-0001")
        .withResetType("notReset")
        .withTargetValue(10l)
        .withCompleteAcquireActions(new [] {
Object("AcquireAction", {"action": "Gs2Experience:AddExperienceByUserId", "request": "Gs2Experience:AddExperienceByUserId-request1"})
}),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)
Type: GS2::Mission::MissionTaskModelMaster
Properties:
  NamespaceName: String
  MissionGroupName: String
  Name: String
  Metadata: Optional[String]
  Description: Optional[String]
  CounterName: String
  ResetType: String
  TargetValue: Long
  CompleteAcquireActions:
    -
      Action: String
      Request: String
    -
      Action: String
      Request: String
  ChallengePeriodEventId: Optional[String]
  PremiseMissionTaskName: Optional[String]

ミッションタスクマスターを新規作成

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true ミッショングループ名
name string true タスク名
metadata string false メタデータ
description string false ミッションタスクの説明
counterName string true カウンター名
resetType string true リセットタイミング
targetValue long true 目標値
completeAcquireActions list[AcquireAction] true ミッション達成時の報酬
challengePeriodEventId string false 達成報酬の受け取り可能な期間を指定するイベントマスター のGRN
premiseMissionTaskName string false このタスクに挑戦するために達成しておく必要のあるタスクの名前
パラメータ データ型 説明
item MissionTaskModelMaster 作成したミッションタスクマスター

createNamespace

同期処理

from gs2_mission_client.request import CreateNamespaceRequest
from gs2_mission_client.result import CreateNamespaceResult

result = client.create_namespace(
    CreateNamespaceRequest()\
        .with_name('mission-0001')\
        .with_queue_namespace_id('grn:gs2:{region}:{ownerId}:queue:namespace-0001')\
        .with_key_id('grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-0001')\
        .with_log_setting(Object("LogSetting", {"loggingNamespaceId": 'grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001'}))
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.CreateNamespaceRequest
import io.gs2.mission.result.CreateNamespaceResult

result = client.createNamespace(
    CreateNamespaceRequest()
        .withName("mission-0001")
        .withQueueNamespaceId("grn:gs2:{region}:{ownerId}:queue:namespace-0001")
        .withKeyId("grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-0001")
        .withLogSetting(Object("LogSetting", {"loggingNamespaceId": "grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001"}))
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import CreateNamespaceRequest
from gs2_mission_client.result import CreateNamespaceResult

def callback(async_result: AsyncResult[CreateNamespaceResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.create_namespace_async(
    CreateNamespaceRequest()\
        .with_name('mission-0001')\
        .with_queue_namespace_id('grn:gs2:{region}:{ownerId}:queue:namespace-0001')\
        .with_key_id('grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-0001')\
        .with_log_setting(Object("LogSetting", {"loggingNamespaceId": 'grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001'})),
    callback
)
import io.gs2.mission.request.CreateNamespaceRequest
import io.gs2.mission.result.CreateNamespaceResult

result = client.createNamespace(
    CreateNamespaceRequest()
        .withName("mission-0001")
        .withQueueNamespaceId("grn:gs2:{region}:{ownerId}:queue:namespace-0001")
        .withKeyId("grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-0001")
        .withLogSetting(Object("LogSetting", {"loggingNamespaceId": "grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001"})),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)
Type: GS2::Mission::Namespace
Properties:
  Name: String
  Description: Optional[String]
  MissionCompleteTriggerScriptId: Optional[String]
  MissionCompleteDoneTriggerScriptId: Optional[String]
  MissionCompleteDoneTriggerQueueNamespaceId: Optional[String]
  CounterIncrementTriggerScriptId: Optional[String]
  CounterIncrementDoneTriggerScriptId: Optional[String]
  CounterIncrementDoneTriggerQueueNamespaceId: Optional[String]
  ReceiveRewardsTriggerScriptId: Optional[String]
  ReceiveRewardsDoneTriggerScriptId: Optional[String]
  ReceiveRewardsDoneTriggerQueueNamespaceId: Optional[String]
  QueueNamespaceId: String
  KeyId: String
  CompleteNotification:
    GatewayNamespaceId: Optional[String]
    EnableTransferMobileNotification: Optional[Bool]
    Sound: Optional[String]
  LogSetting:
    LoggingNamespaceId: Optional[String]

ネームスペースを新規作成

パラメータ データ型 必須 説明
name string true ネームスペース名
description string false ネームスペースの説明
missionCompleteTriggerScriptId string false ミッション達成時 に実行されるスクリプト のGRN
missionCompleteDoneTriggerScriptId string false ミッション達成完了時 に実行されるスクリプト のGRN
missionCompleteDoneTriggerQueueNamespaceId string false ミッション達成完了時 にジョブが登録されるネームスペース のGRN
counterIncrementTriggerScriptId string false カウンター上昇時 に実行されるスクリプト のGRN
counterIncrementDoneTriggerScriptId string false カウンター上昇完了時 に実行されるスクリプト のGRN
counterIncrementDoneTriggerQueueNamespaceId string false カウンター上昇完了時 にジョブが登録されるネームスペース のGRN
receiveRewardsTriggerScriptId string false 報酬受け取り時 に実行されるスクリプト のGRN
receiveRewardsDoneTriggerScriptId string false 報酬受け取り完了時 に実行されるスクリプト のGRN
receiveRewardsDoneTriggerQueueNamespaceId string false 報酬受け取り完了時 にジョブが登録されるネームスペース のGRN
queueNamespaceId string true 報酬付与処理をジョブとして追加するキューネームスペース のGRN
keyId string true 報酬付与処理のスタンプシートで使用する暗号鍵GRN
completeNotification NotificationSetting false ミッションのタスクを達成したときのプッシュ通知
logSetting LogSetting false ログの出力設定
パラメータ データ型 説明
item Namespace 作成したネームスペース

deleteCompleteByUserId

同期処理

from gs2_mission_client.request import DeleteCompleteByUserIdRequest
from gs2_mission_client.result import DeleteCompleteByUserIdResult

result = client.delete_complete_by_user_id(
    DeleteCompleteByUserIdRequest()\
        .with_namespace_name('mission-0001')\
        .with_user_id('user-0001')\
        .with_mission_group_name('mission-group-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DeleteCompleteByUserIdRequest
import io.gs2.mission.result.DeleteCompleteByUserIdResult

result = client.deleteCompleteByUserId(
    DeleteCompleteByUserIdRequest()
        .withNamespaceName("mission-0001")
        .withUserId("user-0001")
        .withMissionGroupName("mission-group-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DeleteCompleteByUserIdRequest
from gs2_mission_client.result import DeleteCompleteByUserIdResult

def callback(async_result: AsyncResult[DeleteCompleteByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.delete_complete_by_user_id_async(
    DeleteCompleteByUserIdRequest()\
        .with_namespace_name('mission-0001')\
        .with_user_id('user-0001')\
        .with_mission_group_name('mission-group-0001'),
    callback
)
import io.gs2.mission.request.DeleteCompleteByUserIdRequest
import io.gs2.mission.result.DeleteCompleteByUserIdResult

result = client.deleteCompleteByUserId(
    DeleteCompleteByUserIdRequest()
        .withNamespaceName("mission-0001")
        .withUserId("user-0001")
        .withMissionGroupName("mission-group-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

達成状況を削除

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
userId string true ユーザーID
missionGroupName string true ミッショングループ名
パラメータ データ型 説明
item Complete 削除した達成状況

deleteCounterByUserId

同期処理

from gs2_mission_client.request import DeleteCounterByUserIdRequest
from gs2_mission_client.result import DeleteCounterByUserIdResult

result = client.delete_counter_by_user_id(
    DeleteCounterByUserIdRequest()\
        .with_namespace_name('mission-0001')\
        .with_user_id('user-0001')\
        .with_counter_name('counter-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DeleteCounterByUserIdRequest
import io.gs2.mission.result.DeleteCounterByUserIdResult

result = client.deleteCounterByUserId(
    DeleteCounterByUserIdRequest()
        .withNamespaceName("mission-0001")
        .withUserId("user-0001")
        .withCounterName("counter-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DeleteCounterByUserIdRequest
from gs2_mission_client.result import DeleteCounterByUserIdResult

def callback(async_result: AsyncResult[DeleteCounterByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.delete_counter_by_user_id_async(
    DeleteCounterByUserIdRequest()\
        .with_namespace_name('mission-0001')\
        .with_user_id('user-0001')\
        .with_counter_name('counter-0001'),
    callback
)
import io.gs2.mission.request.DeleteCounterByUserIdRequest
import io.gs2.mission.result.DeleteCounterByUserIdResult

result = client.deleteCounterByUserId(
    DeleteCounterByUserIdRequest()
        .withNamespaceName("mission-0001")
        .withUserId("user-0001")
        .withCounterName("counter-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

カウンターを削除

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
userId string true ユーザーID
counterName string true カウンター名
パラメータ データ型 説明
item Counter 削除したカウンター

deleteCounterModelMaster

同期処理

from gs2_mission_client.request import DeleteCounterModelMasterRequest
from gs2_mission_client.result import DeleteCounterModelMasterResult

result = client.delete_counter_model_master(
    DeleteCounterModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_counter_name('counter-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DeleteCounterModelMasterRequest
import io.gs2.mission.result.DeleteCounterModelMasterResult

result = client.deleteCounterModelMaster(
    DeleteCounterModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withCounterName("counter-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DeleteCounterModelMasterRequest
from gs2_mission_client.result import DeleteCounterModelMasterResult

def callback(async_result: AsyncResult[DeleteCounterModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.delete_counter_model_master_async(
    DeleteCounterModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_counter_name('counter-0001'),
    callback
)
import io.gs2.mission.request.DeleteCounterModelMasterRequest
import io.gs2.mission.result.DeleteCounterModelMasterResult

result = client.deleteCounterModelMaster(
    DeleteCounterModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withCounterName("counter-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

カウンターの種類マスターを削除

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
counterName string true カウンター名
パラメータ データ型 説明
item CounterModelMaster 削除したカウンターの種類マスター

deleteMissionGroupModelMaster

同期処理

from gs2_mission_client.request import DeleteMissionGroupModelMasterRequest
from gs2_mission_client.result import DeleteMissionGroupModelMasterResult

result = client.delete_mission_group_model_master(
    DeleteMissionGroupModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DeleteMissionGroupModelMasterRequest
import io.gs2.mission.result.DeleteMissionGroupModelMasterResult

result = client.deleteMissionGroupModelMaster(
    DeleteMissionGroupModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DeleteMissionGroupModelMasterRequest
from gs2_mission_client.result import DeleteMissionGroupModelMasterResult

def callback(async_result: AsyncResult[DeleteMissionGroupModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.delete_mission_group_model_master_async(
    DeleteMissionGroupModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001'),
    callback
)
import io.gs2.mission.request.DeleteMissionGroupModelMasterRequest
import io.gs2.mission.result.DeleteMissionGroupModelMasterResult

result = client.deleteMissionGroupModelMaster(
    DeleteMissionGroupModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ミッショングループマスターを削除

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true ミッショングループ名
パラメータ データ型 説明
item MissionGroupModelMaster 削除したミッショングループ

deleteMissionTaskModelMaster

同期処理

from gs2_mission_client.request import DeleteMissionTaskModelMasterRequest
from gs2_mission_client.result import DeleteMissionTaskModelMasterResult

result = client.delete_mission_task_model_master(
    DeleteMissionTaskModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001')\
        .with_mission_task_name('mission-task-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DeleteMissionTaskModelMasterRequest
import io.gs2.mission.result.DeleteMissionTaskModelMasterResult

result = client.deleteMissionTaskModelMaster(
    DeleteMissionTaskModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001")
        .withMissionTaskName("mission-task-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DeleteMissionTaskModelMasterRequest
from gs2_mission_client.result import DeleteMissionTaskModelMasterResult

def callback(async_result: AsyncResult[DeleteMissionTaskModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.delete_mission_task_model_master_async(
    DeleteMissionTaskModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001')\
        .with_mission_task_name('mission-task-0001'),
    callback
)
import io.gs2.mission.request.DeleteMissionTaskModelMasterRequest
import io.gs2.mission.result.DeleteMissionTaskModelMasterResult

result = client.deleteMissionTaskModelMaster(
    DeleteMissionTaskModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001")
        .withMissionTaskName("mission-task-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ミッションタスクマスターを削除

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true ミッショングループ名
missionTaskName string true タスク名
パラメータ データ型 説明
item MissionTaskModelMaster 削除したミッションタスク

deleteNamespace

同期処理

from gs2_mission_client.request import DeleteNamespaceRequest
from gs2_mission_client.result import DeleteNamespaceResult

result = client.delete_namespace(
    DeleteNamespaceRequest()\
        .with_namespace_name('mission-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DeleteNamespaceRequest
import io.gs2.mission.result.DeleteNamespaceResult

result = client.deleteNamespace(
    DeleteNamespaceRequest()
        .withNamespaceName("mission-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DeleteNamespaceRequest
from gs2_mission_client.result import DeleteNamespaceResult

def callback(async_result: AsyncResult[DeleteNamespaceResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.delete_namespace_async(
    DeleteNamespaceRequest()\
        .with_namespace_name('mission-0001'),
    callback
)
import io.gs2.mission.request.DeleteNamespaceRequest
import io.gs2.mission.result.DeleteNamespaceResult

result = client.deleteNamespace(
    DeleteNamespaceRequest()
        .withNamespaceName("mission-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ネームスペースを削除

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
パラメータ データ型 説明
item Namespace 削除したネームスペース

describeCompletes

同期処理

from gs2_mission_client.request import DescribeCompletesRequest
from gs2_mission_client.result import DescribeCompletesResult

result = client.describe_completes(
    DescribeCompletesRequest()\
        .with_namespace_name('mission-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DescribeCompletesRequest
import io.gs2.mission.result.DescribeCompletesResult

result = client.describeCompletes(
    DescribeCompletesRequest()
        .withNamespaceName("mission-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DescribeCompletesRequest
from gs2_mission_client.result import DescribeCompletesResult

def callback(async_result: AsyncResult[DescribeCompletesResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_completes_async(
    DescribeCompletesRequest()\
        .with_namespace_name('mission-0001'),
    callback
)
import io.gs2.mission.request.DescribeCompletesRequest
import io.gs2.mission.result.DescribeCompletesResult

result = client.describeCompletes(
    DescribeCompletesRequest()
        .withNamespaceName("mission-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

達成状況の一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[Complete] 達成状況のリスト
nextPageToken string リストの続きを取得するためのページトークン

describeCompletesByUserId

同期処理

from gs2_mission_client.request import DescribeCompletesByUserIdRequest
from gs2_mission_client.result import DescribeCompletesByUserIdResult

result = client.describe_completes_by_user_id(
    DescribeCompletesByUserIdRequest()\
        .with_namespace_name('mission-0001')\
        .with_user_id('user-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DescribeCompletesByUserIdRequest
import io.gs2.mission.result.DescribeCompletesByUserIdResult

result = client.describeCompletesByUserId(
    DescribeCompletesByUserIdRequest()
        .withNamespaceName("mission-0001")
        .withUserId("user-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DescribeCompletesByUserIdRequest
from gs2_mission_client.result import DescribeCompletesByUserIdResult

def callback(async_result: AsyncResult[DescribeCompletesByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_completes_by_user_id_async(
    DescribeCompletesByUserIdRequest()\
        .with_namespace_name('mission-0001')\
        .with_user_id('user-0001'),
    callback
)
import io.gs2.mission.request.DescribeCompletesByUserIdRequest
import io.gs2.mission.result.DescribeCompletesByUserIdResult

result = client.describeCompletesByUserId(
    DescribeCompletesByUserIdRequest()
        .withNamespaceName("mission-0001")
        .withUserId("user-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ユーザIDを指定して達成状況の一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
userId string false ユーザーID
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[Complete] 達成状況のリスト
nextPageToken string リストの続きを取得するためのページトークン

describeCounterModelMasters

同期処理

from gs2_mission_client.request import DescribeCounterModelMastersRequest
from gs2_mission_client.result import DescribeCounterModelMastersResult

result = client.describe_counter_model_masters(
    DescribeCounterModelMastersRequest()\
        .with_namespace_name('mission-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DescribeCounterModelMastersRequest
import io.gs2.mission.result.DescribeCounterModelMastersResult

result = client.describeCounterModelMasters(
    DescribeCounterModelMastersRequest()
        .withNamespaceName("mission-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DescribeCounterModelMastersRequest
from gs2_mission_client.result import DescribeCounterModelMastersResult

def callback(async_result: AsyncResult[DescribeCounterModelMastersResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_counter_model_masters_async(
    DescribeCounterModelMastersRequest()\
        .with_namespace_name('mission-0001'),
    callback
)
import io.gs2.mission.request.DescribeCounterModelMastersRequest
import io.gs2.mission.result.DescribeCounterModelMastersResult

result = client.describeCounterModelMasters(
    DescribeCounterModelMastersRequest()
        .withNamespaceName("mission-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

カウンターの種類マスターの一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[CounterModelMaster] カウンターの種類マスターのリスト
nextPageToken string リストの続きを取得するためのページトークン

describeCounterModels

同期処理

from gs2_mission_client.request import DescribeCounterModelsRequest
from gs2_mission_client.result import DescribeCounterModelsResult

result = client.describe_counter_models(
    DescribeCounterModelsRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DescribeCounterModelsRequest
import io.gs2.mission.result.DescribeCounterModelsResult

result = client.describeCounterModels(
    DescribeCounterModelsRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DescribeCounterModelsRequest
from gs2_mission_client.result import DescribeCounterModelsResult

def callback(async_result: AsyncResult[DescribeCounterModelsResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_counter_models_async(
    DescribeCounterModelsRequest()\
    callback
)
import io.gs2.mission.request.DescribeCounterModelsRequest
import io.gs2.mission.result.DescribeCounterModelsResult

result = client.describeCounterModels(
    DescribeCounterModelsRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

カウンターの種類の一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
パラメータ データ型 説明
items list[CounterModel] カウンターの種類のリスト

describeCounters

同期処理

from gs2_mission_client.request import DescribeCountersRequest
from gs2_mission_client.result import DescribeCountersResult

result = client.describe_counters(
    DescribeCountersRequest()\
        .with_namespace_name('mission-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DescribeCountersRequest
import io.gs2.mission.result.DescribeCountersResult

result = client.describeCounters(
    DescribeCountersRequest()
        .withNamespaceName("mission-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DescribeCountersRequest
from gs2_mission_client.result import DescribeCountersResult

def callback(async_result: AsyncResult[DescribeCountersResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_counters_async(
    DescribeCountersRequest()\
        .with_namespace_name('mission-0001'),
    callback
)
import io.gs2.mission.request.DescribeCountersRequest
import io.gs2.mission.result.DescribeCountersResult

result = client.describeCounters(
    DescribeCountersRequest()
        .withNamespaceName("mission-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

カウンターの一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[Counter] カウンターのリスト
nextPageToken string リストの続きを取得するためのページトークン

describeCountersByUserId

同期処理

from gs2_mission_client.request import DescribeCountersByUserIdRequest
from gs2_mission_client.result import DescribeCountersByUserIdResult

result = client.describe_counters_by_user_id(
    DescribeCountersByUserIdRequest()\
        .with_namespace_name('mission-0001')\
        .with_user_id('user-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DescribeCountersByUserIdRequest
import io.gs2.mission.result.DescribeCountersByUserIdResult

result = client.describeCountersByUserId(
    DescribeCountersByUserIdRequest()
        .withNamespaceName("mission-0001")
        .withUserId("user-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DescribeCountersByUserIdRequest
from gs2_mission_client.result import DescribeCountersByUserIdResult

def callback(async_result: AsyncResult[DescribeCountersByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_counters_by_user_id_async(
    DescribeCountersByUserIdRequest()\
        .with_namespace_name('mission-0001')\
        .with_user_id('user-0001'),
    callback
)
import io.gs2.mission.request.DescribeCountersByUserIdRequest
import io.gs2.mission.result.DescribeCountersByUserIdResult

result = client.describeCountersByUserId(
    DescribeCountersByUserIdRequest()
        .withNamespaceName("mission-0001")
        .withUserId("user-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ユーザIDを指定してカウンターの一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
userId string false ユーザーID
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[Counter] カウンターのリスト
nextPageToken string リストの続きを取得するためのページトークン

describeMissionGroupModelMasters

同期処理

from gs2_mission_client.request import DescribeMissionGroupModelMastersRequest
from gs2_mission_client.result import DescribeMissionGroupModelMastersResult

result = client.describe_mission_group_model_masters(
    DescribeMissionGroupModelMastersRequest()\
        .with_namespace_name('mission-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DescribeMissionGroupModelMastersRequest
import io.gs2.mission.result.DescribeMissionGroupModelMastersResult

result = client.describeMissionGroupModelMasters(
    DescribeMissionGroupModelMastersRequest()
        .withNamespaceName("mission-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DescribeMissionGroupModelMastersRequest
from gs2_mission_client.result import DescribeMissionGroupModelMastersResult

def callback(async_result: AsyncResult[DescribeMissionGroupModelMastersResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_mission_group_model_masters_async(
    DescribeMissionGroupModelMastersRequest()\
        .with_namespace_name('mission-0001'),
    callback
)
import io.gs2.mission.request.DescribeMissionGroupModelMastersRequest
import io.gs2.mission.result.DescribeMissionGroupModelMastersResult

result = client.describeMissionGroupModelMasters(
    DescribeMissionGroupModelMastersRequest()
        .withNamespaceName("mission-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ミッショングループマスターの一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[MissionGroupModelMaster] ミッショングループマスターのリスト
nextPageToken string リストの続きを取得するためのページトークン

describeMissionGroupModels

同期処理

from gs2_mission_client.request import DescribeMissionGroupModelsRequest
from gs2_mission_client.result import DescribeMissionGroupModelsResult

result = client.describe_mission_group_models(
    DescribeMissionGroupModelsRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DescribeMissionGroupModelsRequest
import io.gs2.mission.result.DescribeMissionGroupModelsResult

result = client.describeMissionGroupModels(
    DescribeMissionGroupModelsRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DescribeMissionGroupModelsRequest
from gs2_mission_client.result import DescribeMissionGroupModelsResult

def callback(async_result: AsyncResult[DescribeMissionGroupModelsResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_mission_group_models_async(
    DescribeMissionGroupModelsRequest()\
    callback
)
import io.gs2.mission.request.DescribeMissionGroupModelsRequest
import io.gs2.mission.result.DescribeMissionGroupModelsResult

result = client.describeMissionGroupModels(
    DescribeMissionGroupModelsRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ミッショングループの一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
パラメータ データ型 説明
items list[MissionGroupModel] ミッショングループのリスト

describeMissionTaskModelMasters

同期処理

from gs2_mission_client.request import DescribeMissionTaskModelMastersRequest
from gs2_mission_client.result import DescribeMissionTaskModelMastersResult

result = client.describe_mission_task_model_masters(
    DescribeMissionTaskModelMastersRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DescribeMissionTaskModelMastersRequest
import io.gs2.mission.result.DescribeMissionTaskModelMastersResult

result = client.describeMissionTaskModelMasters(
    DescribeMissionTaskModelMastersRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DescribeMissionTaskModelMastersRequest
from gs2_mission_client.result import DescribeMissionTaskModelMastersResult

def callback(async_result: AsyncResult[DescribeMissionTaskModelMastersResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_mission_task_model_masters_async(
    DescribeMissionTaskModelMastersRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001'),
    callback
)
import io.gs2.mission.request.DescribeMissionTaskModelMastersRequest
import io.gs2.mission.result.DescribeMissionTaskModelMastersResult

result = client.describeMissionTaskModelMasters(
    DescribeMissionTaskModelMastersRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ミッションタスクマスターの一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true ミッショングループ名
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[MissionTaskModelMaster] ミッションタスクマスターのリスト
nextPageToken string リストの続きを取得するためのページトークン

describeMissionTaskModels

同期処理

from gs2_mission_client.request import DescribeMissionTaskModelsRequest
from gs2_mission_client.result import DescribeMissionTaskModelsResult

result = client.describe_mission_task_models(
    DescribeMissionTaskModelsRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DescribeMissionTaskModelsRequest
import io.gs2.mission.result.DescribeMissionTaskModelsResult

result = client.describeMissionTaskModels(
    DescribeMissionTaskModelsRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DescribeMissionTaskModelsRequest
from gs2_mission_client.result import DescribeMissionTaskModelsResult

def callback(async_result: AsyncResult[DescribeMissionTaskModelsResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_mission_task_models_async(
    DescribeMissionTaskModelsRequest()\
    callback
)
import io.gs2.mission.request.DescribeMissionTaskModelsRequest
import io.gs2.mission.result.DescribeMissionTaskModelsResult

result = client.describeMissionTaskModels(
    DescribeMissionTaskModelsRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ミッションタスクの一覧を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true グループ名
パラメータ データ型 説明
items list[MissionTaskModel] ミッションタスクのリスト

describeNamespaces

同期処理

from gs2_mission_client.request import DescribeNamespacesRequest
from gs2_mission_client.result import DescribeNamespacesResult

result = client.describe_namespaces(
    DescribeNamespacesRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.DescribeNamespacesRequest
import io.gs2.mission.result.DescribeNamespacesResult

result = client.describeNamespaces(
    DescribeNamespacesRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import DescribeNamespacesRequest
from gs2_mission_client.result import DescribeNamespacesResult

def callback(async_result: AsyncResult[DescribeNamespacesResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.describe_namespaces_async(
    DescribeNamespacesRequest()\
    callback
)
import io.gs2.mission.request.DescribeNamespacesRequest
import io.gs2.mission.result.DescribeNamespacesResult

result = client.describeNamespaces(
    DescribeNamespacesRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ネームスペースの一覧を取得

パラメータ データ型 必須 説明
pageToken string false データの取得を開始する位置を指定するトークン
limit long false データの取得件数
パラメータ データ型 説明
items list[Namespace] ネームスペースのリスト
nextPageToken string リストの続きを取得するためのページトークン

exportMaster

同期処理

from gs2_mission_client.request import ExportMasterRequest
from gs2_mission_client.result import ExportMasterResult

result = client.export_master(
    ExportMasterRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.ExportMasterRequest
import io.gs2.mission.result.ExportMasterResult

result = client.exportMaster(
    ExportMasterRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import ExportMasterRequest
from gs2_mission_client.result import ExportMasterResult

def callback(async_result: AsyncResult[ExportMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.export_master_async(
    ExportMasterRequest()\
    callback
)
import io.gs2.mission.request.ExportMasterRequest
import io.gs2.mission.result.ExportMasterResult

result = client.exportMaster(
    ExportMasterRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

現在有効なミッションのマスターデータをエクスポートします

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
パラメータ データ型 説明
item CurrentMissionMaster 現在有効なミッション

getComplete

同期処理

from gs2_mission_client.request import GetCompleteRequest
from gs2_mission_client.result import GetCompleteResult

result = client.get_complete(
    GetCompleteRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.GetCompleteRequest
import io.gs2.mission.result.GetCompleteResult

result = client.getComplete(
    GetCompleteRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import GetCompleteRequest
from gs2_mission_client.result import GetCompleteResult

def callback(async_result: AsyncResult[GetCompleteResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_complete_async(
    GetCompleteRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001'),
    callback
)
import io.gs2.mission.request.GetCompleteRequest
import io.gs2.mission.result.GetCompleteResult

result = client.getComplete(
    GetCompleteRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

達成状況を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true ミッショングループ名
パラメータ データ型 説明
item Complete 達成状況

getCompleteByUserId

同期処理

from gs2_mission_client.request import GetCompleteByUserIdRequest
from gs2_mission_client.result import GetCompleteByUserIdResult

result = client.get_complete_by_user_id(
    GetCompleteByUserIdRequest()\
        .with_namespace_name('mission-0002')\
        .with_mission_group_name('mission-group-0001')\
        .with_user_id('user-0002')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.GetCompleteByUserIdRequest
import io.gs2.mission.result.GetCompleteByUserIdResult

result = client.getCompleteByUserId(
    GetCompleteByUserIdRequest()
        .withNamespaceName("mission-0002")
        .withMissionGroupName("mission-group-0001")
        .withUserId("user-0002")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import GetCompleteByUserIdRequest
from gs2_mission_client.result import GetCompleteByUserIdResult

def callback(async_result: AsyncResult[GetCompleteByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_complete_by_user_id_async(
    GetCompleteByUserIdRequest()\
        .with_namespace_name('mission-0002')\
        .with_mission_group_name('mission-group-0001')\
        .with_user_id('user-0002'),
    callback
)
import io.gs2.mission.request.GetCompleteByUserIdRequest
import io.gs2.mission.result.GetCompleteByUserIdResult

result = client.getCompleteByUserId(
    GetCompleteByUserIdRequest()
        .withNamespaceName("mission-0002")
        .withMissionGroupName("mission-group-0001")
        .withUserId("user-0002"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ユーザIDを指定して達成状況を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true ミッショングループ名
userId string false ユーザーID
パラメータ データ型 説明
item Complete 達成状況

getCounter

同期処理

from gs2_mission_client.request import GetCounterRequest
from gs2_mission_client.result import GetCounterResult

result = client.get_counter(
    GetCounterRequest()\
        .with_namespace_name('mission-0001')\
        .with_counter_name('counter-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.GetCounterRequest
import io.gs2.mission.result.GetCounterResult

result = client.getCounter(
    GetCounterRequest()
        .withNamespaceName("mission-0001")
        .withCounterName("counter-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import GetCounterRequest
from gs2_mission_client.result import GetCounterResult

def callback(async_result: AsyncResult[GetCounterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_counter_async(
    GetCounterRequest()\
        .with_namespace_name('mission-0001')\
        .with_counter_name('counter-0001'),
    callback
)
import io.gs2.mission.request.GetCounterRequest
import io.gs2.mission.result.GetCounterResult

result = client.getCounter(
    GetCounterRequest()
        .withNamespaceName("mission-0001")
        .withCounterName("counter-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

カウンターを取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
counterName string false カウンター名
パラメータ データ型 説明
item Counter カウンター

getCounterByUserId

同期処理

from gs2_mission_client.request import GetCounterByUserIdRequest
from gs2_mission_client.result import GetCounterByUserIdResult

result = client.get_counter_by_user_id(
    GetCounterByUserIdRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.GetCounterByUserIdRequest
import io.gs2.mission.result.GetCounterByUserIdResult

result = client.getCounterByUserId(
    GetCounterByUserIdRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import GetCounterByUserIdRequest
from gs2_mission_client.result import GetCounterByUserIdResult

def callback(async_result: AsyncResult[GetCounterByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_counter_by_user_id_async(
    GetCounterByUserIdRequest()\
    callback
)
import io.gs2.mission.request.GetCounterByUserIdRequest
import io.gs2.mission.result.GetCounterByUserIdResult

result = client.getCounterByUserId(
    GetCounterByUserIdRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ユーザIDを指定してカウンターを取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
counterName string false カウンター名
userId string false ユーザーID
パラメータ データ型 説明
item Counter カウンター

getCounterModel

同期処理

from gs2_mission_client.request import GetCounterModelRequest
from gs2_mission_client.result import GetCounterModelResult

result = client.get_counter_model(
    GetCounterModelRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.GetCounterModelRequest
import io.gs2.mission.result.GetCounterModelResult

result = client.getCounterModel(
    GetCounterModelRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import GetCounterModelRequest
from gs2_mission_client.result import GetCounterModelResult

def callback(async_result: AsyncResult[GetCounterModelResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_counter_model_async(
    GetCounterModelRequest()\
    callback
)
import io.gs2.mission.request.GetCounterModelRequest
import io.gs2.mission.result.GetCounterModelResult

result = client.getCounterModel(
    GetCounterModelRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

カウンターの種類を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
counterName string true カウンター名
パラメータ データ型 説明
item CounterModel カウンターの種類

getCounterModelMaster

同期処理

from gs2_mission_client.request import GetCounterModelMasterRequest
from gs2_mission_client.result import GetCounterModelMasterResult

result = client.get_counter_model_master(
    GetCounterModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_counter_name('counter-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.GetCounterModelMasterRequest
import io.gs2.mission.result.GetCounterModelMasterResult

result = client.getCounterModelMaster(
    GetCounterModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withCounterName("counter-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import GetCounterModelMasterRequest
from gs2_mission_client.result import GetCounterModelMasterResult

def callback(async_result: AsyncResult[GetCounterModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_counter_model_master_async(
    GetCounterModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_counter_name('counter-0001'),
    callback
)
import io.gs2.mission.request.GetCounterModelMasterRequest
import io.gs2.mission.result.GetCounterModelMasterResult

result = client.getCounterModelMaster(
    GetCounterModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withCounterName("counter-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

カウンターの種類マスターを取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
counterName string true カウンター名
パラメータ データ型 説明
item CounterModelMaster カウンターの種類マスター

getCurrentMissionMaster

同期処理

from gs2_mission_client.request import GetCurrentMissionMasterRequest
from gs2_mission_client.result import GetCurrentMissionMasterResult

result = client.get_current_mission_master(
    GetCurrentMissionMasterRequest()\
        .with_namespace_name('mission-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.GetCurrentMissionMasterRequest
import io.gs2.mission.result.GetCurrentMissionMasterResult

result = client.getCurrentMissionMaster(
    GetCurrentMissionMasterRequest()
        .withNamespaceName("mission-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import GetCurrentMissionMasterRequest
from gs2_mission_client.result import GetCurrentMissionMasterResult

def callback(async_result: AsyncResult[GetCurrentMissionMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_current_mission_master_async(
    GetCurrentMissionMasterRequest()\
        .with_namespace_name('mission-0001'),
    callback
)
import io.gs2.mission.request.GetCurrentMissionMasterRequest
import io.gs2.mission.result.GetCurrentMissionMasterResult

result = client.getCurrentMissionMaster(
    GetCurrentMissionMasterRequest()
        .withNamespaceName("mission-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

現在有効なミッションを取得します

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
パラメータ データ型 説明
item CurrentMissionMaster 現在有効なミッション

getMissionGroupModel

同期処理

from gs2_mission_client.request import GetMissionGroupModelRequest
from gs2_mission_client.result import GetMissionGroupModelResult

result = client.get_mission_group_model(
    GetMissionGroupModelRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.GetMissionGroupModelRequest
import io.gs2.mission.result.GetMissionGroupModelResult

result = client.getMissionGroupModel(
    GetMissionGroupModelRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import GetMissionGroupModelRequest
from gs2_mission_client.result import GetMissionGroupModelResult

def callback(async_result: AsyncResult[GetMissionGroupModelResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_mission_group_model_async(
    GetMissionGroupModelRequest()\
    callback
)
import io.gs2.mission.request.GetMissionGroupModelRequest
import io.gs2.mission.result.GetMissionGroupModelResult

result = client.getMissionGroupModel(
    GetMissionGroupModelRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ミッショングループを取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true グループ名
パラメータ データ型 説明
item MissionGroupModel ミッショングループ

getMissionGroupModelMaster

同期処理

from gs2_mission_client.request import GetMissionGroupModelMasterRequest
from gs2_mission_client.result import GetMissionGroupModelMasterResult

result = client.get_mission_group_model_master(
    GetMissionGroupModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.GetMissionGroupModelMasterRequest
import io.gs2.mission.result.GetMissionGroupModelMasterResult

result = client.getMissionGroupModelMaster(
    GetMissionGroupModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import GetMissionGroupModelMasterRequest
from gs2_mission_client.result import GetMissionGroupModelMasterResult

def callback(async_result: AsyncResult[GetMissionGroupModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_mission_group_model_master_async(
    GetMissionGroupModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001'),
    callback
)
import io.gs2.mission.request.GetMissionGroupModelMasterRequest
import io.gs2.mission.result.GetMissionGroupModelMasterResult

result = client.getMissionGroupModelMaster(
    GetMissionGroupModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ミッショングループマスターを取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true ミッショングループ名
パラメータ データ型 説明
item MissionGroupModelMaster ミッショングループマスター

getMissionTaskModel

同期処理

from gs2_mission_client.request import GetMissionTaskModelRequest
from gs2_mission_client.result import GetMissionTaskModelResult

result = client.get_mission_task_model(
    GetMissionTaskModelRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.GetMissionTaskModelRequest
import io.gs2.mission.result.GetMissionTaskModelResult

result = client.getMissionTaskModel(
    GetMissionTaskModelRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import GetMissionTaskModelRequest
from gs2_mission_client.result import GetMissionTaskModelResult

def callback(async_result: AsyncResult[GetMissionTaskModelResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_mission_task_model_async(
    GetMissionTaskModelRequest()\
    callback
)
import io.gs2.mission.request.GetMissionTaskModelRequest
import io.gs2.mission.result.GetMissionTaskModelResult

result = client.getMissionTaskModel(
    GetMissionTaskModelRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ミッションタスクを取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true グループ名
missionTaskName string true タスク名
パラメータ データ型 説明
item MissionTaskModel ミッションタスク

getMissionTaskModelMaster

同期処理

from gs2_mission_client.request import GetMissionTaskModelMasterRequest
from gs2_mission_client.result import GetMissionTaskModelMasterResult

result = client.get_mission_task_model_master(
    GetMissionTaskModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001')\
        .with_mission_task_name('mission-task-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.GetMissionTaskModelMasterRequest
import io.gs2.mission.result.GetMissionTaskModelMasterResult

result = client.getMissionTaskModelMaster(
    GetMissionTaskModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001")
        .withMissionTaskName("mission-task-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import GetMissionTaskModelMasterRequest
from gs2_mission_client.result import GetMissionTaskModelMasterResult

def callback(async_result: AsyncResult[GetMissionTaskModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_mission_task_model_master_async(
    GetMissionTaskModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001')\
        .with_mission_task_name('mission-task-0001'),
    callback
)
import io.gs2.mission.request.GetMissionTaskModelMasterRequest
import io.gs2.mission.result.GetMissionTaskModelMasterResult

result = client.getMissionTaskModelMaster(
    GetMissionTaskModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001")
        .withMissionTaskName("mission-task-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ミッションタスクマスターを取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true ミッショングループ名
missionTaskName string true タスク名
パラメータ データ型 説明
item MissionTaskModelMaster ミッションタスクマスター

getNamespace

同期処理

from gs2_mission_client.request import GetNamespaceRequest
from gs2_mission_client.result import GetNamespaceResult

result = client.get_namespace(
    GetNamespaceRequest()\
        .with_namespace_name('mission-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.GetNamespaceRequest
import io.gs2.mission.result.GetNamespaceResult

result = client.getNamespace(
    GetNamespaceRequest()
        .withNamespaceName("mission-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import GetNamespaceRequest
from gs2_mission_client.result import GetNamespaceResult

def callback(async_result: AsyncResult[GetNamespaceResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_namespace_async(
    GetNamespaceRequest()\
        .with_namespace_name('mission-0001'),
    callback
)
import io.gs2.mission.request.GetNamespaceRequest
import io.gs2.mission.result.GetNamespaceResult

result = client.getNamespace(
    GetNamespaceRequest()
        .withNamespaceName("mission-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ネームスペースを取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
パラメータ データ型 説明
item Namespace ネームスペース

getNamespaceStatus

同期処理

from gs2_mission_client.request import GetNamespaceStatusRequest
from gs2_mission_client.result import GetNamespaceStatusResult

result = client.get_namespace_status(
    GetNamespaceStatusRequest()\
        .with_namespace_name('mission-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.GetNamespaceStatusRequest
import io.gs2.mission.result.GetNamespaceStatusResult

result = client.getNamespaceStatus(
    GetNamespaceStatusRequest()
        .withNamespaceName("mission-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import GetNamespaceStatusRequest
from gs2_mission_client.result import GetNamespaceStatusResult

def callback(async_result: AsyncResult[GetNamespaceStatusResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.get_namespace_status_async(
    GetNamespaceStatusRequest()\
        .with_namespace_name('mission-0001'),
    callback
)
import io.gs2.mission.request.GetNamespaceStatusRequest
import io.gs2.mission.result.GetNamespaceStatusResult

result = client.getNamespaceStatus(
    GetNamespaceStatusRequest()
        .withNamespaceName("mission-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ネームスペースの状態を取得

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
パラメータ データ型 説明
status string

increaseByStampSheet

同期処理

from gs2_mission_client.request import IncreaseByStampSheetRequest
from gs2_mission_client.result import IncreaseByStampSheetResult

result = client.increase_by_stamp_sheet(
    IncreaseByStampSheetRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.IncreaseByStampSheetRequest
import io.gs2.mission.result.IncreaseByStampSheetResult

result = client.increaseByStampSheet(
    IncreaseByStampSheetRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import IncreaseByStampSheetRequest
from gs2_mission_client.result import IncreaseByStampSheetResult

def callback(async_result: AsyncResult[IncreaseByStampSheetResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.increase_by_stamp_sheet_async(
    IncreaseByStampSheetRequest()\
    callback
)
import io.gs2.mission.request.IncreaseByStampSheetRequest
import io.gs2.mission.result.IncreaseByStampSheetResult

result = client.increaseByStampSheet(
    IncreaseByStampSheetRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

カウンター加算

パラメータ データ型 必須 説明
stampSheet string true スタンプシート
keyId string true スタンプシートの署名検証に使用する 暗号鍵 のGRN
パラメータ データ型 説明
item Counter カウンター加算後のカウンター

increaseCounterByUserId

同期処理

from gs2_mission_client.request import IncreaseCounterByUserIdRequest
from gs2_mission_client.result import IncreaseCounterByUserIdResult

result = client.increase_counter_by_user_id(
    IncreaseCounterByUserIdRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.IncreaseCounterByUserIdRequest
import io.gs2.mission.result.IncreaseCounterByUserIdResult

result = client.increaseCounterByUserId(
    IncreaseCounterByUserIdRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import IncreaseCounterByUserIdRequest
from gs2_mission_client.result import IncreaseCounterByUserIdResult

def callback(async_result: AsyncResult[IncreaseCounterByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.increase_counter_by_user_id_async(
    IncreaseCounterByUserIdRequest()\
    callback
)
import io.gs2.mission.request.IncreaseCounterByUserIdRequest
import io.gs2.mission.result.IncreaseCounterByUserIdResult

result = client.increaseCounterByUserId(
    IncreaseCounterByUserIdRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

カウンターに加算

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
counterName string true カウンター名
userId string false ユーザーID
value long true 加算する値
パラメータ データ型 説明
item Counter 作成したカウンター

receiveByStampTask

同期処理

from gs2_mission_client.request import ReceiveByStampTaskRequest
from gs2_mission_client.result import ReceiveByStampTaskResult

result = client.receive_by_stamp_task(
    ReceiveByStampTaskRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.ReceiveByStampTaskRequest
import io.gs2.mission.result.ReceiveByStampTaskResult

result = client.receiveByStampTask(
    ReceiveByStampTaskRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import ReceiveByStampTaskRequest
from gs2_mission_client.result import ReceiveByStampTaskResult

def callback(async_result: AsyncResult[ReceiveByStampTaskResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.receive_by_stamp_task_async(
    ReceiveByStampTaskRequest()\
    callback
)
import io.gs2.mission.request.ReceiveByStampTaskRequest
import io.gs2.mission.result.ReceiveByStampTaskResult

result = client.receiveByStampTask(
    ReceiveByStampTaskRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

達成状況を作成

パラメータ データ型 必須 説明
stampTask string true スタンプタスク
keyId string true スタンプタスクの署名検証に使用する 暗号鍵 のGRN
パラメータ データ型 説明
item Complete 達成状況
newContextStack string スタンプタスクの実行結果を記録したコンテキスト

receiveByUserId

同期処理

from gs2_mission_client.request import ReceiveByUserIdRequest
from gs2_mission_client.result import ReceiveByUserIdResult

result = client.receive_by_user_id(
    ReceiveByUserIdRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.ReceiveByUserIdRequest
import io.gs2.mission.result.ReceiveByUserIdResult

result = client.receiveByUserId(
    ReceiveByUserIdRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import ReceiveByUserIdRequest
from gs2_mission_client.result import ReceiveByUserIdResult

def callback(async_result: AsyncResult[ReceiveByUserIdResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.receive_by_user_id_async(
    ReceiveByUserIdRequest()\
    callback
)
import io.gs2.mission.request.ReceiveByUserIdRequest
import io.gs2.mission.result.ReceiveByUserIdResult

result = client.receiveByUserId(
    ReceiveByUserIdRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ミッション達成報酬を受領する

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true ミッショングループ名
missionTaskName string true タスク名
userId string false ユーザーID
パラメータ データ型 説明
item Complete 受領した達成状況

updateCounterModelMaster

同期処理

from gs2_mission_client.request import UpdateCounterModelMasterRequest
from gs2_mission_client.result import UpdateCounterModelMasterResult

result = client.update_counter_model_master(
    UpdateCounterModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_counter_name('counter-0001')\
        .with_metadata('COUNTER1')\
        .with_description('description1')\
        .with_scopes([
Object("CounterScopeModel", {"resetType": 'monthly', "resetHour": 5, "resetDayOfMonth": 1})
])\
        .with_challenge_period_event_id('grn:gs2:{region}:{ownerId}:schedule:namespace-0001:event:event-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.UpdateCounterModelMasterRequest
import io.gs2.mission.result.UpdateCounterModelMasterResult

result = client.updateCounterModelMaster(
    UpdateCounterModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withCounterName("counter-0001")
        .withMetadata("COUNTER1")
        .withDescription("description1")
        .withScopes(new [] {
Object("CounterScopeModel", {"resetType": "monthly", "resetHour": 5, "resetDayOfMonth": 1})
})
        .withChallengePeriodEventId("grn:gs2:{region}:{ownerId}:schedule:namespace-0001:event:event-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import UpdateCounterModelMasterRequest
from gs2_mission_client.result import UpdateCounterModelMasterResult

def callback(async_result: AsyncResult[UpdateCounterModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.update_counter_model_master_async(
    UpdateCounterModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_counter_name('counter-0001')\
        .with_metadata('COUNTER1')\
        .with_description('description1')\
        .with_scopes([
Object("CounterScopeModel", {"resetType": 'monthly', "resetHour": 5, "resetDayOfMonth": 1})
])\
        .with_challenge_period_event_id('grn:gs2:{region}:{ownerId}:schedule:namespace-0001:event:event-0001'),
    callback
)
import io.gs2.mission.request.UpdateCounterModelMasterRequest
import io.gs2.mission.result.UpdateCounterModelMasterResult

result = client.updateCounterModelMaster(
    UpdateCounterModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withCounterName("counter-0001")
        .withMetadata("COUNTER1")
        .withDescription("description1")
        .withScopes(new [] {
Object("CounterScopeModel", {"resetType": "monthly", "resetHour": 5, "resetDayOfMonth": 1})
})
        .withChallengePeriodEventId("grn:gs2:{region}:{ownerId}:schedule:namespace-0001:event:event-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

カウンターの種類マスターを更新

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
counterName string true カウンター名
metadata string false メタデータ
description string false カウンターの種類マスターの説明
scopes list[CounterScopeModel] true カウンターのリセットタイミング
challengePeriodEventId string false カウントアップ可能な期間を指定するイベントマスター のGRN
パラメータ データ型 説明
item CounterModelMaster 更新したカウンターの種類マスター

updateCurrentMissionMaster

同期処理

from gs2_mission_client.request import UpdateCurrentMissionMasterRequest
from gs2_mission_client.result import UpdateCurrentMissionMasterResult

result = client.update_current_mission_master(
    UpdateCurrentMissionMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_settings('{\n  "version": "2019-05-28",\n  "groups": [\n    {\n      "name": "daily",\n      "metadata": "DAILY",\n      "tasks": [\n        {\n          "name": "quest_x10",\n          "metadata": "QUEST_X10",\n          "counterName": "quest_complete",\n          "resetType": "daily",\n          "targetValue": 10,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 10}"\n            }\n          ]\n        },\n        {\n          "name": "quest_x20",\n          "metadata": "QUEST_X20",\n          "counterName": "quest_complete",\n          "resetType": "daily",\n          "premiseMissionTaskName": "quest_x10",\n          "targetValue": 20,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 20}"\n            }\n          ]\n        },\n        {\n          "name": "gacha",\n          "metadata": "GACHA",\n          "counterName": "lot_gacha",\n          "resetType": "daily",\n          "targetValue": 1,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 30}"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      "name": "weekly",\n      "metadata": "WEEKLY",\n      "tasks": [\n        {\n          "name": "quest_x100",\n          "metadata": "QUEST_X100",\n          "counterName": "quest_complete",\n          "resetType": "weekly",\n          "targetValue": 100,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 40}"\n            }\n          ]\n        },\n        {\n          "name": "quest_x1000",\n          "metadata": "QUEST_X1000",\n          "counterName": "quest_complete",\n          "resetType": "weekly",\n          "premiseMissionTaskName": "quest_x100",\n          "targetValue": 1000,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 50}"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      "name": "story",\n      "metadata": "STORY",\n      "tasks": [\n        {\n          "name": "quest_1-1",\n          "metadata": "QUEST_1-1",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_1-2",\n          "metadata": "QUEST_1-2",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-1",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_1-3",\n          "metadata": "QUEST_1-3",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-2",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_1-4",\n          "metadata": "QUEST_1-4",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-3",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_2-1",\n          "metadata": "QUEST_2-1",\n          "counterName": "quest2",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-4",\n          "targetValue": 1\n        }\n      ]\n    }\n  ],\n  "counters": [\n    {\n      "name": "quest_complete",\n      "metadata": "QUEST_COMPLETE",\n      "scopes": [\n        {\n          "resetType": "daily",\n          "resetHour": 5\n        },\n        {\n          "resetType": "weekly",\n          "resetDayOfWeek": "monday",\n          "resetHour": 5\n        }\n      ]\n    },\n    {\n      "name": "lot_gacha",\n      "metadata": "LOT_GACHA",\n      "scopes": [\n        {\n          "resetType": "daily",\n          "resetHour": 5\n        }\n      ]\n    },\n    {\n      "name": "quest1",\n      "metadata": "QUEST1",\n      "scopes": [\n        {\n          "resetType": "notReset"\n        }\n      ]\n    },\n    {\n      "name": "quest2",\n      "metadata": "QUEST2",\n      "scopes": [\n        {\n          "resetType": "notReset"\n        }\n      ]\n    }\n  ]\n}')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.UpdateCurrentMissionMasterRequest
import io.gs2.mission.result.UpdateCurrentMissionMasterResult

result = client.updateCurrentMissionMaster(
    UpdateCurrentMissionMasterRequest()
        .withNamespaceName("mission-0001")
        .withSettings("{\n  "version": "2019-05-28",\n  "groups": [\n    {\n      "name": "daily",\n      "metadata": "DAILY",\n      "tasks": [\n        {\n          "name": "quest_x10",\n          "metadata": "QUEST_X10",\n          "counterName": "quest_complete",\n          "resetType": "daily",\n          "targetValue": 10,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 10}"\n            }\n          ]\n        },\n        {\n          "name": "quest_x20",\n          "metadata": "QUEST_X20",\n          "counterName": "quest_complete",\n          "resetType": "daily",\n          "premiseMissionTaskName": "quest_x10",\n          "targetValue": 20,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 20}"\n            }\n          ]\n        },\n        {\n          "name": "gacha",\n          "metadata": "GACHA",\n          "counterName": "lot_gacha",\n          "resetType": "daily",\n          "targetValue": 1,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 30}"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      "name": "weekly",\n      "metadata": "WEEKLY",\n      "tasks": [\n        {\n          "name": "quest_x100",\n          "metadata": "QUEST_X100",\n          "counterName": "quest_complete",\n          "resetType": "weekly",\n          "targetValue": 100,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 40}"\n            }\n          ]\n        },\n        {\n          "name": "quest_x1000",\n          "metadata": "QUEST_X1000",\n          "counterName": "quest_complete",\n          "resetType": "weekly",\n          "premiseMissionTaskName": "quest_x100",\n          "targetValue": 1000,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 50}"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      "name": "story",\n      "metadata": "STORY",\n      "tasks": [\n        {\n          "name": "quest_1-1",\n          "metadata": "QUEST_1-1",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_1-2",\n          "metadata": "QUEST_1-2",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-1",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_1-3",\n          "metadata": "QUEST_1-3",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-2",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_1-4",\n          "metadata": "QUEST_1-4",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-3",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_2-1",\n          "metadata": "QUEST_2-1",\n          "counterName": "quest2",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-4",\n          "targetValue": 1\n        }\n      ]\n    }\n  ],\n  "counters": [\n    {\n      "name": "quest_complete",\n      "metadata": "QUEST_COMPLETE",\n      "scopes": [\n        {\n          "resetType": "daily",\n          "resetHour": 5\n        },\n        {\n          "resetType": "weekly",\n          "resetDayOfWeek": "monday",\n          "resetHour": 5\n        }\n      ]\n    },\n    {\n      "name": "lot_gacha",\n      "metadata": "LOT_GACHA",\n      "scopes": [\n        {\n          "resetType": "daily",\n          "resetHour": 5\n        }\n      ]\n    },\n    {\n      "name": "quest1",\n      "metadata": "QUEST1",\n      "scopes": [\n        {\n          "resetType": "notReset"\n        }\n      ]\n    },\n    {\n      "name": "quest2",\n      "metadata": "QUEST2",\n      "scopes": [\n        {\n          "resetType": "notReset"\n        }\n      ]\n    }\n  ]\n}")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import UpdateCurrentMissionMasterRequest
from gs2_mission_client.result import UpdateCurrentMissionMasterResult

def callback(async_result: AsyncResult[UpdateCurrentMissionMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.update_current_mission_master_async(
    UpdateCurrentMissionMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_settings('{\n  "version": "2019-05-28",\n  "groups": [\n    {\n      "name": "daily",\n      "metadata": "DAILY",\n      "tasks": [\n        {\n          "name": "quest_x10",\n          "metadata": "QUEST_X10",\n          "counterName": "quest_complete",\n          "resetType": "daily",\n          "targetValue": 10,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 10}"\n            }\n          ]\n        },\n        {\n          "name": "quest_x20",\n          "metadata": "QUEST_X20",\n          "counterName": "quest_complete",\n          "resetType": "daily",\n          "premiseMissionTaskName": "quest_x10",\n          "targetValue": 20,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 20}"\n            }\n          ]\n        },\n        {\n          "name": "gacha",\n          "metadata": "GACHA",\n          "counterName": "lot_gacha",\n          "resetType": "daily",\n          "targetValue": 1,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 30}"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      "name": "weekly",\n      "metadata": "WEEKLY",\n      "tasks": [\n        {\n          "name": "quest_x100",\n          "metadata": "QUEST_X100",\n          "counterName": "quest_complete",\n          "resetType": "weekly",\n          "targetValue": 100,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 40}"\n            }\n          ]\n        },\n        {\n          "name": "quest_x1000",\n          "metadata": "QUEST_X1000",\n          "counterName": "quest_complete",\n          "resetType": "weekly",\n          "premiseMissionTaskName": "quest_x100",\n          "targetValue": 1000,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 50}"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      "name": "story",\n      "metadata": "STORY",\n      "tasks": [\n        {\n          "name": "quest_1-1",\n          "metadata": "QUEST_1-1",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_1-2",\n          "metadata": "QUEST_1-2",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-1",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_1-3",\n          "metadata": "QUEST_1-3",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-2",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_1-4",\n          "metadata": "QUEST_1-4",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-3",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_2-1",\n          "metadata": "QUEST_2-1",\n          "counterName": "quest2",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-4",\n          "targetValue": 1\n        }\n      ]\n    }\n  ],\n  "counters": [\n    {\n      "name": "quest_complete",\n      "metadata": "QUEST_COMPLETE",\n      "scopes": [\n        {\n          "resetType": "daily",\n          "resetHour": 5\n        },\n        {\n          "resetType": "weekly",\n          "resetDayOfWeek": "monday",\n          "resetHour": 5\n        }\n      ]\n    },\n    {\n      "name": "lot_gacha",\n      "metadata": "LOT_GACHA",\n      "scopes": [\n        {\n          "resetType": "daily",\n          "resetHour": 5\n        }\n      ]\n    },\n    {\n      "name": "quest1",\n      "metadata": "QUEST1",\n      "scopes": [\n        {\n          "resetType": "notReset"\n        }\n      ]\n    },\n    {\n      "name": "quest2",\n      "metadata": "QUEST2",\n      "scopes": [\n        {\n          "resetType": "notReset"\n        }\n      ]\n    }\n  ]\n}'),
    callback
)
import io.gs2.mission.request.UpdateCurrentMissionMasterRequest
import io.gs2.mission.result.UpdateCurrentMissionMasterResult

result = client.updateCurrentMissionMaster(
    UpdateCurrentMissionMasterRequest()
        .withNamespaceName("mission-0001")
        .withSettings("{\n  "version": "2019-05-28",\n  "groups": [\n    {\n      "name": "daily",\n      "metadata": "DAILY",\n      "tasks": [\n        {\n          "name": "quest_x10",\n          "metadata": "QUEST_X10",\n          "counterName": "quest_complete",\n          "resetType": "daily",\n          "targetValue": 10,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 10}"\n            }\n          ]\n        },\n        {\n          "name": "quest_x20",\n          "metadata": "QUEST_X20",\n          "counterName": "quest_complete",\n          "resetType": "daily",\n          "premiseMissionTaskName": "quest_x10",\n          "targetValue": 20,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 20}"\n            }\n          ]\n        },\n        {\n          "name": "gacha",\n          "metadata": "GACHA",\n          "counterName": "lot_gacha",\n          "resetType": "daily",\n          "targetValue": 1,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 30}"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      "name": "weekly",\n      "metadata": "WEEKLY",\n      "tasks": [\n        {\n          "name": "quest_x100",\n          "metadata": "QUEST_X100",\n          "counterName": "quest_complete",\n          "resetType": "weekly",\n          "targetValue": 100,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 40}"\n            }\n          ]\n        },\n        {\n          "name": "quest_x1000",\n          "metadata": "QUEST_X1000",\n          "counterName": "quest_complete",\n          "resetType": "weekly",\n          "premiseMissionTaskName": "quest_x100",\n          "targetValue": 1000,\n          "completeAcquireActions": [\n            {\n              "action": "Gs2Experience:AddExperienceByUserId",\n              "request": "{\\\"experienceName\\\": \\\"basic\\\", \\\"userId\\\": \\\"${userId}\\\", \\\"experienceModelName\\\": \\\"player\\\", \\\"propertyId\\\": \\\"player\\\", \\\"experienceValue\\\": 50}"\n            }\n          ]\n        }\n      ]\n    },\n    {\n      "name": "story",\n      "metadata": "STORY",\n      "tasks": [\n        {\n          "name": "quest_1-1",\n          "metadata": "QUEST_1-1",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_1-2",\n          "metadata": "QUEST_1-2",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-1",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_1-3",\n          "metadata": "QUEST_1-3",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-2",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_1-4",\n          "metadata": "QUEST_1-4",\n          "counterName": "quest1",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-3",\n          "targetValue": 1\n        },\n        {\n          "name": "quest_2-1",\n          "metadata": "QUEST_2-1",\n          "counterName": "quest2",\n          "resetType": "notReset",\n          "premiseMissionTaskName": "quest_1-4",\n          "targetValue": 1\n        }\n      ]\n    }\n  ],\n  "counters": [\n    {\n      "name": "quest_complete",\n      "metadata": "QUEST_COMPLETE",\n      "scopes": [\n        {\n          "resetType": "daily",\n          "resetHour": 5\n        },\n        {\n          "resetType": "weekly",\n          "resetDayOfWeek": "monday",\n          "resetHour": 5\n        }\n      ]\n    },\n    {\n      "name": "lot_gacha",\n      "metadata": "LOT_GACHA",\n      "scopes": [\n        {\n          "resetType": "daily",\n          "resetHour": 5\n        }\n      ]\n    },\n    {\n      "name": "quest1",\n      "metadata": "QUEST1",\n      "scopes": [\n        {\n          "resetType": "notReset"\n        }\n      ]\n    },\n    {\n      "name": "quest2",\n      "metadata": "QUEST2",\n      "scopes": [\n        {\n          "resetType": "notReset"\n        }\n      ]\n    }\n  ]\n}"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)
Type: GS2::Mission::CurrentMissionMaster
Properties:
  NamespaceName: String
  Settings: String

現在有効なミッションを更新します

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
settings string true マスターデータ
パラメータ データ型 説明
item CurrentMissionMaster 更新した現在有効なミッション

updateCurrentMissionMasterFromGitHub

同期処理

from gs2_mission_client.request import UpdateCurrentMissionMasterFromGitHubRequest
from gs2_mission_client.result import UpdateCurrentMissionMasterFromGitHubResult

result = client.update_current_mission_master_from_git_hub(
    UpdateCurrentMissionMasterFromGitHubRequest()\
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.UpdateCurrentMissionMasterFromGitHubRequest
import io.gs2.mission.result.UpdateCurrentMissionMasterFromGitHubResult

result = client.updateCurrentMissionMasterFromGitHub(
    UpdateCurrentMissionMasterFromGitHubRequest()
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import UpdateCurrentMissionMasterFromGitHubRequest
from gs2_mission_client.result import UpdateCurrentMissionMasterFromGitHubResult

def callback(async_result: AsyncResult[UpdateCurrentMissionMasterFromGitHubResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.update_current_mission_master_from_git_hub_async(
    UpdateCurrentMissionMasterFromGitHubRequest()\
    callback
)
import io.gs2.mission.request.UpdateCurrentMissionMasterFromGitHubRequest
import io.gs2.mission.result.UpdateCurrentMissionMasterFromGitHubResult

result = client.updateCurrentMissionMasterFromGitHub(
    UpdateCurrentMissionMasterFromGitHubRequest(),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

現在有効なミッションを更新します

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
checkoutSetting GitHubCheckoutSetting true GitHubからマスターデータをチェックアウトしてくる設定
パラメータ データ型 説明
item CurrentMissionMaster 更新した現在有効なミッション

updateMissionGroupModelMaster

同期処理

from gs2_mission_client.request import UpdateMissionGroupModelMasterRequest
from gs2_mission_client.result import UpdateMissionGroupModelMasterResult

result = client.update_mission_group_model_master(
    UpdateMissionGroupModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001')\
        .with_metadata('MISSION_GROUP1')\
        .with_description('description1')\
        .with_complete_notification_namespace_id('grn:gs2:ap-northeast-1:{ownerId}:gateway:game-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.UpdateMissionGroupModelMasterRequest
import io.gs2.mission.result.UpdateMissionGroupModelMasterResult

result = client.updateMissionGroupModelMaster(
    UpdateMissionGroupModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001")
        .withMetadata("MISSION_GROUP1")
        .withDescription("description1")
        .withCompleteNotificationNamespaceId("grn:gs2:ap-northeast-1:{ownerId}:gateway:game-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import UpdateMissionGroupModelMasterRequest
from gs2_mission_client.result import UpdateMissionGroupModelMasterResult

def callback(async_result: AsyncResult[UpdateMissionGroupModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.update_mission_group_model_master_async(
    UpdateMissionGroupModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001')\
        .with_metadata('MISSION_GROUP1')\
        .with_description('description1')\
        .with_complete_notification_namespace_id('grn:gs2:ap-northeast-1:{ownerId}:gateway:game-0001'),
    callback
)
import io.gs2.mission.request.UpdateMissionGroupModelMasterRequest
import io.gs2.mission.result.UpdateMissionGroupModelMasterResult

result = client.updateMissionGroupModelMaster(
    UpdateMissionGroupModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001")
        .withMetadata("MISSION_GROUP1")
        .withDescription("description1")
        .withCompleteNotificationNamespaceId("grn:gs2:ap-northeast-1:{ownerId}:gateway:game-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ミッショングループマスターを更新

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true ミッショングループ名
metadata string false メタデータ
description string false ミッショングループの説明
completeNotificationNamespaceId string false ミッションを達成したときの通知先ネームスペース のGRN
パラメータ データ型 説明
item MissionGroupModelMaster 更新したミッショングループマスター

updateMissionTaskModelMaster

同期処理

from gs2_mission_client.request import UpdateMissionTaskModelMasterRequest
from gs2_mission_client.result import UpdateMissionTaskModelMasterResult

result = client.update_mission_task_model_master(
    UpdateMissionTaskModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001')\
        .with_mission_task_name('mission-task-0001')\
        .with_metadata('MISSION_TASK1')\
        .with_description('description1')\
        .with_counter_name('counter-0001')\
        .with_reset_type('notReset')\
        .with_target_value(100)\
        .with_complete_acquire_actions([
Object("AcquireAction", {"action": 'Gs2Stamina:RecoverStaminaByUserId', "request": 'Gs2Stamina:RecoverStaminaByUserId-request'})
])\
        .with_challenge_period_event_id('grn:gs2:{region}:{ownerId}:schedule:namespace-0001:event:event-0001')
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.UpdateMissionTaskModelMasterRequest
import io.gs2.mission.result.UpdateMissionTaskModelMasterResult

result = client.updateMissionTaskModelMaster(
    UpdateMissionTaskModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001")
        .withMissionTaskName("mission-task-0001")
        .withMetadata("MISSION_TASK1")
        .withDescription("description1")
        .withCounterName("counter-0001")
        .withResetType("notReset")
        .withTargetValue(100l)
        .withCompleteAcquireActions(new [] {
Object("AcquireAction", {"action": "Gs2Stamina:RecoverStaminaByUserId", "request": "Gs2Stamina:RecoverStaminaByUserId-request"})
})
        .withChallengePeriodEventId("grn:gs2:{region}:{ownerId}:schedule:namespace-0001:event:event-0001")
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import UpdateMissionTaskModelMasterRequest
from gs2_mission_client.result import UpdateMissionTaskModelMasterResult

def callback(async_result: AsyncResult[UpdateMissionTaskModelMasterResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.update_mission_task_model_master_async(
    UpdateMissionTaskModelMasterRequest()\
        .with_namespace_name('mission-0001')\
        .with_mission_group_name('mission-group-0001')\
        .with_mission_task_name('mission-task-0001')\
        .with_metadata('MISSION_TASK1')\
        .with_description('description1')\
        .with_counter_name('counter-0001')\
        .with_reset_type('notReset')\
        .with_target_value(100)\
        .with_complete_acquire_actions([
Object("AcquireAction", {"action": 'Gs2Stamina:RecoverStaminaByUserId', "request": 'Gs2Stamina:RecoverStaminaByUserId-request'})
])\
        .with_challenge_period_event_id('grn:gs2:{region}:{ownerId}:schedule:namespace-0001:event:event-0001'),
    callback
)
import io.gs2.mission.request.UpdateMissionTaskModelMasterRequest
import io.gs2.mission.result.UpdateMissionTaskModelMasterResult

result = client.updateMissionTaskModelMaster(
    UpdateMissionTaskModelMasterRequest()
        .withNamespaceName("mission-0001")
        .withMissionGroupName("mission-group-0001")
        .withMissionTaskName("mission-task-0001")
        .withMetadata("MISSION_TASK1")
        .withDescription("description1")
        .withCounterName("counter-0001")
        .withResetType("notReset")
        .withTargetValue(100l)
        .withCompleteAcquireActions(new [] {
Object("AcquireAction", {"action": "Gs2Stamina:RecoverStaminaByUserId", "request": "Gs2Stamina:RecoverStaminaByUserId-request"})
})
        .withChallengePeriodEventId("grn:gs2:{region}:{ownerId}:schedule:namespace-0001:event:event-0001"),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ミッションタスクマスターを更新

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
missionGroupName string true ミッショングループ名
missionTaskName string true タスク名
metadata string false メタデータ
description string false ミッションタスクの説明
counterName string true カウンター名
resetType string true リセットタイミング
targetValue long true 目標値
completeAcquireActions list[AcquireAction] true ミッション達成時の報酬
challengePeriodEventId string false 達成報酬の受け取り可能な期間を指定するイベントマスター のGRN
premiseMissionTaskName string false このタスクに挑戦するために達成しておく必要のあるタスクの名前
パラメータ データ型 説明
item MissionTaskModelMaster 更新したミッションタスクマスター

updateNamespace

同期処理

from gs2_mission_client.request import UpdateNamespaceRequest
from gs2_mission_client.result import UpdateNamespaceResult

result = client.update_namespace(
    UpdateNamespaceRequest()\
        .with_namespace_name('mission-0001')\
        .with_description('description1')\
        .with_mission_complete_trigger_script_id('grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1001')\
        .with_mission_complete_done_trigger_script_id('grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1002')\
        .with_counter_increment_trigger_script_id('grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1003')\
        .with_counter_increment_done_trigger_script_id('grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1004')\
        .with_receive_rewards_trigger_script_id('grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1005')\
        .with_receive_rewards_done_trigger_script_id('grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1006')\
        .with_queue_namespace_id('grn:gs2:{region}:{ownerId}:queue:namespace-0001')\
        .with_key_id('grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-1002')\
        .with_log_setting(Object("LogSetting", {"loggingNamespaceId": 'grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001'}))
)
# エラー発生時には例外が発生
# result が成功結果が格納
import io.gs2.mission.request.UpdateNamespaceRequest
import io.gs2.mission.result.UpdateNamespaceResult

result = client.updateNamespace(
    UpdateNamespaceRequest()
        .withNamespaceName("mission-0001")
        .withDescription("description1")
        .withMissionCompleteTriggerScriptId("grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1001")
        .withMissionCompleteDoneTriggerScriptId("grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1002")
        .withCounterIncrementTriggerScriptId("grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1003")
        .withCounterIncrementDoneTriggerScriptId("grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1004")
        .withReceiveRewardsTriggerScriptId("grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1005")
        .withReceiveRewardsDoneTriggerScriptId("grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1006")
        .withQueueNamespaceId("grn:gs2:{region}:{ownerId}:queue:namespace-0001")
        .withKeyId("grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-1002")
        .withLogSetting(Object("LogSetting", {"loggingNamespaceId": "grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001"}))
)
// エラー発生時には例外が発生
// result が成功結果が格納
同期APIは実装されていません

非同期処理

from gs2_mission_client.request import UpdateNamespaceRequest
from gs2_mission_client.result import UpdateNamespaceResult

def callback(async_result: AsyncResult[UpdateNamespaceResult]):
    if async_result.error:
        #  エラー発生時には async_result.error に例外が格納
        raise async_result.error
    # async_result.result が成功結果格納

result = client.update_namespace_async(
    UpdateNamespaceRequest()\
        .with_namespace_name('mission-0001')\
        .with_description('description1')\
        .with_mission_complete_trigger_script_id('grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1001')\
        .with_mission_complete_done_trigger_script_id('grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1002')\
        .with_counter_increment_trigger_script_id('grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1003')\
        .with_counter_increment_done_trigger_script_id('grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1004')\
        .with_receive_rewards_trigger_script_id('grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1005')\
        .with_receive_rewards_done_trigger_script_id('grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1006')\
        .with_queue_namespace_id('grn:gs2:{region}:{ownerId}:queue:namespace-0001')\
        .with_key_id('grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-1002')\
        .with_log_setting(Object("LogSetting", {"loggingNamespaceId": 'grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001'})),
    callback
)
import io.gs2.mission.request.UpdateNamespaceRequest
import io.gs2.mission.result.UpdateNamespaceResult

result = client.updateNamespace(
    UpdateNamespaceRequest()
        .withNamespaceName("mission-0001")
        .withDescription("description1")
        .withMissionCompleteTriggerScriptId("grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1001")
        .withMissionCompleteDoneTriggerScriptId("grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1002")
        .withCounterIncrementTriggerScriptId("grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1003")
        .withCounterIncrementDoneTriggerScriptId("grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1004")
        .withReceiveRewardsTriggerScriptId("grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1005")
        .withReceiveRewardsDoneTriggerScriptId("grn:gs2:{region}:{ownerId}:script:namespace-0001:script:script-1006")
        .withQueueNamespaceId("grn:gs2:{region}:{ownerId}:queue:namespace-0001")
        .withKeyId("grn:gs2:{region}:{ownerId}:key:namespace-0001:key:key-1002")
        .withLogSetting(Object("LogSetting", {"loggingNamespaceId": "grn:gs2:ap-northeast-1:{ownerId}:log:namespace-0001"})),
    (result) => {
        if (result.getError() != null) {
            // エラー発生時には result.getError() で例外を取得
            throw result.getError()
        }
        // result.getResult() で成功結果を取得
    }
)

GS2-Deploy から利用できません

ネームスペースを更新

パラメータ データ型 必須 説明
namespaceName string true ネームスペース名
description string false ネームスペースの説明
missionCompleteTriggerScriptId string false ミッション達成時 に実行されるスクリプト のGRN
missionCompleteDoneTriggerScriptId string false ミッション達成完了時 に実行されるスクリプト のGRN
missionCompleteDoneTriggerQueueNamespaceId string false ミッション達成完了時 にジョブが登録されるネームスペース のGRN
counterIncrementTriggerScriptId string false カウンター上昇時 に実行されるスクリプト のGRN
counterIncrementDoneTriggerScriptId string false カウンター上昇完了時 に実行されるスクリプト のGRN
counterIncrementDoneTriggerQueueNamespaceId string false カウンター上昇完了時 にジョブが登録されるネームスペース のGRN
receiveRewardsTriggerScriptId string false 報酬受け取り時 に実行されるスクリプト のGRN
receiveRewardsDoneTriggerScriptId string false 報酬受け取り完了時 に実行されるスクリプト のGRN
receiveRewardsDoneTriggerQueueNamespaceId string false 報酬受け取り完了時 にジョブが登録されるネームスペース のGRN
queueNamespaceId string true 報酬付与処理をジョブとして追加するキューネームスペース のGRN
keyId string true 報酬付与処理のスタンプシートで使用する暗号鍵GRN
completeNotification NotificationSetting false ミッションのタスクを達成したときのプッシュ通知
logSetting LogSetting false ログの出力設定
パラメータ データ型 説明
item Namespace 更新したネームスペース

GS2-Script トリガーイベント

MissionCompleteTriggerScript

スクリプトの雛形

namespace = args['namespace']  -- type: Namespace
mission_group_model = args['missionGroupModel']  -- type: MissionGroupModel
mission_task_model = args['missionTaskModel']  -- type: MissionTaskModel
old_complete = args['oldComplete']  -- type: Complete
new_complete = args['newComplete']  -- type: Complete

result = {
    permit=  -- type: boolean
}

ミッション達成時 に実行されるGS2-Script

パラメータ データ型 説明
namespace Namespace ネームスペース
missionGroupModel MissionGroupModel ミッショングループ
missionTaskModel MissionTaskModel ミッションタスク
oldComplete Complete 達成状況
newComplete Complete 達成状況
パラメータ データ型 説明
permit boolean ミッション達成 を許可するか

MissionCompleteDoneTriggerScript

スクリプトの雛形

namespace = args['namespace']  -- type: Namespace
mission_group_model = args['missionGroupModel']  -- type: MissionGroupModel
mission_task_model = args['missionTaskModel']  -- type: MissionTaskModel
complete = args['complete']  -- type: Complete

result = {
}

ミッション達成完了時 に実行されるGS2-Script

パラメータ データ型 説明
namespace Namespace ネームスペース
missionGroupModel MissionGroupModel ミッショングループ
missionTaskModel MissionTaskModel ミッションタスク
complete Complete 達成状況
パラメータ データ型 説明

CounterIncrementTriggerScript

スクリプトの雛形

namespace = args['namespace']  -- type: Namespace
counter_model = args['counterModel']  -- type: CounterModel
old_counter = args['oldCounter']  -- type: Counter
new_counter = args['newCounter']  -- type: Counter

result = {
    permit=  -- type: boolean
}

カウンター上昇時 に実行されるGS2-Script

パラメータ データ型 説明
namespace Namespace ネームスペース
counterModel CounterModel カウンターの種類
oldCounter Counter カウンター
newCounter Counter カウンター
パラメータ データ型 説明
permit boolean カウンター上昇 を許可するか

CounterIncrementDoneTriggerScript

スクリプトの雛形

namespace = args['namespace']  -- type: Namespace
counter_model = args['counterModel']  -- type: CounterModel
counter = args['counter']  -- type: Counter

result = {
}

カウンター上昇完了時 に実行されるGS2-Script

パラメータ データ型 説明
namespace Namespace ネームスペース
counterModel CounterModel カウンターの種類
counter Counter カウンター
パラメータ データ型 説明

ReceiveRewardsTriggerScript

スクリプトの雛形

namespace = args['namespace']  -- type: Namespace
mission_group_model = args['missionGroupModel']  -- type: MissionGroupModel
mission_task_model = args['missionTaskModel']  -- type: MissionTaskModel
old_complete = args['oldComplete']  -- type: Complete
new_complete = args['newComplete']  -- type: Complete

result = {
    permit=  -- type: boolean
}

報酬受取時 に実行されるGS2-Script

パラメータ データ型 説明
namespace Namespace ネームスペース
missionGroupModel MissionGroupModel ミッショングループ
missionTaskModel MissionTaskModel ミッションタスク
oldComplete Complete 達成状況
newComplete Complete 達成状況
パラメータ データ型 説明
permit boolean カウンター上昇 を許可するか

ReceiveRewardsDoneTriggerScript

スクリプトの雛形

namespace = args['namespace']  -- type: Namespace
mission_group_model = args['missionGroupModel']  -- type: MissionGroupModel
mission_task_model = args['missionTaskModel']  -- type: MissionTaskModel
complete = args['complete']  -- type: Complete

result = {
}

報酬受取完了時 に実行されるGS2-Script

パラメータ データ型 説明
namespace Namespace ネームスペース
missionGroupModel MissionGroupModel ミッショングループ
missionTaskModel MissionTaskModel ミッションタスク
complete Complete 達成状況
パラメータ データ型 説明

マスターデータフォーマット

CurrentMissionMaster

{
  "version": "2019-05-28"
  "groups": [
    {
      "missionGroupId": "[string] ミッショングループ",
      "name": "[string] グループ名",
      "metadata": "[string] メタデータ",
      "completeNotificationNamespaceId": "[string] ミッションを達成したときの通知先ネームスペース のGRN",
      "tasks": [
        {
          "missionTaskId": "[string] ミッションタスク",
          "name": "[string] タスク名",
          "metadata": "[string] メタデータ",
          "counterName": "[string] カウンター名",
          "resetType": "[string] リセットタイミング",
          "targetValue": "[long] 目標値",
          "challengePeriodEventId": "[string] 達成報酬の受け取り可能な期間を指定するイベントマスター のGRN",
          "premiseMissionTaskName": "[string] このタスクに挑戦するために達成しておく必要のあるタスクの名前"
        }
      ]
    }
  ],
  "counters": [
    {
      "counterId": "[string] カウンターの種類",
      "name": "[string] カウンター名",
      "metadata": "[string] メタデータ",
      "challengePeriodEventId": "[string] カウントアップ可能な期間を指定するイベントマスター のGRN"
    }
  ]
}

現在有効なミッション

エクスポートしたマスターデータを、現在有効なミッションとしてインポートして使用します。

GS2-Mission の制限・制約

利用いただくにあたって注意いただく制限・制約はありません