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

手順 1 - セグメントを作成する
最初の手順は、このアクションの影響を受けるプレイヤーのグループを定義するセグメントを作成することです。この場合、2,725 XP を超えるすべてのプレイヤーとして定義される High XP セグメント を作成する必要があります:- 左側のメニューから 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 に変更します。
- 説明として Give a gift to Players who are level 2 or higher を追加します。
- [ADD ACTION] を選択します。
- 表示されたフィールドに Grant virtual currency と入力します。
- [Virtual Currency] コード: GM (Gems の略)。
- Amount: 20
- スケジュールは、今のところ [Manually] のままにします。
- [SAVE AND RUN] ボタンを選択してタスクを実行します。

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

- [Players] タブに移動します。
- 対象の プレイヤー を選択します。
- 次に [Event History] タブを選択します。
- 一覧の最新のイベントは player_virtual_currency_balance_changed になっているはずで、プレイヤー のジェムが 20 増加したことが示されています。
このイベントを展開すると、詳細を確認できます。

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

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

-
Total_QuestsCompletedが変更されるたびにこのEvent_QuestsCompleted統計をインクリメントする、新しい PlayStream アクションを作成します。
- 一括アクション タスクによって呼び出される CloudScript 関数を作成します。この関数は、プレイヤーを順に処理し、最後の値に基づいて報酬を与えます。
-
新しい CloudScript のバージョンを Live に設定し、すべてのプレイヤーに対して
GiveTieredReward関数を呼び出す新しいタスクを作成します。タスクの [Save] と [Run] を忘れずに行ってください。
-
このタスクからのイベントが PlayStream イベント デバッガーに表示されることがわかります。

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

