Skip to main content
このチュートリアルでは、あるセグメント内のすべてのプレイヤーに対して 1 つまたは複数のアクションを実行するタスクを作成するために必要な手順について説明します。 タスクは、あらゆるゲームのライブ運用における重要な部分です。プレイヤーとのエンゲージメントのための強力なツール セットを提供します。 例:
  • 過去 2 週間にログインしたすべてのプレイヤーに特別なニュー イヤー ギフトを与える。
  • 先週お金を使ったプレイヤーに (支出階層に基づいて) 報酬を与える。使った金額が大きいほど、より価値のあるギフトを与える。
  • 最近のゲーム バグの影響を受けたすべてのプレイヤーの破損したプレイヤー状態を修復する。
このチュートリアルでは、Unicorn Battle Sample App に基づき、2,725 XP を超えるすべてのプレイヤーに特別なギフトを付与します。

前提条件

このチュートリアルを実行するには、Unicorn Battle Sample App をインストールする必要があります。詳細については、ブログ を参照するか、直接 GitHub リポジトリ にアクセスし、そこに記載されている指示に従ってください。 Unicorn Battle - Launch Screen キャラクターを少なくとも レベル 2 (2,725 XP ポイントで到達) にレベル アップするために、複数の バトルをプレイしてください。 Unicorn Battle - Level 2

ステップ 1 - セグメントを作成する

最初のステップは、このアクションの影響を受けるプレイヤーのグループを定義するセグメントを作成することです。この場合、2,725 XP を超えるすべてのプレイヤーとして定義された High XP Segment を作成する必要があります:
  • 左のメニューから PlayStream を選択します。
  • Segments タブを選択します。
  • 次に、New Segment ボタンを選択します。
  • Segment NameHigh XP Players にします。
  • Player として定義し、Total_XP Gained という Statistic Value2725 より大きいと設定します。
注: 現在のスケジュール タスク システムは、セグメントごとに 1 秒間に 10 ~ 15 個のタスクを処理できます。セグメントを設計する際は、その大きさとタスクの実行時間を計画してください。タスクの実行時間に制限はありませんが、タスクを特定の時間枠内で実行する必要がある場合は、セグメントを適切なサイズにする必要があります。
Game Manager - PlayStream - Segments - High XP Players

ステップ 2 - このセグメントのタスクを作成する

  • Segments タブを選択します。
  • 次に RUN TASK … を選択します。
Game Manager - PlayStream - Segments - Run Task これにより、Servers->Tasks タブの Create Task ビューに移動し、選択したセグメントに基づいてさまざまなフィールドが事前に入力されます。 Game Manager - Servers - Task - Create Task

ステップ 3 - タスクにアクションを追加する

次に、タスクのセットアップを完了できます。
  • 名前を Reward High XP Players に変更します。
  • 次の説明を追加します: レベル 2 以上のプレイヤーにギフトを与える
  • ADD ACTION を選択します。
    • 提供されるフィールドに Grant virtual currency と入力します。
    • Virtual Currency コード: GM (Gems の略)。
    • 金額: 20
  • スケジューリングは今のところ Manually のままにしておきます。
  • タスクを実行するために SAVE AND RUN ボタンを選択します。
Game Manager - Servers - Task - Add Action - Save and Run

ステップ 4 - タスクを監視する

Tasks ビューには実行中のタスクが表示されます。最初、タスクのステータスは InProgress ですが、セグメントが小さいため、すぐに Succeeded に変わります。 Game Manager - Servers - Tasks - Task Succeeded 次に、タスクの実行詳細を確認しましょう。以前に実行された Tasks リストで完了したタスクを選択します。次のような重要な情報が表示されます:
  • 処理されたプレイヤーの数。
  • タスクの開始時刻。
  • 完了までにかかった時間。
  • 起動時に持っていたパラメーター。
  • 誰が実行したか。
  • 手動でスケジュールされたかどうかなど。
タスクがまだ進行中の場合は、Task Instance Detail ビューで進行状況を確認し、残り時間の見積もりを確認できます。 Game Manager - Servers - Tasks - Task Instance Details タスクが正常に実行されたことを確認するには:
  • Players タブに移動します。
  • Player を選択します。
  • 次に Event History タブを選択します。
  • リストの最新イベントは player_virtual_currency_balance_changed である必要があり、Player の gems が 20 増加していることが表示されるはずです。
このイベントを展開して詳細を表示できます。
Game Manager - Event History - Event Detail

次のステップ

このチュートリアルでは、セグメント内のすべてのプレイヤーに対してアクションを実行するために必要な手順について紹介しましたが、タスクでできることは他にもたくさんあります。 以下に、試すことができる他のアイデアをいくつか紹介します…

タスクをスケジュールする

タスクを手動で実行する必要はありません。タスクを 定期的に 自動的に 実行するようにスケジュールできます。たとえば、過去 24 時間にゲームをプレイしたすべてのプレイヤーのセグメントを作成し、そのプレイヤーに毎日 XP ブーストを与えるスケジュール タスクを毎日実行できます。 Game Manager - PlayStream - Segments - Players in 24 hours Game Manager - Servers - Tasks - Scheduled Task

各プレイヤーに対して CloudScript を実行する

一括アクションの最も強力な用途は、各プレイヤーに対して任意の CloudScript 関数を実行することです。この CloudScript は、PlayFab サーバー API が実行できることは何でも実行できます。アイテムや通貨の付与、プレイヤー データの検査と変更などです。 たとえば、毎週リセットされるイベント リーダーボードがあり、リセット前の 最後の イベントの値に基づいてすべてのプレイヤーを回って報酬を与えたいとします。以下は Unicorn Battle を使用した例です。
  1. 毎週リセットされ、集計方法 Last を使用する新しい統計 Event_QuestsCompleted を作成します。 Players - Leaderboards - Edit Leaderboard
  2. Total_QuestsCompleted が変更されるたびに、この Event_QuestsCompleted 統計をインクリメントする新しい PlayStream アクションを作成します。 PlayStream - Event Actions - Edit Event Action
  3. Bulk Action タスクによって呼び出される CloudScript 関数を記述します。この関数はプレイヤーを回って、最後の値に基づいて報酬を与えます。
  1. 新しい CloudScript バージョンを Live に設定し、すべてのプレイヤーに対して GiveTieredReward 関数を呼び出す新しいタスクを作成します。タスクを 保存 して 実行 することを忘れないでください。 Servers - Tasks - New Scheduled Task
  2. このタスクからのイベントが PlayStream イベント デバッガーに表示されることに気付くはずです。 PlayStream - Dashboard - Event Debugger
  3. (タイム スタンプを選択して) 実行された CloudScript イベントによってトリガーされた任意のプレイヤー アクションを選択でき、各プレイヤーの CloudScript 実行の詳細な結果を確認できます。これには、CloudScript 実行時のプレイヤー プロファイルのスナップショットなどの有用な診断情報が含まれます。 PlayStream - Dashboard - Raw Event JSON
最終更新日 2026年8月31日