スケジュールされたタスクのクイックスタート

このクイックスタートでは、スケジュールに基づいて実行されるタスクを作成する方法について説明します。 スケジュールされたタスクを使用して自動化できるゲーム操作ルーチンには、次のようなものがあります。

  • その日の時間に従って、ストア内の価格を変更します。
  • 現在のイベントに対する変更を反映するように、タイトルデータを更新します。
  • 仮想通貨を1日1回、ゲームの経済に挿入します。

このクイックスタートで使用されている例では、 rareDropRateという名前のゲーム変数を、12:00 UTC のタイトルデータで、週末のみに変更する方法について説明します。

手順 1-CloudScript を準備する

ゲームマネージャーで、次の操作を行います。

  • 左側のメニューで [オートメーション] を選択します。
  • [ Cloudscript のリビジョン] タブで、次のコードスニペットadjustRareDropRateに示されているようSetTitleDataに、API への単純な呼び出しで呼び出される新しい cloudscript 関数を追加します。

注意

シャープ eyed については、ここでは問題ありません。 ゲームで実際に使用されるように、新しいリビジョンを展開してください。

Cloudscript の使い方の詳細については、「 cloudscript quickstart」および「メソッドのExecuteCloudScriptのドキュメントを参照してください。

handlers.adjustRareDropRate = function(args) {
    // Tutorial demo CloudScript
    serverAPI.SetTitleData({
        "Key": "rareDropRate",
        "Value": args.dropRate
    });
}

ゲームマネージャー-CloudScript-新しいリビジョンの展開

手順 2-スケジュールされたタスクを作成する

次に、左側のメニューから [サーバー ] を選択します。

  • [スケジュールされたタスク] タブに移動します。
  • 画面の右上隅にある [新しいタスク] を選択します。
  • これにより、[タスクの作成] ビューが表示されます。
  • [タスクの種類] フィールドで、[ Cloudscript 関数の実行] を選びます。
  • その下で、現在展開されている CloudScript のリビジョンから関数を選択し、渡す引数を指定できます。
  • 前の手順で記述したAdjustRareDropRate ハンドラーを選択します。

このタスクのスケジュールを設定するには、次の操作を行います。

  • スケジュールヘッダーの下にあるスケジュール (UTC) を選択します。
  • 簡単なスケジュールビルダーを使用すると、タスクを実行するタイミング (1 時間、1日、週など) を選ぶことができます。
  • この例では、タスクを実行する曜日を指定できる高度なスケジュールを希望しています。
  • そのため、[ CRON 式] を選びます。

高度なカスタマイズが可能な Cron 式は、非常に複雑なスケジュールを作成できますが、現時点では、1時間の5分のマークで発生するスケジュールのみを許可することに注意する必要があります。

たとえば、タスクを1時間の5、10、25、または = 中位数分で実行するように指定することもできますが、1時間の第3、11、または46th 分で実行するタスクを指定することはできません

Cron 式の詳細については、「 crontab 」を参照してください。

この場合、タスクは土曜日と日曜日で 12:00 UTC で実行する必要があります。これは、 00 12 * * 0、6 (0 分後の1分間、日曜日、土曜日) になります。

最後に、新しいタスクを保存したことを確認してから、次の手順に進んでください。

ゲームマネージャー-タスク-新しいスケジュールされたタスク

手順 3-タスクをテストする

[タスク] ビュー ([サーバー -> ]タスク) で、新しく作成されたタスクの次の実行が、次の土曜日であるように表示されていることを確認できます。

したがって、現在火曜日である場合は、次のスケジュールされたランタイムは4 日後になります。 今すぐタスクをテストするには、[まれなドロップレートの調整] タスクを選択し、[タスクの実行] を選択します。

ゲームマネージャー-タスク-タスクを実行する

手順 4-テストの実行結果を確認する

申し訳ございませんが、タスクの実行に失敗しました。 タスクインスタンスを選択して、問題が発生したことを確認します。

ゲームマネージャー-タスク-最近のタスク実行-失敗

タスクインスタンスの詳細ビューには、タスクが失敗した理由に関する診断情報が表示されます。

この場合は、 Serverapi の Setタイトルデータが正しくないことを示しています。 実際にはサーバである必要があります。Setタイトルデータ(説明については、「中間:カスタム cloudscriptチュートリアルの作成」の「サーバー api の呼び出し」セクションを参照してください)。

タスクインスタンスの詳細ビューには、[開始] 時刻、[終了時刻]、呼び出された関数、渡される引数、完全な cloudscript の実行結果など、他にも重要な情報が表示されます。

ゲームマネージャー-タスクの Tas インスタンスの詳細

手順 5-再テスト (正常に完了)

手順4で見つけたエラーを解決してください。 適切なコードスニペットを次に示します。

handlers.adjustRareDropRate = function(args) {
    // Tutorial demo CloudScript
    server.SetTitleData({
        "Key": "rareDropRate",
        "Value": args.dropRate
    });
}

手順3を繰り返すと、最終的なテストの実行が正常に完了します。

ゲームマネージャー-タスク-最近のタスク実行-成功

成功を確認するには:

  • 左側のメニューの [コンテンツ] を選択します。
  • [タイトルデータ] タブに移動します。
  • タイトルデータエントリが実際に設定されていることを確認します。

ゲームマネージャー-コンテンツ-タイトルデータ