- 過去 2 週間にログインしたすべてのプレイヤーに特別なニュー イヤー ギフトを与える。
- 先週お金を使ったプレイヤーに (支出階層に基づいて) 報酬を与える。使った金額が大きいほど、より価値のあるギフトを与える。
- 最近のゲーム バグの影響を受けたすべてのプレイヤーの破損したプレイヤー状態を修復する。
前提条件
このチュートリアルを実行するには、Unicorn Battle Sample App をインストールする必要があります。詳細については、ブログ を参照するか、直接 GitHub リポジトリ にアクセスし、そこに記載されている指示に従ってください。

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

ステップ 2 - このセグメントのタスクを作成する
- Segments タブを選択します。
- 次に RUN TASK … を選択します。


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

ステップ 4 - タスクを監視する
Tasks ビューには実行中のタスクが表示されます。最初、タスクのステータスは InProgress ですが、セグメントが小さいため、すぐに Succeeded に変わります。
- 処理されたプレイヤーの数。
- タスクの開始時刻。
- 完了までにかかった時間。
- 起動時に持っていたパラメーター。
- 誰が実行したか。
- 手動でスケジュールされたかどうかなど。

- Players タブに移動します。
- Player を選択します。
- 次に Event History タブを選択します。
- リストの最新イベントは player_virtual_currency_balance_changed である必要があり、Player の gems が 20 増加していることが表示されるはずです。
このイベントを展開して詳細を表示できます。

次のステップ
このチュートリアルでは、セグメント内のすべてのプレイヤーに対してアクションを実行するために必要な手順について紹介しましたが、タスクでできることは他にもたくさんあります。 以下に、試すことができる他のアイデアをいくつか紹介します…タスクをスケジュールする
タスクを手動で実行する必要はありません。タスクを 定期的に 自動的に 実行するようにスケジュールできます。たとえば、過去 24 時間にゲームをプレイしたすべてのプレイヤーのセグメントを作成し、そのプレイヤーに毎日 XP ブーストを与えるスケジュール タスクを毎日実行できます。

各プレイヤーに対して CloudScript を実行する
一括アクションの最も強力な用途は、各プレイヤーに対して任意の CloudScript 関数を実行することです。この CloudScript は、PlayFab サーバー API が実行できることは何でも実行できます。アイテムや通貨の付与、プレイヤー データの検査と変更などです。 たとえば、毎週リセットされるイベント リーダーボードがあり、リセット前の 最後の イベントの値に基づいてすべてのプレイヤーを回って報酬を与えたいとします。以下は Unicorn Battle を使用した例です。-
毎週リセットされ、集計方法 Last を使用する新しい統計 Event_QuestsCompleted を作成します。

-
Total_QuestsCompletedが変更されるたびに、このEvent_QuestsCompleted統計をインクリメントする新しい PlayStream アクションを作成します。
- Bulk Action タスクによって呼び出される CloudScript 関数を記述します。この関数はプレイヤーを回って、最後の値に基づいて報酬を与えます。
-
新しい CloudScript バージョンを Live に設定し、すべてのプレイヤーに対して
GiveTieredReward関数を呼び出す新しいタスクを作成します。タスクを 保存 して 実行 することを忘れないでください。
-
このタスクからのイベントが PlayStream イベント デバッガーに表示されることに気付くはずです。

-
(タイム スタンプを選択して) 実行された CloudScript イベントによってトリガーされた任意のプレイヤー アクションを選択でき、各プレイヤーの CloudScript 実行の詳細な結果を確認できます。これには、CloudScript 実行時のプレイヤー プロファイルのスナップショットなどの有用な診断情報が含まれます。

