跳转到主要内容
本教程将引导你完成创建任务的所需步骤,以便对细分中的每个玩家执行一个或多个操作。 任务是任何游戏实时运营的重要组成部分。它们为你提供了一套与玩家互动的强大工具。 示例可能包括:
  • 向过去 2 周内登录过的所有玩家赠送特别的新年礼物。
  • 奖励上周花过钱的玩家(基于消费等级),花的钱越多,礼物越贵重。
  • 为受最近游戏 bug 影响的所有玩家修复损坏的玩家状态。
在本教程中,我们将基于 Unicorn Battle 示例应用,向所有 XP 超过 2,725 的玩家发放特别礼物。

先决条件

你需要安装 Unicorn Battle 示例应用才能运行本教程。你可以在我们的博客中了解更多信息,或直接前往 GitHub 存储库并按照其中的说明进行操作。 Unicorn Battle - 启动屏幕 你需要进行多场战斗,以便将角色升级到至少 2 级,达到 2,725 XP 点即可升至该等级。 Unicorn Battle - 2 级

步骤 1 - 创建细分

第一步是创建细分,用于定义将受此操作影响的玩家组。在本例中,我们需要创建 High XP Segment,其定义为所有 XP 超过 2,725 的玩家:
  • 从左侧菜单中选择 PlayStream。
  • 选择 Segments 选项卡。
  • 然后选择 New Segment 按钮。
  • 将 Segment Name 设置为:High XP Players。
  • 将其定义为 Player,其中名为 Total_XP Gained 的 Statistic Value 大于 2725。
注意: 当前的计划任务系统每个细分每秒可以处理 10-15 个任务。设计细分时,请提前规划细分的规模以及任务执行将运行多长时间。任务的运行时长没有限制,但如果任务需要在特定时间范围内执行,则需要适当调整细分的规模。
Game Manager - PlayStream - 细分 - High XP Players

步骤 2 - 为此细分创建任务

  • 选择 Segments 选项卡。
  • 然后选择 RUN TASK …
Game Manager - PlayStream - 细分 - 运行任务 这将转到 Servers->Tasks 选项卡中的 Create Task 视图,并根据所选细分预先填充各个字段。 Game Manager - 服务器 - 任务 - 创建任务

步骤 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 - 服务器 - 任务 - 添加操作 - 保存并运行

步骤 4 - 监视任务

Tasks 视图将显示正在运行的任务。最初任务状态为 InProgress,但由于细分很小,它会很快变为 Succeeded。 Game Manager - 服务器 - 任务 - 任务成功 现在,我们来查看任务执行详细信息。在之前运行的 Tasks 列表中选择已完成的任务。你将看到重要信息,例如:
  • 处理了多少玩家。
  • 任务何时开始。
  • 完成所用的时间。
  • 启动时的参数。
  • 运行者。
  • 是否为手动计划等。
如果任务仍在进行中,你可以在 Task Instance Detail 视图中查看进度,并查看预计剩余时间。 Game Manager - 服务器 - 任务 - 任务实例详细信息 若要验证任务是否成功运行:
  • 导航到 Players 选项卡。
  • 选择你的 Player。
  • 然后选择 Event History 选项卡。
  • 列表中最近的事件应为 player_virtual_currency_balance_changed,它应显示你的玩家的宝石增加了 20。
你可以展开此事件以查看详细信息。
Game Manager - 事件历史记录 - 事件详细信息

后续步骤

本教程介绍了对细分中的每个玩家执行操作所涉及的步骤,但你还可以使用任务执行更多操作。 以下是你可以尝试的其他一些想法…

计划任务

你无需手动运行任务,可以将任务计划为按定期方式自动运行。例如,你可以创建过去 24 小时内玩过游戏的所有玩家的细分,然后每天运行计划任务,为这些玩家提供 XP 提升。 Game Manager - PlayStream - 细分 - 24 小时内的玩家 Game Manager - 服务器 - 任务 - 计划任务

为每个玩家运行 CloudScript

批量操作最强大的用途是为每个玩家运行任意 CloudScript 函数。此 CloudScript 可以执行 PlayFab 服务器 API 能执行的任何操作,例如发放物品、货币,检查和更改玩家数据等。 例如,假设你有一个每周重置的活动排行榜,并且你希望遍历所有玩家,并根据重置前最后一次活动的值发放奖励。下面提供的示例使用的是 Unicorn Battle。
  1. 创建一个新统计信息 Event_QuestsCompleted,它每周重置并使用聚合方法 Last。 玩家 - 排行榜 - 编辑排行榜
  2. 创建一个新的 PlayStream 操作,每当 Total_QuestsCompleted 更改时,该操作都会递增此 Event_QuestsCompleted 统计信息。 PlayStream - 事件操作 - 编辑事件操作
  3. 编写一个由批量操作任务调用的 CloudScript 函数,该函数将遍历玩家并根据最后一个值发放奖励。
  1. 将新的 CloudScript 版本设置为 Live,并创建一个为所有玩家调用 GiveTieredReward 函数的新任务。不要忘记保存并运行任务。 服务器 - 任务 - 新建计划任务
  2. 你应该会注意到此任务的事件出现在 PlayStream 事件调试器中。 PlayStream - 仪表板 - 事件调试器
  3. 你可以选择任何玩家触发的操作执行 CloudScript 事件(通过选择时间戳),并查看每个玩家 CloudScript 执行的详细结果。这包括有用的诊断信息,例如 CloudScript 执行时玩家配置文件的快照。 PlayStream - 仪表板 - 原始事件 JSON
最后修改于 2026年10月19日