跳轉到主要內容
本教學課程將逐步引導您建立工作,以對區段中的每位玩家執行一或多個動作。 工作是任何遊戲即時營運中不可或缺的一部分。它們為您提供一組強大的工具,用來與玩家互動。 範例可能包括:
  • 為過去 2 週內登入的所有玩家送上特別的新年禮物。
  • 獎勵上週有消費的玩家 (依據消費層級),消費金額越多,禮物就越有價值。
  • 為所有受到最近遊戲錯誤影響的玩家修正損毀的玩家狀態。
在本教學課程中,我們將以 Unicorn Battle 範例應用程式為基礎,為所有超過 2,725 XP 的玩家授與一份特別禮物。

必要條件

您需要安裝 Unicorn Battle 範例應用程式才能執行本教學課程。您可以在我們的部落格中深入了解,或直接前往 GitHub 存放庫並依照其中的指示進行。 Unicorn Battle - 啟動畫面 您需要進行數場戰鬥,才能將角色升級到至少 2 級,也就是達到 2,725 XP 點數時。 Unicorn Battle - 2 級

步驟 1 - 建立區段

第一步是建立區段,定義將受到此動作影響的玩家群組。在此案例中,我們需要建立 High XP Segment,其定義為所有超過 2,725 XP 的玩家:
  • 從左側功能表中選取 PlayStream。
  • 選擇 Segments 索引標籤。
  • 然後選取 New Segment 按鈕。
  • 將 Segment Name 設為:High XP Players。
  • 將其定義為 Player,其中名為 Total_XP Gained 的 Statistic Value 大於 2725。
注意: 目前的排程工作系統每個區段每秒可處理 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
  • 新增此描述:Give a gift to Players who are level 2 or higher。
  • 選取 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 寶石增加了 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. 建立新的統計資料 Event_QuestsCompleted,每週重設並使用彙總方法 Last。 Players - Leaderboards - Edit Leaderboard
  2. 建立新的 PlayStream 動作,每當 Total_QuestsCompleted 變更時,就遞增此 Event_QuestsCompleted 統計資料。 PlayStream - Event Actions - Edit Event Action
  3. 撰寫要由大量動作工作呼叫的 CloudScript 函式,該函式會逐一檢查玩家,並根據最後的值給予獎勵。
  1. 將新的 CloudScript 版本設為 Live,並建立一個為所有玩家呼叫 GiveTieredReward 函式的新工作。別忘了 Save 並 Run 該工作。 Servers - Tasks - New Scheduled Task
  2. 您應該會注意到此工作的事件出現在 PlayStream 事件偵錯工具中。 PlayStream - Dashboard - Event Debugger
  3. 您可以選取任何玩家觸發的動作已執行 CloudScript 事件 (透過選取時間戳記),並查看每位玩家 CloudScript 執行的詳細結果。這包括實用的診斷資訊,例如 CloudScript 執行當時的玩家設定檔快照。 PlayStream - Dashboard - Raw Event JSON
最後修改於 2026年10月6日